Archive

Archive for the ‘free software world’ Category

Memonitor pemakaian bandwidth

May 28th, 2010 No comments

Ketika menggunakan koneksi internet yang dibatasi besarnya pemakaian per waktu tentu membuat kita suka bertanya-tanya berapa besar pemakaian yang sudah digunakan? Apalagi kalau kita menggunakan koneksi dengan GSM atau CDMA yang terkenal mahal per KB-nya, bisa tekor kalau sering kelebihan kuota :D

Setelah sibuk berkeliling dengan om Google akhirnya mendapat informasi yang tepat dari situsnya forum opensuse. Dari situ saya coba adaptasi dengan kebutuhan saya. Berikut langkah-langkahnya.

  • Tentu kita memerlukan NetworkManager untuk koneksinya, versi 0.8.x adalah NM yang paling OK untuk koneksi menggunakan GSM atau CDMA. Untuk mengoleksi data pemakaian digunakan vnstat, aplikasi command line kecil yang sangat bermanfaat ;-)
  • Kita mulai konfigurasi, yang pertama kita perlu edit adalah file /etc/cron.d/vnstat, file ini digunakan untuk mengatur seberapa sering kita akan mengupdate data koneksi. Punya saya seperti ini:
    MAILTO=root
    # to enable interface monitoring via vnstat remove comment on next line
    */2 * * * *  vnstat /usr/sbin/vnstat.cron

    “*/2″ berarti kita akan mengupdate data setiap 2 menit. vnstat kemudian memakai /usr/sbin/vnstat.cron, yang isinya

    #!/bin/bash
    # this script (/usr/sbin/vnstat.cron) reads /etc/sysconfig/vnstat
    # to start /usr/bin/vnstat.
    # example for /etc/sysconfig/vnstat:
    # VNSTAT_OPTIONS="-u -i eth0"
    # see also: vnstat(1)
    
    VNSTAT_CONF=/etc/sysconfig/vnstat
    
    if [ ! -f  ]; then
     exit 0
    fi
    
    . $VNSTAT_CONF
    
    /usr/bin/vnstat $VNSTAT_OPTIONS

    Hmm…, file ini membaca /etc/sysconfig/vnstat, yg isinya

    # see also: vnstat(1)
    #
    # starting with vnstat-1.6 vnstat can also be
    # configured via /etc/vnstat.conf
    #
    # the following sets vnstat up to monitor ppp0
    VNSTAT_OPTIONS="-u -i ppp0"

    Perhatikan “ppp0″, itu interface yang dibuat NetwokManager ketika koneksi internet terhubung. Sesuaikan dengan interface dari distro anda. Oh ya, file-file setingan tersebut berdasarkan konfigurasi di Fedora, untuk distro lain bisa jadi berbeda, sesuaikan saja ;-)

  • Kemudian bagaimana menghubungkannya dengan NetworkManager? Pada prinsipnya kita hanya ingin menghitung manakali koneksi terjadi dan tidak perlu menghitung manakala tidak ada koneksi. Tetapi vnstat dijalankan dengan cron job dan data akan tidak akurat kalau koneksi tidak ada (ppp0 tidak ada). Ternyata vnstat ada option –disable dan –enable untuk menghindari penghitungan pada interface yang tidak ada. Nah, kita buat file script untuk menjalan vnstat dengan option tersebut dan taruh di /etc/NetworkManager/dispatcher.d/. File-file yang ada di folder tersebut akan dijalan ketika NM membuat atau memutus koneksi. File script saya adalah:
    #!/bin/sh
    
    case "$2" in
     up)
     /usr/bin/vnstat --enable -i ppp0
     ;;
     down)
     /usr/bin/vnstat -r --disable -i ppp0
     ;;
     *)
     exit 0
     ;;
    esac

    Ketika “up” (koneksi terhubung) vnstat dipanggil dengan option –enable yang akan membuat perhitungan untuk ppp0 dibuka. Ketika “down” vnstat dipanggil dengan option –disable yang membuat perhitungan untuk ppp0 ditutup/diabaikan.

Bereslah sudah dan ketika berinternet ria dengan GSM/CDMA kita bisa cek jumlah pemakain kita dengan mengetikkan “vnstat” dari terminal. Option untuk menampilkan data-nya banyak, silahkan baca dari “man vnstat” ;-)

[Seri HA 3] Sentuhan Terakhir

August 3rd, 2009 4 comments

DRBD sudah, Heartbeat juga sudah, sekarang tinggal menggabungkan keduanya dan memilih layanan apa saja yang akan tersedia di HA kita. Layanan yang akan kita pasang sebagai HA adalah vitual IP, dimana IP ini yang akan dituju oleh kilen, file server dengan nfs dan samba, web server httpd dengan php-nya serta database server MySQL. Sebelum mengintegrasikan layanan tersebut dengan heartbeat ada baiknya dicobakan dulu tanpa heartbeat dan sudah jalan dengan benar.

Agar semua perubahan data dari layanan tersebut dapat tersinkronisasi dengan baik maka ada beberapa lokasi data layanan diatas akan ditempatkan di folder yang tersinkronisasi oleh drbd, dalam hal ini di folder /drdisk. Untuk file server kita tempatkan di /drdisk/shares. Halaman web kita tempatkan di /drdisk/html dan file untuk php session kita tempatkan di /drdisk/php/session, sementara file upload lewat php tempat penyimpanan sementaranya ada di /drdisk/tmp. MySQL database di folder /drdisk/mysql.

Pada tutorial sebelumnya kita matikan dulu layanan drbd, nah sekarang kita hidupkan di kedua komputer dan kerjakan pembuatan folder diatas pada komputer yang dijadikan primary.

[root@hb1 ~]# drbdadm primary r0
[root@hb1 ~]# mount /dev/drbd1 /drdisk/
[root@hb1 ~]# mkdir -p /drdisk/shares /drdisk/html /drdisk/mysql /drdisk/tmp /drdisk/php/session
[root@hb1 ~]# chmod ugo=rwXt /drdisk/tmp/ /drdisk/shares/
[root@hb1 ~]# chmod 770 /drdisk/php/session/
[root@hb1 ~]# chgrp apache /drdisk/php/session/

/drdisk/tmp dan /drdisk/shares permission-nya kita jadi seperti /tmp. /drdisk/php/session ber-permisson 700 dan group owner adalah apache. Setelah itu kita konfigurasi masing-masing layanan agar menggunakan folder yang telah kita sediakan tersebut. File-file konfigurasi ini harus sama di kedua komputer.

Untuk nfs file konfigurasinya adalah file /etc/exports dan isinya cuma satu baris saja:

/drdisk/shares            *(rw,squash_uids=0-99,sync)

Untuk keterangan variabelnya coba saja cari tutorial tentang nfs di internet ;-)

Untuk samba, tambahkan baris berikut pada file /etc/samba/smb.conf:

[shares]
        comment = Shares Stuff
        path = /drdisk/shares
        public = yes
        writable = yes
        printable = no

File-file yang ada di /etc/samba juga perlu diduplikasi di komputer satu lagi.

Untuk apache (httpd) file yang perlu dirubah adalah /etc/httpd/conf/httpd.conf. Cari ‘DocumentRoot’ dan isikan dengan /drdisk/html. Kemudian cari ‘<Directory “/var/www/html”>’ dan ganti menjadi ‘<Directory “/drdisk/html”>’. Untuk konfigurasi php, silahkan rubah file /etc/php.ini pada bagian sbb:

....
; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
upload_tmp_dir = /drdisk/tmp
....
session.save_path = "/drdisk/php/session"
....

Pada dasarnya itu saja yang dirubah, kalau ternyata masih ada yang perlu dirubah karena terkait dengan modul lain silahkan baca-baca di www.php.net

Untuk MySQL file konfigurasi yang dirubah adalah /etc/my.cnf:

[mysqld]
datadir=/drdisk/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

Nah, kalau semua layanan diatas sudah jalan dengan baik tanpa terintegrasi dengan heartbeat, maka kini saatnya mengintegrasikan dengan heartbeat. Layanan-layanan diatas berposisi off pada waktu komputer dinyalakan (termasuk drbd), heartbeat yang akan menyalakannya.

File konfigurasi untuk layanan diatas kita tuliskan (misal) di hb-resources.xml dan hb-constarint.xml. hb-resources.xml untuk mengatur setingan layanan dan hb-constaint.xml untuk mengatur batasan/urutan layanan dinyalakan. Read more…

[Seri HA 2] Pasang Heartbeat

July 30th, 2009 1 comment

Nah ini aplikasi yang menjadi tulang punggung HA, Heartbeat dari Linux HA. Silahkan baca-baca link tersebut untuk mengetahui lebih jauh apa itu heartbeat.

Untuk mengaktifkan heartbeat ini ternyata cukup mudah. Rubah file /etc/ha.d/ha.cf, bikin aja kalau belum ada, dengan isi sebagai berikut:

use_logd on
udpport 694
keepalive 1 # 1 second
deadtime 10
initdead 80
bcast eth0
node hb1 hb2
crm yes
auto_failback yes

isi dari node disesuaikan dengan nama-nama komputernya. Setelah itu membuat file /etc/ha.d/authkeys untuk autentikasinya dengan menggunakan script ini:

cat <<-!AUTH >/etc/ha.d/authkeys
# Automatically generated authkeys file
auth 1
1 sha1 `dd if=/dev/urandom count=4 2>/dev/null | openssl dgst -sha1` !AUTH

Karena file /etc/ha.d/authkeys sensitif, maka rubah permission-nya menjadi 600 (-rw------). Yak segitu saja, heartbeat siap dijalankan. Di fedora based tinggal jalankan ‘service heartbeat start‘ dan jangan lupa service heartbeat di on-kan waktu komputer dihidupkan.

Tapi dengan konfigurasi seperti itu saja heartbeat tidak banyak berguna, harus ada service-service yang ditangani heartbeat yang menjadikannya fungsional sebagai HA, misal visual IP, digabung dengan drbd untuk sinkronisasi data, httpd, nfs, samba dan lain-lain. Nah yang begini akan dibahas pada [Seri HA 3] Sentuhan Terakhir

[Seri HA 1] Pasang DRBD

July 29th, 2009 5 comments

Apa itu DRBD? Dan apa pula hubungannya dengan HA? Coba jalan-jalan ke sini dulu.

Pada dasarnya DRBD adalah software untuk sinkronisasi data tetapi pada level block device, yaitu level dibawah filesystem. Jadi membuat filesystem-pun akan disinkronkan. Sinkronisasi pada level block device ini diperlukan (tetapi tidak harus) agar HA bisa lebih mulus pergantian komputernya.

OK, langsung ke hardware dan konfigurasinya yang diperlukan untuk drbd. Pertama-tama tentu partisi yang akan disinkronkan, berikut hasil perintah ‘fdisk -l’ dari kedua komputer:

[root@hb1 ~]# fdisk -l
....
   Device Boot      Start         End      Blocks   Id  System
/dev/hda1   *           1        1305    10482381   83  Linux
/dev/hda2            1306        1436     1052257+  82  Linux swap / Solaris
/dev/hda3            1437        2564     9060660   83  Linux
[root@hb2 ~]# fdisk -l
....
   Device Boot      Start         End      Blocks   Id  System
/dev/hda1   *           1        1305    10482381   83  Linux
/dev/hda2            1306        1370      522112+  82  Linux swap / Solaris
/dev/hda3            1371        2498     9060660   83  Linux

Perhatikan, walau besar kedua hardisk berbeda, besar partisi (hda3) yang akan dipakai harus sama persis (1127 blok).

Selanjutnya saya menggunakan 2 kartu jaringan di masing-masing komputer. Berikut hasil ‘ifconfig’ dari kedua komputer:

[root@hb1 ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr xx:xx:xx:xx:xx:xx
          inet addr:192.168.0.11  Bcast:192.168.0.255  Mask:255.255.255.0
          ....

eth1      Link encap:Ethernet  HWaddr xx:xx:xx:xx:xx:xx
          inet addr:10.0.0.11  Bcast:10.0.0.255  Mask:255.255.255.0
          ....
[root@hb2 ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr xx:xx:xx:xx:xx:xx
          inet addr:192.168.0.12  Bcast:192.168.0.255  Mask:255.255.255.0
          ....

eth1      Link encap:Ethernet  HWaddr xx:xx:xx:xx:xx:xx
          inet addr:10.0.0.12  Bcast:10.0.0.255  Mask:255.255.255.0
          ....

eth0 akan terhubung ke jaringan lokal dan eth1 akan saling terhubung dengan kabel kros, dengan kata lain kedua komputer punya jalur pribadi lewat eth1. Kenapa hal ini perlu dilakukan? Tipe sinkronisasi yang dipilih memerlukan bandwidth yang cukup besar, agar tidak mengganggu jaringan lokal maka perlu dipisahkan lewat jalur pribadi ini. Untuk men-tes apakah jalur ini telah berfungsi lakukan ping ke IP dari eth1 komputer lainnya. Read more…

Merubah assigned net card

July 21st, 2009 No comments

Bila kita mempunyai dua atau lebih kartu jaringan, kadang udev atau mekanisme assigning kartu ke dev secara otomatis tidak seperti yang kita inginkan. Seperti contoh yang saya alami dengan centos, onboard kartu jaringan di-assign sebagai eth1 dan kartu jaringan tambahan sebagai eth0, sementara saya ingin onboard yang eth0. Nah, gimana cara ngerubah ini?

Untuk centos 5.3 yang masih menggunakan udev versi lama, maka ada beberapa file yang harus dirubah. Yang pertama adalah file /etc/modprobe.conf. Sebelumnya adalah:

[root@hb1 ~]# cat /etc/modprobe.conf
alias eth0 3c59x
alias eth1 e100

e100 adalah driver untuk kartu jaringan onboard dan 3c59x adalah driver untuk kartu tambahan. Yang diinginkan onboar jadi eth0, maka kita rubah menjadi:

[root@hb1 ~]# cat /etc/modprobe.conf
alias eth0 e100
alias eth1 3c59x

Selanjutnya adalah merubah file-file di /etc/sysconfig/network-scripts/ yaitu ifcfg-eth0 dan ifcfg-eth1 (kalau cuma 2 kartu). Pertama kita swap dulu nama kedua file tersebut dan kemudian adaptasikan perubahannya.

[root@hb1 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
# Intel Corporation 82557/8/9/0/1 Ethernet Pro 100
DEVICE=eth0
BOOTPROTO=none
HWADDR=00:e0:18:25:20:dd
ONBOOT=yes
DHCP_HOSTNAME=hb1
TYPE=Ethernet
IPADDR=192.168.0.11
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
USERCTL=no
IPV6INIT=no
PEERDNS=yes

Yang perlu dirubah paling DEVICE, IPADDR dan GATEWAY.

Untuk Fedora 10 keatas (dan turunannya serta Ubuntu yang baru serta turunannya) yang dilakukan lebih sederhana. TInggal rubah satu file saja yaitu file /etc/udev/rules.d/70-persisten-net.rules. Contoh yang satu kartu:

[hansen@hansen ~]$ cat /etc/udev/rules.d/70-persistent-net.rules

# This file was automatically generated by the /lib/udev/write_net_rules
# program run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single line.

# Silicon Integrated Systems [SiS] SiS900 PCI Fast Ethernet (rule written by anaconda)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:19:21:6e:72:43", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

Tinggal sesuaikan pada bagian ‘NAME=”eth0″‘.

Itu saja.

Update:
Ternyata centos mengambil setingan terakhir (eth1) sebagai default route, sementara saya menginginkan eth0 sebagai default route-nya. Untuk merubahnya, tambahkan nilai GATEWAY dari /etc/sysconfig/network-scripts/ifcfg-eth0 kedalam /etc/sysconfig/network dan hapus GATEWAY dari file /etc/sysconfig/network-scripts/ifcfg-eth0 dan /etc/sysconfig/network-scripts/ifcfg-eth1

Problem menjalankan dosemu di Fedora 8 keatas

April 17th, 2009 No comments

Masih membutuhkan dosemu di GNU/Linux OS untuk menjalankan program-program DOS lama? Mulai Fedora 8 yang ter-update (juga Ubuntu dan variasinya dengan kernel yang baru) kernelnya, dosemu tidak mau dijalankan lagi. Pesan error kalau dijalankan via terminal adalah sebagai berikut:

LOMRAM mmap: Invalid argument
Segmentation fault

Hal ini disebabkan dosemu tidak bisa mengakses low memory yang dibutuhkannya. Kenapa pada kernel yang lama masih bisa jalan? Ternyata mulai kernel tertentu yang lebih baru akses ke low memory diproteksi. Ini dilakukan untuk mengantisipasi kemungkinan masalah sekuritas dimasa datang yang mengeksploitasi low memory ini.

Dimana file yang mengatur proteksi ini? Untuk mengecek apakah low memory diproteksi atau tidak silahkan lihat file /proc/sys/vm/mmap_min_addr, misalkan dengan perintah cat. Kalau hasilnya 65536 berarti low memory diproteksi, kalau 0 berarti tidak. Dengan merubah isi file ini menjadi 0 sudah bisa menjalankan dosemu kembali, tetapi setiap menghidupkan komputer file ini akan berisi 65536 kembali. Bagaimana caranya supaya perubahan menjadi permanen?

Untuk fedora tambahkan baris berikut:

vm.mmap_min_addr = 0

pada file /etc/sysctl.conf

Begitu saja, dan pada saat menghidupkan komputer file /proc/sys/vm/mmap_min_addr akan berisi 0 terus dan dosemu akan bisa berjalan lancar. Untuk perubahan di Ubuntu dan turunannya bisa dilihat di blog-nya High-Tech Rojak

Categories: free software world Tags: ,

7 langkah mudah instalasi PBX software dan VOIP server (asterisk)

December 5th, 2006 3 comments

Ingin punya PBX software atau VOIP server sendiri? Mudah, ikuti 7 langkah instalsinya berikut ini. Saya menggunakan Fedora Core 6, yang versi 5 juga bisa. Anda harus sudah terbiasa menggunakan command line (kalau ingin menginstall server software di GNU/Linux tentunya sudah) dan perintah-perintah dibawah semua menggunakan user root.

  1. Download asterisk dan asterisk-addons di ATrpms. Kalau anda sudah mengkonfigurasi repositori ATrpms dalam yum anda tinggal melakukan perintah ‘yum install asterisk asterisk-addons’ saja dan langkah kedua dan ketiga bisa diabaikan.
  2. Intall dulu dependensi yang diperlukan, software-software ini ada di repositori extras-nya Fedora Core:
    # yum install zaptel zaptel-lib libpri
  3. Setelah itu baru install asterisk dan asterisk-addons:
    # cd /tempat-download-asterisk/
    # rpm -Uvh asterisk-1.2.13-30.fc6.at.i386.rpm \
    asterisk-addons-1.2.5-12.fc6.at.i386.rpm
  4. Coba test apakah asterisk bisa berjalan:
    # service asterisk start
    Starting asterisk: [ OK ]
    Kalau keluar [ OK ] berarti asterisk bisa berjalan dengan baik.
  5. By default asterisk akan dijalankan waktu komputer dinyalakan, kalau anda ingin mengubahnya menjadi manual bisa diseting dengan chkconfig:
    # chkconfig asterisk off
  6. Konfigurasi! Untuk lebih detailnya bisa baca ‘Manual Asterisk IP PBX‘ tulisannya Anton Raharja atau ‘Instalasi Minimal Asterisk‘ tulisannya pak Onno.
  7. Setelah melakukan perubahan jangan lupa me-reload asterisk service, kalau tidak puas dengan reload bisa juga restart ;-)
    # service asterisk reload
    atau
    # service asterisk restart

Jadilah PBX software sekaligus VOIP server anda! Selamat menikmati..

Update: dapat ijin dari pak Onno untuk upload dokumennya.

Categories: IT world, free software world Tags:

Tidak punya CD Burning mau install Fedora? Gak masalah!

December 1st, 2006 No comments

Yup, betul. Kita bisa install Fedora dengan file-file .iso yang kita download. Walaupun anda mempunyai CD/DVD burning dan ingin membakar CD atau DVD, install melalui file .iso yang ada di hardisk tetap menarik karena jauh lebih cepat. Gak sampai setengah jam Fedora baru anda telah siap! Anda cuma punya partisi fat32? Juga bisa.

Yang perlu disiapkan:

  • Boot loader yang dipakai adalah GRUB. Kalau sebelumnya anda sudah mempunyai salah satu distro GNU/Linux biasanya boot loadernya sudah GRUB. Kalau belum, bisa bikin boot disk yang akan menjalankan GRUB terlebih dahulu. Minta tolong teman yang sudah pakai GRUB dan jalankan perintah-perintah ini:
    Masuk ke folder grub
    # cd /boot/grub/
    Siapkan disket, periksa apakah ada file stage1 dan stage2 di folder ini. Lanjutkan..
    # dd if=stage1 of=/dev/fd0 bs=512 count=1
    # dd if=stage2 of=/dev/fd0 bs=512 seek=1
    Dan siaplah disket GRUB-nya.
  • File .iso dari Fedora baik CD iso ataupun DVD iso. Letakkan dalam satu folder dan tulis letaknya. Oh ya, partisi tempat dimana iso itu berada harus diingat juga dan lakukan konversi untuk perintah di GRUB. Misalnya ada dipartisi /dev/hda4, konversinya (hd0,3). Kalau di /dev/hdb6 konversinya (hd1,5). Untuk di windows kalau di drive C biasanya dikonversi ke (hd0,0), tapi kalau di drive D biasanya dikonversi ke (hd0,4).
  • File-file yang diperlukan untuk booting ke Fedora installer, file-file ini bisa diambil dari CD1 file iso atau dari DVD, satu folder yang bernama isolinux. Bisa juga di-download dari mirror-nya Fedora.

Yak, itu saja. Ada lagi dink, keingintahuan dan backup data-data yang ada di hardisk anda tentunya. Kalau semua sudah, ayo kita mulai… Read more…

Categories: IT world, free software world Tags:

Indonesia dan Open Standards

June 5th, 2006 No comments

Sebetulnya Indonesia sudah punya IGOS, tetapi gaungnya tidak terlalu terdengar. Seperti yang menristek bilang implementasi IGOS cenderung lambat atau bahkan masih sekedar lip service. Apakah perlu adanya peraturan yang lebih kuat untuk implentasi tersebut? Mungkin akan banyak pihak yang tidak setuju, terutama dari vendor propertiary software. Dan mungkin ada benarnya juga karena hal itu tidak memberikan kesempatan yang sama kepada semua pihak.

Ada jalan lain sebenarnya, seperti yang sedang diproses oleh pemerintah/parlemen Denmark untuk menerapkan open standard terhadap software-software yang dipakai untuk keperluan publik. Dengan cara seperti ini vendor propertiary tidak bisa menghindar untuk mengadopsi open standard. Kalau open standard sudah diterapkan, maka pengguna bisa lebih leluasa menentukan software yang akan dipakai, tidak tergantung pada satu vendor saja.

Tentu kita bisa berdebat bahwa dokumen yang dibuat dengan Words sekarang bisa dibuka dengan OpenOffice.org, jadi tidak perlu lagi hal semacam itu. Untuk saat ini memang benar, tetapi untuk versi Words selanjutnya yang memakai format baru akankah OpenOffice.org bisa mendukung? Hal ini bukan masalah teknis, lebih ke masalah legal karena akan ada perdebatan hukum tentang legalkah kalau OpenOffice.org dan word processor yang lain mendukung format baru Words.

Jadi, saya mengharapkan agar pemerintah kita bisa sebanyak mungkin menggunakan open standard agar ke depan kita tidak terlalu bergantung kepada vendor tertentu.

Categories: IT world, free software world Tags:

Demo ala RMS (FSF Founder)

May 1st, 2006 No comments

RMS melakukan demonstrasi dan demonya sangat kontras jika dibandingkan dengan demo-demo yang ada di Indonesia. Dari artikel di fsf ini kita bisa lihat bagaimana gaya dia dalam memprotes sesuatu dengan cara-cara yang elegan. Cukup dengan membawa kertas putih bertuliskan sesuatu yang dimaksud dan membagi-bagikan selebaran yang sama isinya ke peserta seminar, dia cukup mendapatkan perhatian yang diperlukan untuk menyampaikan maksudnya. Tidak perlu berteriak-teriak, tidak perlu berorasi sampai mulut berbusa, tidak perlu mengerahkan massa (yang kadang kita harus mengeluarkan duit untuk mendapatkannya), cukup berdiri sembil memegangi pamflet dan mendengarkan seminar. Read more…