Programming

PHP: Procedural vs. Object Oriented Coding Style

PHP allows you to write code in two flavours, one is procedural and the other
is object oriented. You can even write procedural code in PHP5 and it will run
without any problems. If you are not clear about procedural and object oriented
programming, then we will have a look at these two different coding styles. The
following two examples are not fully running examples rather a pseudo code:

<?
$user_input = $_POST[‘field‘];
$filtered_content = filter($user_input); //user input filtering
mysql_connect(“dbhost”,”dbuser”,”dbpassword”); //database
mysql_select_db(“dbname”);
$sql = “some query”;
$result = mysql_query($sql);
while ($data = mysql_fetch_assoc())
{
process ($data);
}
process_user_input($filtered_content);
?>

You will notice using a lot of inline processing either directly or via using functions.
It may stand as an example of typical procedural operation. Let’s see how it looks
after converting it to OOP:

<?
$input_filter = new filter();
$input_filter->filter_user_input(); //filter the user inputs
$db = new dal(“mysql”); //data access layer
$db->connect($dbconfig); //using mysql
$result = $db->execute($sql);
ReportGenerator::makereport($result); //process data
$model = new Postmodel($filter->get_filtered_content());
$model->insert();
?>

Now if you take a look into these two code snippets, you will find that the latter
one is much more readable. Well, you can make the first one more readable by
introducing some more functions into it, but how many functions are you ready
to search into when you use them? The latter snippet is better organized because
you know which object is handling which process. If you write big applications in
procedural style, it will be almost impossible to manage after a few versions. Of
course you can implement strict coding conventions, but it is agreed by millions
of developers that it won’t give you the ultimate manageability and usability if it’s
procedural unless you do it in OO style. Almost all big applications are written using
the object oriented approach.

Tech-News

Fedora 9 Release

fedora 9

Fedora is a Linux-based operating system that showcases the latest in free and open source software. Fedora is always free for anyone to use, modify, and distribute. It is built by people across the globe who work together as a community: the Fedora Project. The Fedora Project is open and anyone is welcome to join.

The Fedora Project is out front for you, leading the advancement of free, open software and content.

Fedora 9 codename ‘Sulphur’ has been release at 13th, May 2008. Fedora 9 continues to build upon a tradition of innovation as the community Linux distribution that offers the latest, cutting-edge features with continued delivery of quality and impact. It features the first non-destructive live USB with persistence, and marks the first major KDE 4-based distribution. Other highlights include improvements and enhancements for OpenJDK, GNOME 2.22, NetworkManager, PackageKit, the Anaconda installer and Firefox 3 Beta 5 browser, among others.

The Fedora 9 Live images can now be added to an existing USB key using either a Linux or Windows application, without the need to remove data, repartition or reformat the USB key, resulting in a bootable, portable Fedora system. Using the persistence feature, users can download and store data, and remove and add software as on any normal Fedora system. We believe that this non-destructive, persistent live USB system is the first of its kind, anywhere.

Fedora’s KDE team, a community effort led by volunteer contributors, has integrated KDE 4 into Fedora 9. KDE 4 includes a new desktop and panel with many enhanced concepts, an integrated desktop search feature, a new visual style, and a new multimedia API and hardware integration framework. Fedora 9 also includes FreeIPA, a powerful new toolset for system administrators to manage identity policy and auditing across mixed computing environments. These additions to Fedora 9 are a testament to Fedora’s focus on leading advancement in free and open source software.

read the full press release.


Get Fedora 9 here.

Download Mirror on Indonesia (IIX):


See the screnshoots
fedora 9 fedora 9 fedora 9

For Life

Sejarah Palembang – Perang 5 Hari 5 Malam

1 Januari 1947

Dari RS. Charitas terjadi rentetan tembakan disusul oleh ledakan-ledakan dahsyat kearah kedudukan pasukan kita yang bahu membahu dengan Tokoh masyarakat bergerak dari pos di Kebon Duku (24 Ilir Sekarang) mulai dari Jalan Jenderal Sudirman terus melaju kearah Borsumij, Bomyetty Sekanak, BPM, Talang Semut.

 

2 Januari 1947

Diperkuat dengan Panser dan Tank Canggih Belanda bermaksud menyerbu dan menduduki markas Tentara Indonesia di Masjid Agung Palembang. Pasukan Batalyon Geni dibantu oleh Tokoh Masyarakat bahu membahu memperkuat barisan mengobarkan semangat jihad yang akhirnya dapat berhasil mempertahankan Masjid Agung dari serangan sporadis Belanda. Pasukan bantuan belanda dari Talang Betutu gagal menuju masjid agung karena disergab oleh pasukan Lettu. Wahid Luddien sedangkan pada hari kedua Lettu Soerodjo tewas ketika menyerbu Javache Bank. Diseberang ulu Lettu. Raden. M menyerbu kedudukan strategis belanda di Bagus Kuning dan berhasil mendudukinya untuk sementara. Bertepatan dengan masuknya pasukan bantuan kita dari Resimen XVII Prabumulih

 

3 Januari 1947

Pertempuran yang semakin sengit kembali memakan korban perwira penting Lettu. Akhmad Rivai yang tewas terkena meriam kapal perang belanda di sungai seruju. Keberhasilan gemilang diraih oleh Batalyon Geni pimpinan Letda Ali Usman yang sukses menhancurkan Tiga Regu Kaveleri Gajah Merah Belanda. Meskipun Letda Ali Usman terluka parah pada lengan.

Pasukan lini dua kita yang bergerak dilokasi keramat Candi Walang (24 Ilir) menjaga posisi untuk menghindari terlalu mudah bagi belanda memborbardir posisi mereka. Sedangkan pasukan Ki.III/34 di 4 Ulu berhasil menenggelamkan satu kapal belanda yang sarat dengan mesiu. Akibatnya pesawat-pesawat mustang belanda mengamuk dan menghantam selama 2 jam tanpa henti posisi pasukan ini.

Pada saat ini pasukan bantuan kita dari Lampung, Lahat dan Baturaja tiba dikertapati namun kesulitan memasuki zona sentral pertempuran diareal masjid agung dan sekitar akibat dikuasainya Sungai Musi oleh Pasukan Angkatan Laut Belanda.

Pasukan Indonesia Menyebrangi Sungai Musi untuk Membantu Posisi Front


4 Januari 1947

Belanda mengalami masalah amunisi dan logistik akibat pengepungan hebat dari segala penjuru oleh tentara dan rakyat, sedangkan tentara kita mendapat bantuan dari Tokoh masyarakat dan pemuka adat yang mengerahkan pengikutnya untuk membuka dapur umum dan lokasi persembunyian serta perawatan umum.

For Life

Obon dan Bon Odori, Sejarah dan perkembangan budayanya

Obon

Obon (お盆) adalah serangkaian upacara dan tradisi di Jepang untuk merayakan kedatangan arwah leluhur yang dilakukan seputar tanggal 15 Juli menurut kalender Tempō (kalender lunisolar). Pada umumnya, Obon dikenal sebagai upacara yang berkaitan dengan agama Buddha Jepang, tapi banyak sekali tradisi dalam perayaan Obon yang tidak bisa dijelaskan dengan dogma agama Buddha. Obon dalam bentuk seperti sekarang ini merupakan sinkretisme dari tradisi turun temurun masyarakat Jepang dengan upacara agama Buddha yang disebut Urabon.

Tradisi dan ritual seputar Obon bisa berbeda-beda bergantung pada aliran agama Buddha dan daerahnya.

Di berbagai daerah di Jepang, khususnya di daerah Kansai juga dikenal perayaan Jizōbon yang dilakukan seusai perayaan Obon.

Asal-usul

Obon merupakan bentuk singkat dari istilah agama Buddha Ullambana Sutra, dan lidah orang Jepang menyebutnya Urabon (盂蘭盆, Urabon), tapi kemudian yang diambil hanya aksara Kanji terakhirnya saja (盆, bon, nampan) ditambah awalan honorifik huruf “O.”

Sutra tersebut menceritakan tentang seorang biksu bernama Mokuren (Mogallana), yang dalam pertapaannya ia melihat ibunya menderita kelaparan di neraka, di mana setiap makanan yg disentuhnya selalu terbakar api. Mokuren lalu memohon pada Shakyamuni Buddha untuk menyelamatkan ibunya dari nasib buruk terbeut. Shakyamuni memerintahkan Mokuren agar dosa-dosa ibunya di masa lalu terampunkan, dia harus membuat persembahan berupa makanan yg terbuat dari bahan-bahan dari darat dan laut kepada kawan-kawan biksunya pada hari terakhir pertapaan mereka (yang berlangsung selama 90 hari dan berakhir pada pertengahan bulan Juli). Setelah memenuhi perintah dari Shakyamuni, Mokuren menari penuh kegembiraan saat ibunya dan 7 generasi nenek moyangnya dibebaskan dari semua siksaan. Tarian inilah yg kemudian diadopsi menjadi tarian Bon Odori.

Kisah ini perlahan berkembang menjadi festival peringatan untuk nenek moyang, dan mengambil wujud yg bermacam-macam di negara-negara yg memiliki banyak penganut Buddha Mahayana, terutama di China, Korea, Jepang dan Vietnam. Festival Obon di Jepang sudah dilaksanakan secara tahunan sejak tahun 657 M. Dalam sekte Jodo Shinshu (salah satu dari sekte aliran kepercayaan di Jepang), festival ini dikenal dengan nama Kangi-E.

Pada mulanya, Obon berarti meletakkan nampan berisi barang-barang persembahan untuk para arwah. Selanjutnya, Obon berkembang menjadi istilah bagi arwah orang meninggal (shōrō) yang diupacarakan dan dimanjakan dengan berbagai barang persembahan. Di daerah tertentu, Bonsama atau Oshorosama adalah sebutan untuk arwah orang meninggal yang datang semasa perayaan Obon.

Asal-usul tradisi Obon di Jepang tidak diketahui secara pasti. Tradisi memperingati arwah leluhur di musim panas konon sudah ada di Jepang sejak sekitar abad ke-8.

Sejak dulu di Jepang sudah ada tradisi menyambut kedatangan arwah leluhur yang dipercaya datang mengunjungi anak cucu sebanyak 2 kali setahun sewaktu bulan purnama di permulaan musim semi dan awal musim gugur. Penjelasan lain mengatakan tradisi mengenang orang yang meninggal dilakukan 2 kali, karena awal sampai pertengahan tahun dihitung sebagai satu tahun dan pertengahan tahun sampai akhir tahun juga dihitung sebagai satu tahun.

Di awal musim semi, arwah leluhur datang dalam bentuk Toshigami (salah satu Kami dalam kepercayaan Shinto) dan dirayakan sebagai Tahun Baru Jepang. Di awal musim gugur, arwah leluhur juga datang dan perayaannya secara agama Buddha merupakan sinkretisme dengan Urabon.

Jepang mulai menggunakan kalender Gregorian sejak tanggal 1 Januari 1873, sehingga perayaan Obon di berbagai daerah di Jepang bisa dilangsungkan pada tanggal:

1. bulan ke-7 hari ke-15 menurut kalender Tempō
2. 15 Juli menurut kalender Gregorian
3. 15 Agustus menurut kalender Gregorian mengikuti perhitungan Tsukiokure (tanggal pada kalender Gregorian selalu lebih lambat 1 bulan dari kalender Tempō).

Pada tanggal 13 Juli 1873 pemerintah daerah Prefektur Yamanashi dan Prefektur Niigata sudah menyarankan agar orang tidak lagi merayakan Obon pada tanggal 15 Juli menurut kalender Tempō

Sekarang ini, orang Jepang yang merayakan Obon pada tanggal 15 Juli menurut kalender Tempō semakin sedikit. Pada saat ini, orang Jepang umumnya merayakan Obon pada tanggal 15 Agustus menurut kalender Gregorian.

Orang yang tinggal di daerah Kanto secara turun temurun merayakan Obon pada tanggal 15 Juli kalender Gregorian, termasuk mengunjungi makam pada sebelum tanggal 15 Juli. Pengikut salah satu kuil di Tokyo selalu ingin merayakan Obon pada tanggal 15 Juli sehingga Obon jatuh pada tanggal 15 Juli, sedangkan pengikut kuil di Prefektur Kanagawa selalu ingin merayakan Obon tanggal 15 Agustus sehingga Obon jatuh pada tanggal 15 Agustus.

Media massa memberitakan perayaan Obon pada tanggal 15 Agustus sehingga orang di seluruh Jepang menjadi ikut-ikutan merayakan Obon pada tanggal 15 Agustus.

Programming

Subdomain wildcard pada Ubuntu dengan bind9 – Part II

Menyambung artikel sebelumnya, kali ini kita akan membuat konfigurasi Virtual Host agar setiap request yang masuk langsung diarahkan ke domain utama.
Pertama, edit file konfigurasi default apache: /etc/apache2/sites-available/default
Ubah nilai NameVirtualHost dan VirtualHost menjadi *

$ sudo pico /etc/apache2/sites-available/default

sehingga menjadi:

NameVirtualHost *
<VirtualHost *>
ServerAdmin [email protected]

DocumentRoot /var/www/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory “/usr/lib/cgi-bin”>
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>

ErrorLog /var/log/apache2/error.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog /var/log/apache2/access.log combined
ServerSignature On

Alias /doc/ “/usr/share/doc/”
<Directory “/usr/share/doc/”>
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>

</VirtualHost>

Kemudian buat file konfigurasi Virtual Host baru untuk domain kita.

$ sudo pico /etc/apache2/sites-available/situskita.tld

Kita akan menambahkan ServerAlias yang akan mengarahkan semua request *.situskita.tld ke domain utama.Dan arahkan DocumentRoot ke lokasi kerja anda.

Programming

Subdomain wildcard pada Ubuntu dengan bind9

Ada kasus seperti ini, kita akan membuat sebuah website komunitas yang nanti nya para pengunjung bisa mendaftar sebagai anggota. Dan setiap anggota masing-masing akan mendapatkan alamat URL: http://namauser.situskita.com/
Kelihatannya tampak mudah bukan?
Tinggal membuatkan Virtual Host untuk masing-masing anggota, dan daftarkan subdomainnya.

Namun permasalahannya adalah, kita ingin subdomain tersebut hanya sebagai identitas, dan bukan berupa direktori khusus untuk masing-masing anggota terdaftar. Dan yang lebih penting lagi, setiap yang baru mendaftar akan langsung mendapatkan alamat subdomainnya secara otomatis, tanpa campur tangan kita. Bayangkan jika ada 100 pengunjung yang mendaftar, dan semua itu harus kita buat secara manual. Akan sangat membuang waktu dan tenaga bukan?

Ini dibutuhkan jika kita ingin membuat situs komunitas, atau contohnya seperti situs jaringan pertemanan. Setiap anggota yang terdaftar akan mendapatkan alamat sendiri untuk menampilkan profil, blog, atau content lainnya.

Untuk mengatasi masalah itu kita akan menggunakan yang namanya “Subdomain Wildcard”. Dengan subdomain wildcard, kita hanya butuh 1 domain yang digunakan untuk memproses semua request subdomain. Artinya, semua yang xxx.domainutama.com, yyy.domainutama.com, zzz.domainutama.com akan diarahkan ke domainutama.com. Yang nantinya script PHP pada domainutama.com yang akan memprosesnya dan menampilkan halaman anggota tersebut.

Sebelumnya, kita akan membutuhkan DNS Server untuk membuat subdomain wildcard ini. Dengan membuat DNS Zone baru untuk domain yang akan digunakan.
Sebagai test untuk di mesin lokal, kita akan membuat domain bohongan yang hanya bisa jalan di jaringan lokal kita saja.
Domain yang digunakan: www.situskita.tld
IP Mesin kita: 192.168.1.2

Install paket bind9 untuk DNS Server nya (Jika belum ada)

$ sudo apt-get install bind9

setelah install, kita akan membuat DNS Zone baru. Jika anda sudah memiliki konfigurasi DNS sendiri, dan akan menggunakannya, silahkan lewati bagian ini. Lanjutkan ke tahap selanjutnya.

$ sudo pico /etc/bind/named.conf.local

Tambahkan baris berikut ini:

zone “situskita.tld” {
type master;
file “/etc/bind/db.situskita.tld”;
notify no;
};

Disini kita membuat zona baru untuk domain “situskita.tld”, dan konfigurasi nya terletak pada file “/etc/bind/db.situskita.tld”
Jika ingin menggunakan konfigurasi DNS zone yang sudah ada, anda hanya tinggal menambahkan baris berikut pada konfigurasi anda:

* A 192.168.1.2

Kalau belum ada, maka kita akan membuatnya.

$sudo pico /etc/bind/db.situskita.tld

ubuntu

Mempercantik desktop Ubuntu dengan Themes

Agar tampilan Dekstop anda tidak monoton, anda bisa mengambil themes dan window decorator dari situs berikut:

Ubuntu (Gnome):
http://www.gnome-look.org/

Kubuntu (KDE):
http://www.kde-look.org/

* Tidak perlu khawatir akan memberatkan system, karena themes ini bukan merupakan aplikasi tambahan atau aplikasi pihak ketiga. themes ini akan mengganti secara langsung. sehingga tidak menambah beban system.

Panduan:
Gnome:

  • Untuk tampilan themes secara keseluruhan, masuk ke menu: “GTK 2.X”
  • Untuk Window Border pada decorator Metacity (tanpa compiz), pilih menu “Metacity”
  • GDM Themes untuk mengganti tampilan Login Ubuntu
  • Untuk pengguna Compiz dan Emerald, masuk ke menu “Compiz”

Untuk mengaktifkan Themes, masuk ke “System => Preferences => Appearance”
Untuk mengganti Login Themes, masuk ke “System => Administration => Login Window”

KDE:

  • Klik di menu “Themes/Styles” untuk mengganti themes.
  • Untuk mengganti Window Decorations, klik pada “Window Decorations”, jika tanpa Compiz, klik pada sub-menu “Native KDE 3.2+”, untuk pengguna KDE 4 klik “Native KDE 4” dan jika menggunakan Compiz klik pada “Compiz”
  • Jika ingin mengganti skema warna pada desktop anda, klik pada “Color Schemes”
  • Untuk mengganti Themes pada Login KDE, klik “KDM Themes”

Untuk merubah Themes, masuk ke “KMENU => System Settings”

Tech-News

OpenProj, an alternative of Microsoft Project for Linux

OpenProj is a free, open source project management solution. OpenProj is a replacement of Microsoft Project and other commercial project solutions. The OpenProj solution has been download more than 375,000 times in the few months since launch and is being used in over 142 countries.

A free download of OpenProj is available here and is distributed under the CPAL license.

OpenProj is ideal for desktop project management and is available on Linux, Unix, Mac or Windows. It even opens existing Microsoft or Primavera files. OpenProj shares the industry’s most advanced scheduling engine with Project-ON-Demand and provides Gantt Charts, Network Diagrams (PERT Charts), WBS and RBS charts, Earned Value costing and more.

There is literally no time or effort involved in switching to OpenProj, and your teams can manage projects on any platform for free. Projity worked closely with leaders in the commercial and open source industries in preparation for the release of OpenProj. It is a welcome addition, not only for project management users, but also for users in all software segments.

Microsoft Project retails for $999.99, is installed on 7% of all Office desktops and drives over $1 billion in revenue for Microsoft. OpenProj fills an important gap in the desktop market, as a key component in the Office family of products now has a replacement available on Linux, Unix, Mac or Windows.

OpenProj was also selected for inclusion with Star Office suite boxes in Europe. The OpenProj solution has been translated into French, Spanish, German, Portuguese, Swedish, Finnish, Galician, Persian, Russian, Korean and Chinese.

screenshot:

Source:
http://openproj.org/openproj