Mysql String Functions

Name Description
ASCII() Return numeric value of left-most character
BIN() Return a string representation of the argument
BIT_LENGTH() Return length of argument in bits
CHAR_LENGTH() Return number of characters in argument
CHAR() Return the character for each integer passed
CONCAT_WS() Return concatenate with separator
CONCAT() Return concatenated string
ELT() Return string at index number
EXPORT_SET() Return a string such that for every bit set in the value bits, you get an on string and for every unset bit, you get an off string
FIELD() Return the index (position) of the first argument in the subsequent arguments
FIND_IN_SET() Return the index position of the first argument within the second argument
FORMAT() Return a number formatted to specified number of decimal places
HEX() Return a hexadecimal representation of a decimal or string value
INSERT() Insert a substring at the specified position up to the specified number of characters
INSTR() Return the index of the first occurrence of substring
LCASE() Synonym for LOWER()
LEFT() Return the leftmost number of characters as specified
LENGTH() Return the length of a string in bytes
LIKE Simple pattern matching
LOAD_FILE() Load the named file
LOCATE() Return the position of the first occurrence of substring
LOWER() Return the argument in lowercase
LPAD() Return the string argument, left-padded with the specified string
LTRIM() Remove leading spaces
MAKE_SET() Return a set of comma-separated strings that have the corresponding bit in bits set
MATCH Perform full-text search
MID() Return a substring starting from the specified position
NOT LIKE Negation of simple pattern matching
OCTET_LENGTH() A synonym for LENGTH()
ORD() Return character code for leftmost character of the argument
POSITION() A synonym for LOCATE()
QUOTE() Escape the argument for use in an SQL statement
REGEXP Pattern matching using regular expressions
REPEAT() Repeat a string the specified number of times
REPLACE() Replace occurrences of a specified string
REVERSE() Reverse the characters in a string
RIGHT() Return the specified rightmost number of characters
RLIKE Synonym for REGEXP
RPAD() Append string the specified number of times
RTRIM() Remove trailing spaces
SOUNDEX() Return a soundex string
SOUNDS LIKE(v4.1.0) Compare sounds
SPACE() Return a string of the specified number of spaces
STRCMP() Compare two strings
SUBSTR() Return the substring as specified
SUBSTRING_INDEX() Return a substring from a string before the specified number of occurrences of the delimiter
SUBSTRING() Return the substring as specified
TRIM() Remove leading and trailing spaces
UCASE() Synonym for UPPER()
UNHEX()(v4.1.2) Convert each pair of hexadecimal digits to a character
UPPER() Convert to uppercase

String-valued functions return NULL if the length of the result would be greater than the value of the max_allowed_packet system variable.

For functions that operate on string positions, the first position is numbered 1.


Create ISO Images from CD/DVD and Folder Files

With Ubuntu, you can create ISO disk Images directly from CD/DVD and folder files. Then create MD5 Checksum files.
Assumed that the CD/DVD device is located at /dev/cdrom/

Turn a CD/DVD into an .iso
$ sudo umount /dev/cdrom
$ dd if=/dev/cdrom of=file.iso bs=1024

Turn a folder into an .iso
$ mkisofs -r -o file.iso /location_of_folder/

Generate an MD5 checksum file

$ md5sum file.iso > file.iso.md5

Check MD5 checksum of file
$ md5sum -c file.iso.md5


Finally The Hardy Heron has arrived!

Yay, its arrived..! Linux Ubuntu 8.04 (Hardy Heron) free CDs. Requested it from
Kinda late, because i already downloaded and installed it since the first time released. And like always, i have to go to the Post Office, and pay Rp.7000 for the tax.

The Package:

Ubuntu Package

And the package content:

Paket Ubuntu

There’s some difference from edubuntu cd. its called “Education Edition Add-on CD”. Ubuntu Education Edition is an additional selection of free and open source software for education to be used with Ubuntu. This CD is does not offer LTSP installation directly. To get the same out-of-the-box-set-up as before, start from the Ubuntu alternate install CD, and select “Install an LTSP server” from the Modes menu.

The Ubuntu Promise

  • Ubuntu will always be free of charge, including enterprise releases and security updates
  • Ubuntu comes with full commercial support from Canonical and hundreds of companies around the world
  • Ubuntu includes the very best translations and accessibility infrastructure that the free software community has to offer
  • Ubuntu CDs contain only free software applications; we encourage you to use free and open source software, improve it and pass it on

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
$sql = “some query”;
$result = mysql_query($sql);
while ($data = mysql_fetch_assoc())
process ($data);

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());

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.


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 (お盆) 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.


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.


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 webmaster@localhost

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

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

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 ::1/128


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.