Semesta Cinta ?

cinta tak bisa diciptakan,
tapi ditumbuhkan tepatnya
karena ia adalah semesta

cinta juga tak bisa dimusnahkan, sayang
mungkin ia hanya berubah saja, menjadi lupa,
menjadi karat pada lapisan baja kesetiaan
atau menjadi rangkaian keluhan dalam ketololan

Fuduntu Linux

Sudah lama tidak menulis, selain kesibukan harian yang menyita waktu... mikir juga ngak tau mo nulis apa, jadilah pada kesempatan yang terjepit ini mo mengulas soal Fuduntu LINUX;

Ditengah maraknya banjir distro LINUX yang entah dari mana dan entah untuk apa, Sistem Operasi yang menganut konsep keterbukaan ini semakin banyak melahirkan jenis-jenis distribusi yang dimodifikasi, baik secara korporat maupun perorangan. Salah satunya ada Fuduntu LINUX

Fuduntu LINUX memilih posisi diantara FEDORA dan UBUNTU; jadi konsep awal pembangunan distro oleh Andrew Wyatt ini, dapat dikategorikan sebagai turunan dari FEDORA, meskipun "bau" UBUNTU sangat kental. Rilis besar terakhir adalah rilis 2012.4 dengan rilis update terakhir adalah 2013.1. Perubahan signifikan yang terjadi misalnya perpindahan Dock Kairo dari AWN, Jockey (aplikasi untuk memeriksa kompabilitas driver dan hardware), hilangnya Jupiter, serta penambahan Netflix dan  Silverlight. Dengan peluncuran rilis yang terakhir, distro ini sudah kompatibel dengan nVidia optimus. "Bau" ubuntu yang paling kental adalah masih dipertahankannya dukungan untuk Gnome 2.

Dari beberapa benchmarking yang dilakukan, secara umum FUDUNTU 2013.1 memerlukan sekitar 155-165 MB RAM dan 1.5 % CPU.

sumber :
PC-Plus

Visual Programming - Event Handling Examples

Event Handling Example....
This code will change the messages of a button after it was clicked

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package latihan6;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
/**
 *
 * @author ASUS N43S
 */

Visual Programming - Grid Bag Layout


Thanks to my friend for the frame.pack (); it's very useful when calculating the size was a problem......

Visual Programming - Strust, Rigid Area, Glue



Contoh Strust, Rigid Area, Glue menggunakan klas javax.swing dan java.awt pada NetBeans, secara umum manfaat dari ketiga fungsi ini adalah untuk memberikan jarak / space antar button

Visual Programming - Flow Layout2


Masih Contoh FlowLayout menggunakan klas javax.swing dan java.awt pada NetBeans, kali ini mencoba menumpuk beberapa panel pada panel lainnya...

Visual Programming - Flow Layout


Contoh FlowLayout menggunakan klas javax.swing dan java.awt pada NetBeans

Mimpi...


Seharian beraktifitas ternyata cukup menguras tenaga, mungkin karena faktor sudah lama tidak beraktifitas dengan rentang waktu yang cukup lama, sehingga kelelahan semakin menjadi.

ketika beristirahat dirumah, saya bermimpi...

saya bermimpi, proses pendaftaran umum terpusat pada satu ruangan saja, untuk mempersingkat waktu

saya bermimpi, sebelum masuk ke ruang pendaftaran ada pengumuman yang berisi daftar apa saja yang harus disiapkan sebelum memulai proses pendaftaran sehingga ketika masuk ke dalam saya tidak perlu lagi bingung apa yang harus saya siapkan

saya bermimpi, ada sebuah peta ruangan beserta petunjuk yang jelas fase-fase apa yang harus saya lewati atau jalani untuk menyelesaikan proses pendaftaran

saya bermimpi, letak dan posisi pos konfirmasi yang terarah sehingga dari perjalanan proses pendaftaran berawal dari pintu masuk dan selesai di pintu keluar

saya bermimpi, ruangan konfirmasi pendaftaran hanya digunakan untuk konfirmasi pendaftaran saja, bukan untuk konsultasi mata kuliah

saya bermimpi, ada sebuah dokumen yang dapat membantu dalam proses konfirmasi fase yang sudah lewati saya bermimpi, proses konfirmasi dalam dokumen pembantu tersebut cukup dilakukan secara manual, sehingga proses input dalam sistem basis data komputer cukup dilakukan sekali saja

saya bermimpi, para pendaftar memiliki rasa tanggung jawab untuk saling mengerti arti kesabaran dan arti kata 'ANTRI'

ketika saya mulai masuk keruangan tersebut, saya terbangun...

ah... ternyata hanya mimpi, dan kini kembali ke dunia nyata, saya harus tetap beradaptasi dan berusaha mengerti situasi yang ada didepan mata....

sambil berharap mimpi tadi menjadi kenyataan...

Statistik Encryption

Berikut sebuah coding dari tugas membuat enkripsi statistik...

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

int main ()
{
    
    char kata [8];
    char copy [8];
    float hitung [8];
    int pjg;
    float a = 4.1, b = 5.1, c = 6.1, d = 7.1, e = 8.1;
    float f = 0.1, g = 1.1, h = 2.1, i = 3.1, j = 4.2;
    float k = 5.2, l = 6.2, m = 7.2, n = 8.2, o = 0.2;
    float p = 1.2, q = 2.2, r = 3.2, s = 4.3, t = 5.3;
    float u = 6.3, v = 7.3, w = 8.3, x = 9.3, y = 0.3;
    float z = 2.3;
    
    printf ("Masukkan input = ");
    gets (kata);fflush (stdin);
    strcpy(copy,kata);
    pjg = strlen (kata);
    for (int i=0;i<pjg;i++)
    {
        if (copy[i]=='a') {hitung[i]=a;}
        if (copy[i]=='b') {hitung[i]=b;}    
        if (copy[i]=='c') {hitung[i]=c;}
        if (copy[i]=='d') {hitung[i]=d;}
        if (copy[i]=='e') {hitung[i]=e;}
        if (copy[i]=='f') {hitung[i]=f;}
        if (copy[i]=='g') {hitung[i]=g;}
        if (copy[i]=='h') {hitung[i]=h;}
        if (copy[i]=='i') {hitung[i]=i;}
        if (copy[i]=='j') {hitung[i]=j;}
        if (copy[i]=='k') {hitung[i]=k;}
        if (copy[i]=='l') {hitung[i]=l;}
        if (copy[i]=='m') {hitung[i]=m;}
        if (copy[i]=='n') {hitung[i]=n;}
        if (copy[i]=='o') {hitung[i]=o;}
        if (copy[i]=='p') {hitung[i]=p;}
        if (copy[i]=='q') {hitung[i]=q;}
        if (copy[i]=='r') {hitung[i]=r;}
        if (copy[i]=='s') {hitung[i]=s;}
        if (copy[i]=='t') {hitung[i]=t;}
        if (copy[i]=='u') {hitung[i]=u;}
        if (copy[i]=='v') {hitung[i]=v;}
        if (copy[i]=='w') {hitung[i]=w;}
        if (copy[i]=='x') {hitung[i]=x;}
        if (copy[i]=='y') {hitung[i]=y;}
        if (copy[i]=='z') {hitung[i]=z;}
        if (copy[i]==' ') {hitung[i]=3.3;}
    }
    
    printf ("hasil enkripsi = ");
    for (int i=0;i<pjg;i++)
    {
        printf ("%.1f", hitung[i]);    
    }
    
    
    for (int i=0;i<pjg;i++)
    {
        if (hitung[i]==a) {copy[i]='a';}
        if (hitung[i]==b) {copy[i]='b';}
        if (hitung[i]==c) {copy[i]='c';}
        if (hitung[i]==d) {copy[i]='d';}
        if (hitung[i]==e) {copy[i]='e';}
        if (hitung[i]==f) {copy[i]='f';}
        if (hitung[i]==g) {copy[i]='g';}
        if (hitung[i]==h) {copy[i]='h';}
        if (hitung[i]==i) {copy[i]='i';}
        if (hitung[i]==j) {copy[i]='j';}
        if (hitung[i]==k) {copy[i]='k';}
        if (hitung[i]==l) {copy[i]='l';}
        if (hitung[i]==m) {copy[i]='m';}
        if (hitung[i]==n) {copy[i]='n';}
        if (hitung[i]==o) {copy[i]='o';}
        if (hitung[i]==p) {copy[i]='p';}
        if (hitung[i]==q) {copy[i]='q';}
        if (hitung[i]==r) {copy[i]='r';}
        if (hitung[i]==s) {copy[i]='s';}
        if (hitung[i]==t) {copy[i]='t';}
        if (hitung[i]==u) {copy[i]='u';}
        if (hitung[i]==v) {copy[i]='v';}
        if (hitung[i]==w) {copy[i]='w';}
        if (hitung[i]==x) {copy[i]='x';}
        if (hitung[i]==y) {copy[i]='y';}
        if (hitung[i]==z) {copy[i]='z';}
        if (hitung[i]==3.3) {copy[i]=' ';}    
    }
    
printf ("\nhasil dekripsi = ");
for (int i=0;i<pjg;i++)
{
    printf ("%c", copy[i]);    
}
    
getche ();
return 0;
}

Packet Tracer 5.3 di Ubuntu 10.10



Tutorial bagaimana cara menginstall Packet Tracer 5.3 di Ubuntu 10.10.

Cara menginstall Packet Tracer dengan nama file PacketTracer53_i386_installer-deb.bin.

pertama silahkan kalian download dulu Packet Tracer pada link Packet Tracker CISCO for Linux

Silahkan pilih dan download file PacketTracer53_i386_installer-deb.bin. Ketika proses download telah selesai, taruh file hasil download di folder Home kalian.

Kemudian bukalah terminal untuk memulai menginstall Packet Tracer. Caranya Application -> Accessories -> Terminal.

Jika sudah, silahkan login dulu sebagai root, caranya ketikkan perintah berikut ini di terminal kalian:

sudo su

lalu masukkan password ubuntu kalian. Setelah itu ganti permission file Packet Tracer, caranya ketikkan perintah berikut ini di terminal kalian:

chmod 755 PacketTracer53_i386_installer-deb.bin

Setelah itu, ekstrak file PacketTracer53_i386_installer-deb.bin dengan cara mengetikkan perintah berikut di terminal kalian:

./PacketTracer53_i386_installer-deb.bin

Maka akan muncul text seperti berikut ini:

Welcome to Packet Tracer 5 Installation
Read the following End User License Agreement “EULA” carefully. You must accept the terms of this EULA to install and use Packet Tracer 5.3.
Press the Enter key to read the EULA.
Silahkan tekan enter untuk memulai membaca EULA, setelah itu tekan SPASI dan baca EULA nya sampai habis dan muncul pertanyaan seperti ini:
Cisco, Cisco Systems, and the Cisco Systems logo are registered trademarks of
Cisco Systems, Inc. in the U.S. and certain other countries. Any other
trademarks mentioned in this document are the property of their respective
owners.

Do you accept the terms of this EULA? (Y)es/(N)o
Tekan Y untuk memulai proses instalasi, tunggu proses instalasi selesai, dan kalian dapat menjalankan Packet Tracer 5.3 di Ubuntu kalian.

Jika proses instalasi telah selesai, masuk saja ke menu Application -> Internet -> Cisco Packet Tracer. Dan selamat menggunakan Packet Tracer 5.3 di Ubuntu 10.10.

sumber : http://bocahwates.wordpress.com/2011/04/25/cara-menginstall-packet-tracer-5-3-di-ubuntu-10-10/

Studi Kasus Subnetting (Class B)

Diketahui IP sebagai berikut = 172.16.127.123 / 22

maka hitunglah,
1. subnet mask
2. subnet block
3. jumlah network
4. jumlah usable host
5. network ID
6. broadcast ID
7. range usable host

/22 berarti jumlah 1 ada 22 buah, maka binarynya adalah

11111111.11111111.11111100.00000000

atau

8.8.6+2.+8 (tanda + menunjukkan 0)

sehingga jumlah desimalnya adalah

255.255.(128+64+32+16+8+4).0

atau

255.255.252.0

1. subnet mask = 255.255.252.0

2. subnet blok = 256 - 252 = 4

subnet blok juga dapat diperoleh dengan cara :

2 pangkat jumlah 0 dalam host yang akan berubah,
dalam soal jumlah 0 dalam host yang akan berubah adalah 2 (lihat +2)

maka subnet blok = 2^2 = 4

3. jumlah network =

jumlah network diperoleh dengan cara :

2 pangkat jumlah 1 dalam host yang akan berubah,
dalam soal jumlah 1 dalam host yang akan berubah adalah 6 (lihat 6)

maka jumlah network 2^6 = 64

4. jumlah usable host =

jumlah usable host diperoleh dengan cara :

2 pangkat jumlah 0 keseluruhan yang ada dalam subnet mask,
dalam soal jumlah 0 keseluruan adalah 8+2 = 10 (lihat +2 dan +8)

maka jumlah usable host = 2^10 - 2

5. Network ID =

network ID diperoleh dengan langkah :
a. kelipatan network ID = subnet blok, dalam soal kelipatan network ID = 4
b. cari angka kelipatan network ID yang mendekati host yang akan berubah, dalam soal host yang akan berubah adalah 127

bilangan kelipatan 4 yang mendekati 127 = 124
124 % 4 = 0 (124 habis di bagi 4 / 124 modulus 4 = 0)
124 <= 127 (124 lebih kecil dan yang paling dekat dengan 127)

sehingga network ID = 172.16.124.0

6. Broadcast ID =

broadcast ID diperoleh dengan langkah :

network ID berikutnya dikurangi 1, dalam soal network ID = 172.16.124.0 maka network ID berikutnya = 172.16.128.0

sehingga broadcast ID = 172.16.128.0 - 1 = 172.16.127.255

7. range usable host =

range usable host diperoleh dengan langkah :

ip-ip yang berada di antara network ID dan broadcast ID (network ID dan broadcast ID tidak termasuk), dalam soal network ID = 172.16.124.0 dan broadcast ID = 172.16.127.255

sehingga range usable host = 172.16.124.1 sampai 172.16.127.254

summary jawaban :

1. subnet mask = 255.255.252.0

2. subnet blok = 256 - 252 = 4

3. jumlah network = 2^6 = 64

4. jumlah usable host = 2^10 - 2

5. network ID = 172.16.124.0

6. broadcast ID = 172.16.127.255

7. range usable host = 172.16.124.1 - 172.16.127.254

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 ^_^