Archive Page 2

Membangun apt-web

Saya hanya menyalin tulisan dari berkas INSTALL.id.txt pada paket apt-web yang dibuat oleh Pak Fajran Imam Rusadi. Penjelasan di berkas tersebut sudah cukup baik, jadi rasanya tidak perlu menulis ulang, saya hanya menambahkan contoh konfigurasi pada apt-web.ntb.linux.or.id. Apt-web dapat diunduh di https://github.com/fajran/apt-web .

Kebutuhan
=========

1. Sistem yang terpasang apt-get. Apt-web membutuhkan apt-get dan apt-cache.
2. Web server dengan php4 (atau lebih baru)

Konfigurasi
===========

1. Atur nilai URL repositori yang akan dijadikan referensi, contoh
http://archive.ubuntu.com/ubuntu/

Buka berkas config.php dan atur nilai $_repo_mirror_base.

2. Jika Anda ingin menambah repositori baru, lakukan langkah berikut.

a. Masuk ke direktori virtual/

      $ cd virtual

b. Salin direktori “base” ke sebuah direktori baru

      $ cp -a base ubuntu-8.04-i386

c. Sunting berkas sources.list di dalam direktori tersebut.

      $ cd ubuntu-8.04-i386
      $ cat sources.list
      deb http://archive.ubuntu.com/ubuntu/ hardy main restricted universe multiverse

Pastikan menggunakan referensi URL repositori yang diatur dalam
berkas konfigurasi. Jika Anda mengubah nilainya, pastikan Anda
memperbaharui seluruh repositori yang ada.

d. Letakkan berkas “status” (/var/lib/dpkg/status) dari sebuah sitem
yang baru diinstal.
e. Perbaharui indeks.

      $ apt-get -c apt.conf update

f. Perbaharui berkas konfigurasi config.php. Tambahkan repositori baru
dalam variabel $_repo_list.

      $_repo_list = array(
        array('repository-directory', 'Deskripsi repsitori'),
        array('ubuntu-8.04-i386', 'Ubuntu 8.04 "Hardy Heron" i386')
      );

3. Jika Anda ingin menambah mirror baru, ubah variabel $_mirror_list dalam
berkas konfigurasi config.php

   $_mirror_list = array(
     array('http://url.mirror/ubuntu/', 'Nama Repositori'),
     array('http://kambing.ui.ac.id/ubuntu/', 'KAMBING.ui.ac.id')
   );

Tambahan

Contoh konfigurasi config.php pada http://apt-web.ntb.linux.or.id :

Update : wordpress.com menolak kode sumber php meskipun saya sudah mengapit dengan tag


. Silakan melihat contoh di http://blog.pdft.net/2013/11/membangun-apt-web/

Memasang PlanetPlanet di Shared Hosting

Saya berniat membuat feed aggregator untuk blog teman-teman Kaipang dan mencoba plugin-plugin dari wordpress. Tapi tidak ada yang sesimpel, sebagus, dan terutama sekhas planet dengan hackergotchi-nya. Rata-rata, komunitas perangkat lunak terbuka mempunyai feed aggregator sendiri untuk blog pengembangnya dan mereka menggunakan planet. Misal seperti :

dan lain sebagainya.

Yep, planet.ntb.linux.or.id sudah up! Belum keren benar sih, CSS-nya belum dibenahin.

Planet dapat diunduh di http://planetplanet.org. Pasang/unggah berkas-berkas planet ke server anda, ke path yang dikehendaki. Planet berbasis python dan pada mulanya saya mengira script python tersebut mesti dijalankan via browser, seperti halnya django. Ternyata tidak demikian. Terberkatilah otak saya yang bego ini.

Cara kerja planet adalah, kita mengkonfigurasi berkas config.ini, melengkapinya dengan umpan rss yang ingin kita kumpulkan, membuat cron job untuk menjalankan script planet yang mana akan meng-generate sebuah berkas html yang sudah lengkap dengan kumpulan umpan RSS. Berkas html itulah yang dikonsumsi publik.

Di shared hosting, python memang tidak tertulis sebagai fitur di cpanel, tapi mengingat betapa python sudah menjadi dependensi yang hampir selalu ada di setiap distribusi GNU/Linux, terutama server, maka bisa dipastikan, pada shared hosting tersebut python bisa dijalankan, meski pun tidak secara langsung.

Di shared hosting saya, juga tidak disediakan fitur akses shell. Jadi satu-satunya jalan adalah saya mencoba menjalankan perintah python tersebut di fitur cron dan menunggu outputnya via email.

Saya menggunakan perintah berikut untuk dicron setiap 12 jam.

python /home/username/public_html/planet/planet.py /home/username/public_html/planet/examples/fancy/config.ini.

Awalnya, karena tidak sabaran, saya men-set cron untuk berjalan setiap menit supaya bisa lihat langsung hasilnya. Akibatnya fatal, CPU load-nya full terus dan situs menjadi sulit diakses, termasuk cpanel. Jadi untuk testing-lihat-langsung, saya kira interval 3-5 menit sudah cukup. Mesti sabar. 😛

Satu lagi catatan untuk konfigurasi planet pada berkas config.ini, mengganti setiap path di berkas tersebut dengan path absolute adalah sangat disarankan. Pada kasus saya, tanpa melakukannya, skrip planet.py hasilnya random, kadang berhasil kadang gagal (gagal mendeteksi berkas yang diperlukan). Konfigurasi selebihnya sudah dijelaskan dengan gamblang pada komentar di berkas config.ini.

Contoh output cron yang berhasil dan saya terima di email :

DEBUG:planet.runner:Socket timeout set to 50 seconds
INFO:planet.runner:Loading cached data
INFO:planet:Feed <http://doomplo.linux-id.net/feeds/posts/default> unchanged
INFO:planet:Updating feed <http://amrinz.wordpress.com/feed/>
DEBUG:planet:Last Modified: 2013-09-30T08:33:24+00:00
DEBUG:planet:Items in Feed: 8
INFO:planet:Feed <http://blog.pdft.net/feed/> (formerly <http://blog.pdft.net/feed>) unchanged
INFO:planet:Updating feed <http://furkan.dompu.info/feeds/posts/default>
DEBUG:planet:E-Tag: W/"D0YGR3k4cCl7ImA9Wh5SGUk."
DEBUG:planet:Last Modified: 2013-10-16T17:38:46+00:00
DEBUG:planet:Items in Feed: 25
INFO:planet:Feed <http://blackclaw.wordpress.com/feed/> unchanged

INFO:planet.runner:Processing template /home/username/public_html/planet/index.html.tmpl
INFO:planet.runner:Writing /home/username/public_html/planet/index.html
INFO:planet.runner:Processing template /home/username/public_html/planet/examples/atom.xml.tmpl
INFO:planet.runner:Writing /home/username/public_html/planet/atom.xml
INFO:planet.runner:Processing template /home/username/public_html/planet/examples/rss20.xml.tmpl
INFO:planet.runner:Writing /home/username/public_html/planet/rss20.xml
INFO:planet.runner:Processing template /home/username/public_html/planet/examples/rss10.xml.tmpl
INFO:planet.runner:Writing /home/username/public_html/planet/rss10.xml
INFO:planet.runner:Processing template /home/username/public_html/planet/examples/opml.xml.tmpl
INFO:planet.runner:Writing /home/username/public_html/planet/opml.xml
INFO:planet.runner:Processing template /home/username/public_html/planet/examples/foafroll.xml.tmpl
INFO:planet.runner:Writing /home/username/public_html/planet/foafroll.xml

Kemudian silakan dicek berkas html yang berhasil di-generate. 🙂

Mas Willy Permana atas bisikannya yang sakti. 😀

Repost dari :
[0] http://blog.pdft.net/2013/10/memasang-planetplanet-di-shared-hosting/

Build System untuk freepascal di Sublime Text

Meskipun hasil kompilasinya kadang-kadang berbeda dengan turbo pascal (yang bahkan sudah discontinued) yang dipakai dan disarankan oleh dosen, saya bersikeras tetap menggunakan fpc (freepascal) dan berusaha mencari lingkungan yang nyaman untuk itu.

Pilihan pertama jatuh pada Geany, yang secara default mendukung fpc plus tombol “compile” dan “run”-nya yang mudah dijangkau. Tapi lagi-lagi saya jatuh cinta pada Sublime-text, terutama pada kesederhanaan dan fitur distraction mode-nya. Sublime-text mendukung sintaks pascal namun secara default tidak mendukung kompilasi langsung. Untungnya Sublime-text sangat fleksiblel, menyediakan fitur untuk membuat lingkungan build sendiri dengan dukungan regex. Setelah baca-baca dokumentasi dan otak-atik sedikit, jadilah ini.

{
“cmd”: [“fpc”, “$file”],
“file_regex”: “^[ ]*File \”(…*?)\”, line ([0-9]*)”,
“selector”: “source.pascal”
}

Simpan di ~/.config/sublime-text-3/Packages/User/ dengan ekstensi *.sublime-build, misal fpc.sublime-build. Berikutnya tinggal dipilih di Tools>Build System>fpc. Jalan pintas kompilasi dengan kombinasi tombol Ctrl+B dan eksekusi hasilnya via terminal.

Referensi :

[0] : http://sublimetext.info/docs/en/reference/build_systems.html

repost dari http://blog.pdft.net/2013/10/build-system-untuk-freepascal-di-sublime-text/

Back to Ubuntu

With my own hand, I was destroy all the data on my notebook. this is not the first time. Thanks to dropbox and flickr (I use simple-smart utility to sync my photos : flickrsmartsync), who saved the most important data on my notebook.

I did this foolish thing several times ; installing new OS, playing with dd, resizing partitions, and at the end, l lost all data. This time, I was playing with clonezilla and found that it was same dangerous as dd utility, especially if you are not affected by caffeine. I’m trying to clone the whole harddisk to other harddisk and see what must be done with Slackware configuration in new clone, especially which need harddisk’s UUID configuration. Unfortunatelly I clone it in wrong direction. The external harddisk was cloned to the notebook, and tadaa! I didn’t notice it until I boot my notebook, and it come up, the innocent face of kernel panic on my screen.

I am not bothered if my data was destroyed, it was helped by the great service of dropbox and flickr. The thing I was worried is the operating system it self, the Slackware 14.0 that installed 1 year 4 months ago (updated from 13.37). Maintain a Slackware system is not easy as the book said, IMHO. I was spending too many hours just to get a thing works, with all this dependency hell, manual typed configuration. Slackware forces me to learn thing deeply, read a bunch of documentations, and adapt to simple principle which seems not. And when my Slackware system was destroyed, I’m not strong enough to redo all these experiences, even if I loving it. Slackware is for the real man (blek quotes) who has too many time to spare (extend by me). Thanks to Patrick Volkerding and the great Slackware community. I don’t leave Slackware, I still maintain it on one of my workplace’s servers.

Testdisk (with it’s photorec) doesnt help to much, but it saves to recover some data that not yet uploaded to cloud storages.

Back to apt-based system

It is like starting a new life, new house, new environment, new wife (ah). I choose ubuntu, one of my favorite distribution when the first time I learn GNU/Linux. The last time I am using ubuntu for daily purpose is when the 10.04 LTS (Lucid Lynx) was released. When Natty was released, I didnt like it’s unity interface, looks like OSX copycat. But now, unity has changed and grow up, it’s user interface design seems great to me.

Now, I rearrange 2 partition on my harddisk, one for root, one for home. No other partition any more, no swap (I think 3GB ram is enough for me). It prevents me to installing other OS alongside. I would use virtual environment for testing purpose, like virtualbox and qemu.

I remember what Ketupang said about GNU/Linux distributions, “Choose one and master it consistently.” From Knoppix to Ubuntu, then Debian, Arch, Slackware, and now back to Ubuntu. I do regret about it. I hope I can live with Ubuntu, as long as it’s support and community is available, and become a general user rather than a geek who always trying to break his system. Too often switching distributions is not good, you always have to learn something new rather than understand it skillful.

UPDATE :

Okay, I have talking bullshit. If I have to choose one, then I choose Slackware. Yes, I’m going back to Slackware.

Reason :
Everytime I running apt-get, I realize that I miss slackpkg and sbopkg. Seriously.

Technical reasons :
Ubuntu have a lots of documentation, with its growing community sites like askubuntu.com , but it isn’t clear as Archlinux’s wiki or Slackware documentation project. The battle of Mir and Wayland also make me hestitate. And I was wrong about dependency thing. Apt and its automatic-dependecy-resolving isn’t really fun as I imagine. I love dependency-hell, no matter what.

by piko, reblogged from http://blog.pdft.net/2013/10/back-to-ubuntu/

Inikah Cinta?

Direpos dari akun FB Farhan Perdana, satu-satunya utusan Kaipang untuk ILC 2013 Aceh.

Hari ini, di Aceh Timur, saat melintas gagah dengan diiringi Ashita E No Yuuki (yang dinyanyiin sendiri), saya berpapasan dengan dua cewek andereij random pake seragam SMA yang lagi dorong Honda Supra keluaran pertama di jalan yang panas sekitar hutan kelapa random. Kasihan, saya pikir. Maka saya balik dan tanya, ada apa, habis bensinkah atau bagaimana. “Mesin mati,” katanya. Maka saya suruh mereka geret ke tempat yang teduh, dan saya periksa.

Bensin ada, tapi distarter memang mati. Saya buka tutup busi dan saya cek apinya, nyala. Lepas kepala busi, cek kompresi, kompresi ada. Cek mangkok karbu, bensin ada. Saya pasang lagi busi, dan kick-starter, tapi tetap ga nyala. Maka saya lepas lagi busi, pasang di cup businya, dan tempelin ke bodi sambil megang cup busi. Saya suruh anak SMA itu starter.

Oh, api busi nggak ada. Tapi tiba-tiba ada perasaan sesuatu yang menjalar, merambat dari tangan saya yang memegang cup busi ke dada saya.
Sekejap saya berpikir, “Inikah cinta?”

Ternyata saya kesetrum.

Oke, jadi cup businya korslet. Saya pasang kembali busi, cup busi dilepas, dan kabel busi siaran langsung ke busi tanpa perantara cup busi, sambil ditanya-tanya sama mereka, “nggak bisa ngomong Aceh?”, “Dari mana?”, “Udah jalan berapa hari?” dan berbagai pertanyaan basa-basi-basong lainnya… Singkat cerita, kick-starter motor, nyala. Okelah, saya bilang ke mereka, “dik, cup busi kamu rusak. Beli yang baru, yang asli Honda. Paling 15 ribu.”

Mereka naik motornya dengan senang, dan sembari melambaikan tangan berkata “Terima kasih abaaang~!”

Fuck, you know, fuck. I feel like kembali ke masa-masa SMA, fuck.

Jadi untuk menyadarkan diri, saya nyalakan lagi rokok saya, nenggak air isi ulang pombensin (kran) dan melanjutkan perjalanan.

Sekitar 10-15 menit ke depan, pas masuk kampung samting itu, saya lupa apaan. Pokoknya ada anak kecil yang berdiri di pinggir jalan di bawah pohon. Anak itu ngeliat saya, lari masuk ke halaman rumahnya, dan keluar dengan lima atau enam orang, terus si anak nunjuk-nunjuk saya.

Nah, si bapak yang paling tua dari kerumunan itu melambaikan tangan nyuruh stop. Saya bingung, apa saya kabur saja? Salah apa saya? Setelah mengandalkan kemampuan analisa lapangan super-cepat yang saya dapat setelah Shocker merekonstruksi ulang tubuh saya, saya melihat ada dua RX-King yang parkir di halaman. Mau kabur juga percuma, dua kali ngurut gas, pasti ini RX-King bisa ngejar saya.

Jadi saya berhenti sajalah, kalau ada salah-salah, bukannya bisa dibicarakan secara kekeluargaan, bukankah begitu, saudara-saudara? Tapi si bapak (dan gerombolannya) ini nggak pengeng bicara. Mereka senyum-senyum gitu terus ngajak (maksa) saya masuk dulu. “Masuk, masuk saja dulu.” Itu saja ucapnya. Sekalinya ngomong panjang, pake bahasa Alien bernama Aceh yang Presiden aja ga ngerti, apalagi saya. Saya berpikir, apakah saya ini mau direkrut jadi anggota GAM atau gimana. Saya mencoba menenangkan diri dengan berpikir bahwa GAM lagi ga butuh orang ganteng.

Tapi gagal.

Jadi saya manut masuk saja. Sampai di dalam, sudah ada tikar dan nasi dan FUCK, KEPITING RAJUNGAN SEBASKOM. “Silahkan, silahkan makan.” katanya lagi dengan logat aceh yang kentalnya kalah-kalah oli topwan. “Eh, ada apaan emang, pak?” Saya nanya. Dia mikir sebentar, kemudian ngulang lagi silahkan-silahkan-makan-nya. Entah dia mikir saya ngomong apaan, atau dia bingung jelasin pake bahasa Indonesia yang saya mengerti.
Tapi bodohlah, saya sebenarnya lagi dilema. Ada dua dilema di kepala saya saat itu.

Pertama, saya lagi OCD 24jam (karena bokek)
Kedua, saya alergi dengan crustacea.

Jadi, coba, bisakah anda berikan satu alasan, kenapa saya harus menyantap kudapan yang bapak (dan gerombolannya) itu suguhkan…?

“KEPITING RAJUNGAN”

FAK OCD LAH!

Jadi saya embat saja sebaskom kepiting itu. Toh ada tablet CTM di bagasi motor saya, kalaupun tetap alergi, jus karbon dari arang juga ntar bisa diandalkan. Palingan ntar-ntar mencret.

Selagi saya makan, si bapak diskusi samtingentahapa sama gerombolannya, pake bahasa Alien Aceh itu. Saya sih sudah masa bodo. Setelah saya selesai makan, saya ditrimakasihin, terus diantar ke luar lagi. Saya mikir, ini bapak kesambet apa, yang dikasih makan saya, kok dia yang terima kasih? Tapi yah, saya jawab saja, “Sama-sama, pak.”

Terus dia bilang, “Yang mati mesin tadi anak saya. Tadi SMS.”

Tengkyu andereij SMA Random dan keluarga. I luv u poll. — in Lhokseumawe, Aceh.

Streaming OUYA audio via blueman’s A2DP receiver plugin @ Slackware 14.0 32 bit

g3052Setelah menerima perangkat OUYA dari Mas Yan, saya jadi bingung sendiri. Memang benar di saya ada hdmi2vga converter yang sepaket sama Raspberry kiriman Mas Willy kemarin. Panik selanjutnya disebabkan karena OUYA tidak menyediakan port audio tersendiri, semua jadi satu di port HDMI. Minggu pertama saya bermain tanpa suara. Setelah keluyuran di mesin pencari Google, saya mendapati headset bluetooth bisa digunakan di OUYA, artinya tidak menutupi audio dari OUYA distreaming ke perangkat yang disimulasikan sebagai penerima audio via bluetooth. Untungnya, Blueman — Bluetooth Manager untuk desktop di GNU/Linux — sudah mendukung ini, dengan syarat pulseaudio terpasang.

Sayangnya, blueman bawaan Slackware 14.0 yakni versi 1.20 masih mempunyai kutu yang menjengkelkan, yaitu gagal mendeteksi versi pulseaudio dengan benar (di Debian dan Ubuntu, kutu ini sudah dipatch). Maka saya mengambil rilis blueman yang terakhir (1.23) dari upstream dan mengkompilasi sendiri. Setelah blueman 1.23 terpasang, saya mendapatkan galat saat menjalankan blueman-applet.

Traceback (most recent call last):
File "/usr/bin/blueman-applet", line 37, in <module>
from blueman.Constants import *
ImportError: No module named blueman.Constants

Hal ini karena make install meletakkan modul tersebut di path yang berbeda dengan aturan distribusi Slackware. Pindahkan saja. (Constants.py terletak di /usr/local/lib/python2.7/site-packages/blueman/)

mv /usr/local/lib/python2.7/site-packages/* to /usr/lib/python2.7/site-packages/

Sekarang tinggal jalankan blueman-applet, kemudian mengaktifkan plugin pulseaudio dan service A2DP.

ouya-blueman-plugin

ouya-blueman-service

Kemudian pair dengan OUYA, pilih sebagai Audio Source.

ouya-bluetooth-receiver

Selanjutnya gunakan pavucontrol (bisa didapatkan di SBo) untuk mengatur volume dan sebagainya.

UPDATE :

Untuk permainan yang memakan banyak kinerja CPU, terutama yang 3D, audio latency-nya terasa sekali, bahkan hampir 1 detik. Untuk game-game ringan seperti TowerFall atau Wormhell, audionya lumayan lancar. Apakah mungkin men-sideload aplikasi yang bisa mengatur prioritas CPU setiap aplikasi ke OUYA dan mengatur agar service bluetoothnya mendapat prioritas tinggi? Nanti kita coba. Saya juga jadi bertanya-tanya apakah kabel HDMI bisa di-split dengan kasar begitu saja.

Kompilasi Video Timelapse dengan Mencoder

$ mencoder “mf://*.JPG” -mf fps=12:type=jpg -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell:vbitrate=7000 -vf scale=800:600 -oac copy -o movie.avi

Biasanya saya hanya peduli pada parameter fps dan skala video. Prosesnya lumayan cepat walaupun foto-fotonya memiliki resolusi besar.

 



%d blogger menyukai ini: