Friday, March 19, 2010

Brain Tips: Convert FLV ke MP3 pada Linux

Setiap hari selalu membuka Youtube untuk cari lagu, klo dah dapet yang bagus langsung aja download tapi karena hasil download berupa .FLV (dan kebetulan download pake 'OK' doank), jadi gw harus convert ke MP3 supaya lebih portable aja.

Setelah searching ada orang yang sangat baik di forum ubuntu yang membuah script simple, dengan menggunakan ffmpeg dan lame dapat menghasilkan file MP3 tanpa kehilangan kualitas suara.

Buatlah sebuah file dengan nama flv2mp3 (atau apa saja):
  
vi flv2mp3

Lalu tambahkan script ini ke dalamnya:
  
#!/bin/sh
# this script should convert files from FLV to WAV and then to MP3
echo " "
echo "  Welcome to FLV to MP3 converter!  version 0.1"
echo " "
infile_name="$@"
# exit if the user did not enter anything:
if [ -z "$infile_name" ]; then
    echo " "
    echo "You did not tell me the file name, so I will exit now."
    echo " "
    exit
fi
echo " "
ffmpeg -i "$infile_name" -acodec pcm_s16le -ac 2 -ab 128k -vn -y "${infile_name%.flv}.wav"
lame --preset cd "${infile_name%.flv}.wav" "${infile_name%.flv}.mp3"
rm "${infile_name%.flv}.wav"
echo " "
echo "OK. I'm done! Have fun!"
echo " "
exit

Simpan file tersebut dengan :wq dan tambahkan write, dan untuk mempermudah salin file tersebut ke /usr/bin atau di direktori manapun yang terdapat pada $PATH:
  
chmod a+x flv2mp3

Cara penggunaannya:
  
flv2mp3 FileAnda.flv

Monday, March 15, 2010

Brain Tips: Modifikasi Android agar dapat terkoneksi ke jaringan Ad-Hoc

Bermula dari keinginan men-sharing koneksi internet dari notebook ke T-Mobile G1, pada notebook ter-install Linux Mint 8 Helena, untuk memudahkan sharing digunakan DHCP ditambah kemudahan dari Firestarter.

Pertama menginstall DHCP Server pada Linux Mint, lalu mengatur penggunaannya pada /etc/dhcpd/dhcp.conf, lalu mengatur network interfaces dengan bantuan Network Manager dari GNOME, hal ini mudah dilakukan, pengaturan ini menggunakan mode Ad-Hoc, setelah mengatur pada sisi Notebook, saatnya mencoba pada G1 namun sayang G1 tidak mendeteksi Wireless dari Notebook, setelah banyak mencari pada Google, ternyata ada pengaturan yang harus diubah pada G1.

Sebelum mengikuti tutorial ini ada kebutuhan yang harus terpenuhi;

     1. Rooted G1 Phone
     2. Terminal Emulator
     3. Busybox

Jika anda menggunakan CynogenMod, maka ketiga kebutuhan diatas sudah terpenuhi langkah pertama buka Terminal Emulator, ubah menjadi User Root

su

Remount partisi /system agar bisa di baca-tulis dengan perintah berikut

mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system

Menuju /system/etc/wifi/

cd /system/etc/wifi

Ubah file tiwlan.ini dengan menggunakan VI (Editor bawaan dari BusyBox Android) diharapkan pengguna sudah terbiasa dengan Editor VI"

vi tiwlan.ini

Lalu cari entry berikut, bisa menggunakan Trackball atau search pada Command Mode rubah angka "0" pada entry berikut menjadi "1":

WifiAdhoc = 0

Lalu tambahkan 2 entry tersebut, tambahan ini letakan di bawah WifiAdhoc untuk memudah kan editing, pada baris pertama itu "HTCG1" adalah nama SSID yang harus disamakan dengan SSID Notebook, kalian bisa menggantinya

dot11DesiredSSID = HTCG1
dot11DesiredBSSType = 0

Lalu edit file berikut:

vi /data/misc/wifi/wpa_supplicant.conf

Tambahkan entry berikut:

network={
      ssid="HTCG1" 
      scan_ssid=1
      key_mgmt=NONE
      mode=1 
}

Jika ada masalah coba tambahkan 'ap_scan=2' setelah 'mode=1' setelah melakukan modifikasi restart dahulu G1, dan coba koneksinya

Sumber

Saturday, March 13, 2010

Brain Tips: Bermain dengan gxmessage

Mungkin kita butuh notifikasi, remainder, dll, pada saat di depan komputer, sebenarnya banyak sekali software yang mampu melakukannya, tapi alangkah baiknya jika kita mempunyai opsi untuk itu, sebagai contoh yang saya pilih, gxmessage.

Fungsi gxmessage sendiri adalah memunculkan window yang menampilkan pesan yang didapat dari command line, dari file, atau dari stdin, window tersebut juga memiliki satu barus Buttons yang dimana bisa kita modifikasi untuk memberikan return code.

Berikut beberapa contoh:

gxmessage -center -buttons "Yes:1, No:2" -geometry 400x360 \
          -timeout 5 -title "Evolutionary Brain & Life Quiz" \
          'Apakah AI akan melampui manusia?


Gambar diatas hasil dari perintah yang dieksekusi sebelumnya, sekarang akan saya jelaskan maksud dari perintah diatas:

gxmessage
  Perintah utama untuk memanggilnya.

-center
  Window yang dihasilkan akan di letakan ditengah layar.

-buttons "Yes:1, No:2"
  Dengan bentuk pemakaian LABEL:VALUE, dimana LABEL
  nanti yang akan terlihat pada Buttons, dan VALUE bisa berarti
  ukuran Buttons atau juga bersifat penomoran.

-geometry 400x360
  Mengatur ukuran window yang akan tampil

-timeout 5
  Timer untuk menentukan berapa lama window akan terlihat

-title "Evolutionary Brain & Life Quiz"
  Mengatur judul dari window

'Apakah AI akan melampui manusia?
  Isi dari window yang akan tampil

Perintah diatas mungkin akan sangat membosankan, kita dapat membuatnya lebih interaktif dengan menambahkan reaksi setiap apa yang dipilih, sebagai contoh jika kita memilih "Yes" akan ada balasan "Gak mungkin kali!" dan jika kita memilih "No" akan ada balasan "Yup, betul sekali!" dengan scripting yang simple akan kita buat:

!/bin/bash

gxmessage -center -buttons "Yes:1, No:2" -geometry 400x360 \
          -timeout 5 -title "Evolutionary Brain & Life Quiz" \
          'Apakah AI akan melampui manusia?'

jawab=$?

if [ "$jawab" = 1 ]; then
  gxmessage -center "Gak mungkin kali!"
else
  gxmessage -center "Yup, betul sekali!"
fi

Untuk melihat hasilnya, bagaimana jika anda mencoba sendiri :D

Thursday, March 11, 2010

Brain Tips: Automount External Drive pada OpenBox

Asiknya menggunakan Archlinux kita dapat mengcustomize sesuka kita, kayak gentoo lah, namun Archlinux sudah di optimize untuk i686. "Desktop" bukanlah hal yang mutlak harus cantik menurut saya, karena itu saya tidak menggunakan DE seperti GNOME, KDE, atau lainnya, OpenBox saya pilih karena WM yang well-documented, banyak user yang menggunakannya, dll

Setelah terinstall ada masalah dengan Automount, karena OpenBox hanya WM, jadi dia tidak mempunyai kemampuan untuk menangani tugas-tugas DE, ada solusi mudah untuk itu.

Cukup menambahkan 1 kalimat pada .xinitrc

ck-launch session
Atau lengkapnya;

exec ck-launch-session openbox-session

Restart X untuk melihat hasilnya, mudah bukan?
mungkin ada yang penasaran dengan ck-launch-session, perintah itu mengaktifkan ConsoleKit dan "menempalkannya" pada X session, untuk lebih jelasnya tentang ConsoleKit silakan lihat di website resmi.

My Emacs Configuration [Obsolete]

THIS CONFIGURATION IS OBSOLETE, I TRY TO MAKE NEW PARADIGM ABOUT IDE WITH EMACS
SO NEED MORE TRIAL AND ERROR

With emacs, i need to programming on C/C++, Python, Assembly, and LaTeX. Also i want to have email client, full-fledged terminal, chatting client, tabbed, emacs can do all of it.

GNU Emacs 23.1.1

C/C++ Programming:
  Just execute M-x c-mode

Python Programming:
  Install pymacs rope ropemacs yasnippet from AUR
a tutorial regarding stuff above, from EnigmaCurry

Assembly: ??

LaTeX:
  Install Auctex from Repository, and execute M-x latex-mode

email client: Wanderlust
  Install from Repository

full-fledged terminal: multi-term
chatting client: ELIM

Here is my .emacs

(require 'python)
(require 'yasnippet)
(require 'doc-view)
(autoload 'awk-mode "cc-mode" nil t)

;; AUCTeX
(load "auctex.el" nil t t)
(setq TeX-auto-save t)
(setq TeX-parse-self t)
(setq-default TeX-master nil)

(autoload 'python-mode "python-mode" "Python Mode." t)
(add-to-list 'auto-mode-alist '("\\.py\\'" . python-mode))
(add-to-list 'interpreter-mode-alist '("python" . python-mode))

;; Load-Path
(add-to-list 'load-path "/usr/share/emacs/")

;; Color Theme
(require 'color-theme)
(color-theme-initialize)
(color-theme-charcoal-black)

;; Fonts
(set-default-font "CodingFontTobi")

;; elscreen
(load "elscreen" "ElScreen" t)

  ;; F9 create a new elscreen, shift-F9 kills it
  (global-set-key (kbd ""  ) 'elscreen-create)
  (global-set-key (kbd "S-") 'elscreen-kill)

  ;; Super+P/U switchs between elscreen
  (global-set-key (kbd "s-o") 'elscreen-previous)
  (global-set-key (kbd "s-p") 'elscreen-next)

;; Multi-term
(require 'multi-term)
(setq multi-term-program "/bin/bash")

;; Initialize pymacs and rope
(require 'pymacs)
(pymacs-load "ropemacs" "rope-")

(autoload 'pymacs-apply "pymacs")
(autoload 'pymacs-call "pymacs")
(autoload 'pymacs-eval "pymacs" nil t)
(autoload 'pymacs-exec "pymacs" nil t)
(autoload 'pymacs-load "pymacs" nil t)

;; Yasnippet
(add-to-list 'load-path "/usr/share/emacs/site-lisp/yas")
(yas/initialize)
(yas/load-directory "/usr/share/emacs/site-lisp/yas/snippets")

Brain Tips: Emacs tab menggunakan elscreen

Emacs emang bukan cuman editor, sifatnya yang dapat di gunakan untuk berbagai macam hal, seperti membaca email, browsing, chatting, dll menjadi pilihan menarik bagi programmer, sekarang saya akan membahas bagaimana membuat "Tab" pada Emacs seperti IDE lainnya, untuk mewujudkan itu kita dapat menggunakan elscreen sebuah extension untuk membuat multiple buffer pada window yang berbeda (tidak membagi window seperti multiple window).

1. download elscreen dan jangan lupa untuk mendownload APEL
2. Install APEL terlebih dahulu dengan make
3. Salin file elscreen.el ke load-path anda
4. Tambahkan (load "elscreen" "ElScreen") pada file .emacs

Voila! restart emacs untuk mencobanya