Cara Menghitung subnet Mask



Subnet mask adalah istilah teknologi informasi dalam bahasa Inggris yang mengacu kepada angka biner 32 bit yang digunakan untuk membedakan network ID dengan host ID, menunjukkan letak suatu host, apakah berada di jaringan lokal atau jaringan luar.
RFC 950 mendefinisikan penggunaan sebuah subnet mask yang disebut juga sebagai sebuah address mask sebagai sebuah nilai 32-bit yang digunakan untuk membedakan network identifier dari host identifier di dalam sebuah alamat IP. Bit-bit subnet mask yang didefinisikan, adalah sebagai berikut

Semua bit yang ditujukan agar digunakan oleh network identifier diset ke nilai 1.
Semua bit yang ditujukan agar digunakan oleh host identifier diset ke nilai 0.
Setiap host di dalam sebuah jaringan yang menggunakan TCP/IP membutuhkan sebuah subnet mask meskipun berada di dalam sebuah jaringan dengan satu segmen saja. Entah itu subnet mask default (yang digunakan ketika memakai network identifier berbasis kelas) ataupun subnet mask yang dikustomisasi (yang digunakan ketika membuat sebuah subnet atau supernet) harus dikonfigurasikan di dalam setiap node TCP/IP.
Misalkan anda memiliki IP adress 192.168.10.0 dan Subnet mask 255.255.255.128
Ubah angka 128 ke bilangan biner dengan cara sebagai berikut
128 : 2 = 64 sisa 0
64  : 2 = 32 sisa 0
32  : 2 = 16 sisa 0
16  : 2 =  8 sisa 0
8   : 2 =  4 sisa 0
4   : 2 =  2 sisa 0
2   : 2 =  1 Sisa 0
Hasil akhir 1 tidak dapat dibagi menjadi 1
hasil bilangan binernya adalah 10000000
Banyaknya subnet yang tersedia dari rumus 2^x
X adalah jumlah dari angka 1, karena berdasarkan angka binner yang ada jumlah 1=1
maka 2^1 = 2 maka jumlah subnet maksnya adalah 2
Nah sekarang kita harus tau bila tersedia hanya 2 subnet maks maka kita harus mencari berapa subnet maks tersebut?
Dari Subnet maks yang terbesar adalah 256 maka dihasilkan 256 – 128 = 128.
Maka subnet masknya adalah 0 dan 128
Contoh lain, bila ditetapkan subnet masknya 255.255.255.192
Jumlah subnet maks dapt dihitung
192 : 2 = 96 sisa 0
96  : 2 = 48 sisa 0
48  : 2 = 24 sisa 0
24  : 2 = 12 sisa 0
12  : 2 =  6 sisa 0
6   : 2 =  3 sisa 0
3   : 2 =  1 sisa 1
maka bilangan binnernya adalah 11000000
karena angka 1 ada 2 maka 2^2 = 4
Dan subnet yang dapat digunakan adalah 256 – 192 = 64, maka Subnetnya adalah 0, 64, 128, 192 artinya subnetnya adalah
255.255.255.0
255.255.255.64
255.255.255.128
255.255.255.192
Jumlah Host per Subnet = 2^y – 2, dimana y adalah adalah kebalikan dari x yaitu banyaknya binari 0 pada oktet terakhir subnet. Jadi jumlah host per subnet adalah 2^6 – 2 = 62 host

credit goes to :
http://dunovteck.wordpress.com/2011/10/31/cara-menghitung-subnet-mask/

Tips Foto Levitasi




Foto levitasi tanpa editing dilakukan oleh model yang melompat dan membuat pose seolah-olah ia tampak melayang.

Tips untuk Model

• Model yang sedang berlevitasi menuju ke suatu arah, biasanya menekuk kedua kakinya ke belakang (sekitar 45 derajat) sesaat setelah melompat (air time). Model yang sedang berlevitasi di tempat, biasanya berpose dengan kaki lurus ke bawah. Referensi: http://yowayowacamera.com

• Foto levitasi bisa diaplikasikan ke berbagai tema dengan mempergunakan aksesoris yang mendukung. Umumnya sih berlevitasi memakai sapu,vacum cleaner, payung, buku. Ayo coba tema yang lain! Boleh berlevitasi sambil angkat TV atau bahkan kulkas kalau kuat.

• Fotografi levitasi berbeda dengan Jump Shot. Levitasi harus memperlihatkan model yang seakan melayang alami dengan ekspresi tanpa beban. Berekspresilah sewajarnya sesuai dengan kegiatan yang sedang dilakukan. Lebih bagus jika model tidak melihat ke kamera (kesan candid).

• Cari lokasi foto yang unik. Keren juga kalau bikin foto levitasi sambil belanja di pasar, waktu memasak di dapur, atau di pinggir jalan waktu mau naik bajaj. Mau levitasi di kuburan sambil ditemenin mbak kunti yang juga demen levitasi juga boleh.

• Gunakan peniti, pin, sabuk, double tape atau alat penjepit baju lain supaya baju tampak menggembung atau tersingkap saat model melompat untuk mendapatkan kesan levitasi yang sempurna.

• Kamu bisa menggunakan hair spray/gel agar saat melompat, rambut tidak terlihat berantakan. Bisa juga rambut diikat, memakai bando, atau topi. Foto levitasi yang sempurna harus memperlihatkan rambut yang tetap rapi.

• Stay safe! Jangan memaksakan diri melompat jika sudah capek & cari lokasi yang aman buat melompat. Jangan diatas sumur yaa.

Tips untuk fotografer

• Foto levitasi tanpa editing dapat  dilakukan dengan kamera professional (DSLR) maupun kamera biasa (kamera ponsel, pocket cam)

• Foto levitasi dengan kamera DSLR, bisa memanfaatkan Burst Mode (Continuous Shooting). Dengan sekali menekan tombol shutter, langsung menghasilkan beberapa jepretan sekaligus. Foto-foto hasil jepretan dengan Burst Mode dari kamera DSLR dapat dipilih mana yang paling pas mendapatkan moment “melayang”

• Foto levitasi dapat dilakukan dengan kamera non-professional atau kamera ponsel, namun lebih tricky karena mengandalkan ketepatan menekan tombol rana saat model melompat.

• Pastikan cahaya (matahari) cukup, agar bayangan terbentuk sehingga efek model sedang melayang lebih terlihat.

• Gunakan shutter speed tinggi untuk menangkap model yang melayang dengan lebih fokus (Frozen Moment). Cahaya yang cukup sangat berperan untuk mendapatkan shutter speed tinggi. Shutter Speed di atas 1/500 lebih baik.

• Untuk kamera saku (Pocket Cam) bisa memanfaatkan Sport Mode untuk mendapatkan shutter speed tinggi.

• Untuk kamera ponsel karena tidak ada setting untuk shutter speed, sebaiknya melakukan foto levitasi outdoor dan memanfaatkan cahaya matahari langsung agar mendapatkan high shutter speed.

• Gunakan low angle, agar model terlihat tinggi melayang.

• Bisakah memfoto diri sendiri sedang levitasi? Bisa! Gunakan Tripod, dan set timer di kamera. Loncatlah sebanyak mungkin saat mendekati waktutimer! Ini tapi pakai untung-untungan ya!

credit to : http://levitasihore.tumblr.com/tips

Another View of Night




Factorial using Recursion Method

#include <iostream>
#include <conio.h>

using namespace std;

int calc (int x)
{
if (x==1)
{
return 1;
}
else
{
return (x * calc (x-1));
}
}

class factorial
{
private :
int number,fact,temp;

public :
void input ();
void proses ();
void output ();
}

int main ()
{
factorial f;

f.input ();
f.proses ();
f.output ();

getche ();
return 0;
}

void factorial :: input ()
{
cout << "input number = ";
cin >> number;
temp = number;
}
void factorial :: proses ()
{
fact = calc (temp);
}
void factorial :: output ()
{
cout << "factorial of " << number << " = " << fact;
}

Armstrong Number

#include <iostream>
#include <conio.h>

using namespace std;

class Armstrong ()
{
private :
int number,temp,carry,cek;

public :
void input ();
void proses ();
void output ();

};

int main ()
{
armstrong a;
a.input ();
a.proses ();
a.output ();

getche ();
return 0;
}

void armstrong :: input ()
{
cout << "input number = ";
cin >> number;
temp = number;
}

void armstrong :: proses ()
{
while (number > 0)
{
carry = number % 10;
cek = cek + (carry*carry*carry);
number = number / 10;
}
}
void armstrong :: output ()
{
if (cek==temp)
{
cout << temp << " is Armstrong number";
}
else
{
cout << temp << " is NOT Armstrong number";
}
}

Bermain dengan shutter speed




Biggest Among N-number

#include <iostream>
using namespace std;

class biggest
{
private :
int jumlah,temp,big;

public :
    void input ()
    {
        cout<<"masukkan jumlah bilangan = "<<endl;
        cin>>jumlah;
    }
    void proses ()
    {
        cout<<"masukkan bilangan  = "<<endl;
        cin>>temp;
        big=temp;
      
        for (int i=2;i<=jumlah;i++)
        {
            cout<<"masukkan bilangan = "<<i<<endl;
            cin>>temp;
            if (big<temp)
            {
                big = temp;
              
            }
        }
    }
    void output ()
    {
        cout<<"biggest number = "<<big<<endl;
    }
};

int main ()
{

biggest b;
b.input ();
b.proses ();
b.output ();

system("PAUSE");
return 0;
}

Long Weekend

Long Weekend, sebuah istilah di kampus saya yang mendeskripsikan situasi dimana, pada hari jumat, kuliah di liburkan, dan para penghuni asrama mahasiswa diijinkan untuk libur selama 3 hari, terhitung mulai jumat sabtu dan minggu, namun pada Long Weekend kali ini, agak berbeda mengingat pada hari Kamis ada acara Campus Day, yang notabene juga membebaskan seluruh civitas akademika untuk tidak menjalankan proses perkuliahan...

Saya, memilih untuk tidak mengikuti Campus Day, dan menikmati liburan panjang akhir pekan ini di rumah, dan mengisi waktu dengan memotret, dengan hasil yang jelek tentunya, pada kesempatan hunting kali ini, ditemani oleh dua orang teman, kami berburu berbagai macam atau berbagai jenis gambar yang tidak jelas!! wakakakakka.....

Berikut beberapa gambar dan infonya


Terima Kasih untuk model dadakan yang tanpa ijin saya memotret dia.... hahahahah


Bentuk awan sehabis hujan.....

Bagi saya, gambar ini merupakan 3 pilar awan, entah bagi yang lain.... LIKE I CARE

bangganya menggunakan NIKON, warnanya nendang banget....

penutupan untuk hunting.... mencoba menggunakan shutter speed 8 detik tanpa tripod....

500 Worst Password

Sindrom di rumah, suka baca yang tidak jelas, semakin tidak jelas semakin menarik, akhirnya menemukan sebuah gambar sederhana seperti di atas, sambil tersenyum simpul menertawakan diri sendiri, entah karena ketidak jelasan ataukah karena password yang sering saya gunakan justru terdapat pada gambar di atas, ah saya terlalu malas memikirkannya ^_^

A Night Before Mid-Test.....


hobi lama yang kembali meracuni, semoga saja tidak semakin parah hobi ini
anyway, gambar yang kedua, bukan diambil oleh saya, tetapi oleh seorang teman, Reyfaldo...
dan sedihnya, menurut saya, justru gambarnya jauh lebih bagus hiks....

Linked List Insertion

#include <stdio.h>
#include <conio.h>
#include <malloc.h>

struct node
{
    int data;
    node *link;
}

    node *front = NULL;
    node *rear = NULL;

void insertion
{
    node *temp = (node*) malloc (sizeof(node));
    printf ("Input Elements");
    scanf ("%d",&temp->data);
    if (front==NULL)
    {
        front = temp;
        rear = temp;
    }
    else
    {
        int pick;
        printf ("1.Front\n2.Rear\n3.Position");
        scanf ("%d",&pick);
        switch (pick)
        {
        case 1:
        temp->link = front;
        front = temp;
        break;

        case 2:
        rear->link = temp;
        rear = temp;
        rear->link = NULL;
        break;

        case 3:
        int pos;
        printf ("Insert Position");
        scanf ("%d",&pos);
        if (pos<1)
        {
            printf ("error");
        }
        else if (pos==1)
        {
            temp->link = front;
            front = temp;          
        }
        else
        {
            pos--;
            int count=1;
            node *trav;
            trav = front;
            while (count<pos && trav!=NULL)
            {
                count ++;
                trav=trav->link;
            }
            if (trav!=NULL)
            {
                temp->link=trav->link;
                trav->link=temp;
                if (rear->link!=NULL)
                {
                    rear=temp;
                }
            }
            else
            {
                printf ("error");
            }
        }
        break;
        }
  
    }
}

Standard Deviation on UNGROUPED DATA

List of Weights (in pounds) : 204, 207, 208, 212, 214, 215.


a. Variance
  • cari dulu mean = (204+207+208+212+214+215) / 6 = 210 pounds
  • cari variance = [ (204-210)² + (207-210)² + (208-210)² + (212-210)² + (214-210)² + (215-210)² ] / 6 = 15.667 pounds 
b. Standard Deviation
  • standard deviation = sqrt of variance = 15.667 pow ½ (15.667 pangkat ½) = 3.95 pounds

Queues using Pointer

Praktek Mata Kuliah Data Structure

Queues on Pointer (Dynamic Memory Allocation) using DevC++

 #include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <malloc.h>

struct node
{
    int data;
    struct node *link;
};

node *front = NULL;
node *rear = NULL;

void insertion ()
{
     node *temp = (node*) malloc (sizeof(node));
     printf ("Insert Value = ");
     scanf ("%d",&temp->data);
     temp->link = NULL;
     if (front==NULL)
     {
        front=temp;
        rear=temp;              
     }
     else
     {
        rear->link=temp;
        rear=temp;  
     }   
}

void deletion ()
{
     if(front==NULL)
     {
        printf ("Queues is Empty");             
     }
     else
     {
        node *temp;
        printf ("Elemen to be deleted = %d",front->data);
        temp=front;
        front=front->link;
        free (temp);  
     }   
}

void display ()
{
     if (front==NULL)
     {
        printf ("Queues is Empty");
     }
     else
     {
         node *temp;
         temp=front;
         printf ("elemen of Queues = \n");
         for (temp=front;temp!=NULL;temp=temp->link)
         {
               printf ("%d\t",temp->data);
         }  
     }   
}

void selection ()
{
    int pilih;
    do
    {
    printf ("\n\nQueues Using Dynamic Memory Allocation");
    printf ("\n1. Insertion ");
    printf ("\n2. Deletion");
    printf ("\n3. Display");
    printf ("\ninsert your selection = ");
    scanf ("%d",&pilih);
    switch (pilih)
           {
           case 1:
           insertion ();
           break;
         
           case 2:
           deletion ();
           break;
         
           case 3:
           display ();
           break;     
           }
    }while (pilih!=0);  
}
int main ()
{
    selection ();
    printf ("\n");  
    getche ();
    return 0;
}

Stack Using Pointer

Praktek Mata Kuliah Data Structure

Stack on Pointer (Dynamic Memory Allocation) using DevC++

 #include <stdio.h>
#include <conio.h>
#include <malloc.h>
#include <stdlib.h>

struct node
{
int data;
struct node *link;     
};

node *high = NULL;

void pushdynamic ()
{
     node*temp = (node*) malloc (sizeof(node));
     printf ("Input values = ");
     scanf ("%d",&temp->data);
     temp->link = high;
     high = temp;
}

void popdynamic ()
{
     if (high==NULL)
     {
        printf ("Stack is Empty");            
     }
     else
     {
         node *temp;
         temp=high;
         printf ("Values to be deleted = %d",temp->data);
         high=high->link;
         free (temp);
     }   
}
void displaydynamic ()
{
     if (high==NULL)
     {
        printf ("Stack is Empty\nCan't display the elemen");
     }
     else
     {
        node *temp;
        temp=high;
        while(temp!=NULL)
        {
          printf ("The Elemen of Stack\n");
          printf ("%d\n",temp->data);
          temp=temp->link;               
        }  
     }   
}
void selection ()
{
    int pilih;
    do
    {
    printf ("\n\nStack Using Dynamic Memory Allocation");
    printf ("\n1. Push ");
    printf ("\n2. Pop");
    printf ("\n3. Display");
    printf ("\ninsert your selection = ");
    scanf ("%d",&pilih);
    switch (pilih)
           {
           case 1:
           pushdynamic ();
           break;
         
           case 2:
           popdynamic ();
           break;
         
           case 3:
           displaydynamic ();
           break;     
           }
    }while (pilih!=0);  
}
int main ()
{
    selection ();
    printf ("\n");  
    getche ();
    return 0;
}

Circular Queues

Praktek Mata Kuliah Data Structure

Circular Queues on Array using DevC++

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#define n 6

int array [n];
int front=0;
int rear=0;
int pick;

void insertion ()
{
     if((rear+1)%n==front)
     {
         printf ("Queue is Full");                    
     }
     else
     {
         rear=(rear+1)%n;
         printf ("Input value = ");
         scanf ("%d",&array[rear]);   
     }    
}

void deletion ()
{
     if (front==rear)
     {
          printf ("Queues is empty");               
     }
     else
     {
          printf ("Elemen to be deleted = %d", array[front+1]);
          front=(front+1)%n;   
     }    
}

void display ()
{
     if (front==rear)
     {
          printf ("Queues is empty");               
     }
     else
     {
         printf ("Elemen of Queues = \n");
         for (int i=front+1;i<=rear;i=(i+1)%n)
         {
          printf ("%d\n", array[i]);   
         }   
     }    
}

int main ()
{
    do
    {
    printf ("\n\nQueues Using Circular Array");
    printf ("\n1. Insert Queues");
    printf ("\n2. Deletion Queues");
    printf ("\n3. Display Queues");
    printf ("\nInsert your selection = ");
    scanf ("%d",&pick);
    switch (pick)
         {
         case 1:
              insertion ();
              break;
         case 2:
              deletion ();
              break;
         case 3:
              display ();
              break;
         }
    }while (pick!=0);  
    getche ();
    return 0;   
}

Queues Using Array

Praktek Mata Kuliah Data Structure

Queues on Array using DevC++


#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#define n 6

int array [n];
int front=-1;
int rear=-1;
int pick;

void insertion ()
{
     if (rear<n-1)
     {
        rear++;
        printf ("Insert value = ");
        scanf ("%d",&array[rear]);            
     }
     else
     {
         printf ("Queues is FULL");   
     }    
}

void deletion ()
{
     if (rear!=front)
     {
        front++;
        printf ("Value to be deleted = %d", array[front]);               
     }
     else
     {
        printf ("Queues is EMPTY");   
     }   
}

void show ()
{
     if (rear!=front)
     {
        for (int i=front+1;i<=rear;i++)
        {
            printf ("%d\n",array[i]);   
        }               
     }
     else
     {
         printf ("Queues is EMPTY");   
     }    
}

void adjusted ()
{
     if (front!=rear)    
     {
        printf ("values to be deleted = %d", array[front+1]);
        for(int i=0;i<rear;i++)
        {
             array[i]=array[i+1];                  
        }
        rear--;                    
     }
     else
     {
         printf ("Queues is EMPTY");   
     }
}

int main ()
{  
    do
    {
    printf ("\n\nQueues Using Array");
    printf ("\n1. Insert Queues");
    printf ("\n2. Deletion Queues");
    printf ("\n3. Display Queues");
    printf ("\n4. Deletion Adjusted Queues");
    printf ("\nInsert your selection = ");
    scanf ("%d",&pick);
    switch (pick)
         {
         case 1:
              insertion ();
              break;
         case 2:
              deletion ();
              break;
         case 3:
              show ();
              break;
         case 4:
              adjusted ();
              break;
         }
    }while (pick!=0);  
getche ();
return 0;
}

Stack Using Array

Praktek Mata Kuliah Data Structure

Stack on Array using DevC++
 
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#define n 6

void push ();
void pop ();
void display ();

int array[n];
int top=-1;
int pick;

int main ()
{
    do
    {
    printf ("\n\nSelection Menu");
    printf ("\n1. Push Stack");
    printf ("\n2. Pop Stack");
    printf ("\n3. Display Stack");
    printf ("\nInsert your selection = ");
    scanf ("%d",&pick);
    switch (pick)
         {
         case 1:
              push ();
              break;
         case 2:
              pop ();
              break;
         case 3:
              display ();
              break;
         }
    }while (pick!=0);  
getche ();
return 0;
}

void push ()
{
     if (top<n-1)
     {
        top++;
        printf ("insert element to the stack = ");
        scanf ("%d",&array[top]);           
     }
     else
     {
         printf ("Stack is overflow");   
     }    
}

void pop ()
{
     if (top>-1)
     {
        top--;
        printf ("The Top Value = %d", array[top]);          
     }
     else
     {
         printf ("Stack is underflow");   
     }    
}

void display ()
{
     if (top>-1)
     {
        for (int i=top;i>=0;i--)
        {
            printf ("%d\n",array[i]);   
        }          
     }
     else
     {
         printf ("Stack is Empty");   
     }    
}

Wake Me Up When September Ends....

Mungkin judul yang sangat familiar, tetapi judul ini muncul seiring dengan pelbagai hal yang terjadi selama bulan september ini, dan anehnya, saat menoleh ke belakang dan melihat seluruh kejadian yang terjadi pada bulan september tahun ini, penuh warna... mulai dari yang sudah diprediksi, maupun yang belum diprediksi, bahkan yang tidak pernah diprediksi sebelumnya.

Mungkin terkesan pragmatis, tapi begitulah keadaan sebenarnya, terlebih lagi untuk orang seperti saya, yang segala sesuatunya harus in order (sesuai rencana), sehingga terbiasa bisa memperkirakan apa yang akan terjadi (maaf, jangan samakan saya dengan cenayang...)

Kejadian yang silih berganti muncul, mulai dari sebuah kecelakaan kecil ditoilet, yang disamarkan dalam bentuk perkelahian (hahahaha...), yah, kecelakaan bodoh yang seharusnya tidak terjadi, dari sekian kali menginjakkan kaki disitu, untuk pertama kalinya terpeleset dan jatuh yang berakhir dengan patahnya dua gigi depan, yang membuat penampilan saya semakin menarik... kemudian kecelakaan (kelalaian lebih tepat) saat tidur, dimana saya lupa melepas kacamata sehingga kacamata saya mengalami patah frame (gagang), berlanjut dengan insiden di waktu ujian, dimana kertas ujian kedua teman yang duduk di sebelah saya disobek oleh dosen, hanya karena saling meminjam penghapus....hahahha, terdengar bodoh mungkin, tapi itulah, kejadian paling menyolok yang terjadi dalam bulan september ini

Yang mungkin belum sempat diprediksi adalah, kemunduran launching (penerbitan) sebuah proyek iseng dari sekumpulan teman, yang alasannya bodoh sepertinya, hanya karena kesibukan oleh tugas dan ujian, yang notabene merupakan alasan yang klise, tapi sebenarnya sangat logis, mengingat ini hanyalah sebuah proyek iseng....

Dari narasi di atas, membuat judul postingan ini semakin memiliki arti yang mendalam, namun sebagaimana cerita-cerita dongeng, fabel, dan lainnya, semua berharap memiliki akhir yang bahagia, begitu juga saya, sebagaimana kejadian-kejadian yang saya alami pada bulan ini, saya berharap mampu menutup bulan ini dengan sebuah hal manis, tapi bedanya, kalau di cerita dongeng dan fabel, sutradara atau penulislah yang membuat ceritanya berakhir bahagia, sedangkan dalam kehidupan nyata, kita sendirilah yang harus berusaha agar semuanya berakhir dengan indah....

Dan itulah yang saya lakukan, sembari mensyukuri akan penyertaan sang Khalik sehingga saya mulai mampu menulis kiriman pertama di blog ini pada pertengahan bulan, dan dengan bangga dan sedikit tersenyum angkuh, saya menulis cerita ini sebagai penutup akan bulan ini.

Ya, sebuah cerita sederhana, dimana proyek iseng yang menghabiskan dana hasil donasi dari beberapa orang, usaha belajar secara otodidak dari beberapa orang, dan yang terpenting, ide konyol dari saya (maaf, saya tidak mampu menahan ke-narsis-an saya dalam hal ini), akhirnya pada hari ini, dengan sombongnya saya menulis disini, bahwa www.ragita.com sudah bisa di akses, meskipun masih jauh dari kesempurnaan, sebuah karya yang diilhami dari obrolan ringan di bawah pohon rindang, tempat kami biasa nongkrong untuk bercanda, bermain, tukar-tukaran film, dan belajar, embrio yang lucu telah menjelma menjadi sebuah kenyataan, sebuah kreasi yang benar-benar nyata (hahahaha untuk ukuran dunia maya tentunya); sebuah domain yang mengandung arti candaan, hinaan dan kebanggaan yang berisikan sebuah simple machine forum, yang akan dipakai dan digunakan sepenuhnya dari, oleh, dan untuk kalangan sendiri...
"Every story has its own ends. But, in life the end depends on our effort"
Ray Wodrow

Tulisan Pertama

Entah kenapa (Ngikutin salah satu celetukan dosen yang mengajar di kampus saya), malam ini begitu banyak ide yang muncul di otak, mungkinkah ini berhubungan dengan sindrom bangun di tengah malam ? Kurang tau juga, dan memang tidak ingin tahu, not my business istilah kerennya....

Yak, sampe disitu saja basa-basinya (toh padahal semua isi tulisan pertama ini juga basa-basi kabeh). Saya sebenarnya tidak berharap banyak dengan eksistensi blog ini, namun apa daya, toh kebutuhan juga yang setengah memaksa saya untuk membuatnya. Dan semakin tidak menjadi masuk akal, ketika ternyata ada bagian diri yang merasa sebagai seorang penulis terus menerus memaksa untuk mulai menulis.

Jadi, inilah saya Ray Wodrow, memulai tulisan pertama saya di blog ini, bukan untuk pamer (terlihat dari tampilan yang masih menggunakan template), bukan sekedar kena demam blogging (kayak jejaring sosial), dan yang terpenting, blog ini muncul sebagai sebuah saluran jeritan hati dari jiwa penulis yang bergejolak dalam diri saya.... Soal apa nantinya tema dari blog ini, belum tahu juga, yang jelas sebisa mungkin informatif, egois, angkuh, sombong, pelit, curang, dan hal-hal buruk lain, mengenai apapun, siapapun dan dimanapun....


@RayWodrow 04:10