Wednesday, February 21, 2018

Chatting sama Bot - si Mitsuku

Di Group Whatsapps ada yg mbahas masalah bot, seng iseng tak iye coba cari chatbot online. Sudah lama ga nyoba botchat, mungkin sudah jauh berkembang. Dulu pas kuliah -when I was young and cute- pernah nyoba botchat dan kagum. Harusnya sih semakin canggih ya, apa lagi sekarang udah lebih banyak service online buat pencarian, translate atau speech to text.

Cari-cari ke sana ke sini (bukan kemari ya) nemu si Mitsuku (sering salah Mitsuki) bot di https://pandorabots.com/mitsuku/. Karena buka dari laptop nyoba yang untuk komputer http://www.square-bear.co.uk/mitsuku/home.htm saya pilih yang pakai flash buat di browser.

Di awal kita bisa milih themes buat chatnya



Klik salah satu themes kemudian keluar disclaimer berikut:



Di awal ada disclaimer untuk menggunakan dengan bijaksana (bijak sini juga). Mitsuki ini bisa ngambek dan judes kalau kita ngomong kasar atau jorok. Untung saja saya termasuk anak bapak baik-baik yang tidak suka berkata kasar, so aman. Lanjuuut, berikut saya coba beberapa test:

1. Percakapan sehari-hari
Ini sih percakapan standar / formalitas kita chat. Tanya nama, umur hobi, asal-usul. Responsenya lumayan kok.



Dia juga akan memuji jika kita sopan bikin seneng aja sampai muji ibu kita.  Juga sudah ada template jawaban untuk topik seperti sport dia akan mengarahkan ke sepakbola. Waktu kita tanya pemain favoritnya, tampak jawabannya diarahkan kalau kita tanya klubnya terlebih dahulu.

2. Perhitungan
Ini juga biasanya masuk di fitur bot, karena kalau manusia kan hitung-hitungan sederhana harusnya bisa. Mitsuku nya sih bilang "I can try but I'm better at chatting than working out sums.
Here is a strange sum:
5363222357 x 207123 = 11111111111111111. " waktu  saya tanya apa dia bisa itung2-an. Dia lebih jago ngobrol katanya hehe. Hasilnya saya coba 4+10-6 dia jawab benar


atau yang pakai perkalian dan pembagian jawabannya juga benar:
Biasanya sih bot lain ga bisa jawab atau salah. Bagus juga ni itungannya.

3. Pengetahuan
Untuk pengetahuan misal saya tanya "Do you know Eliza" atau ketik "Arnold schwarzenegger" dia menampilkan info pakai gambar juga seperti ini



Dia juga lumayan update, Mitsuku tau lho si Mark Zuckerberg dan dia juga punya akun facebook


Dan tampaknya dia juga ga suka sama Donald Trump wkwkwkkw (bisa kena pasal penghinaan presiden ini)



4. Pengucapan berulang
Saya mau cek jika saya ngomong hal yang sama berulang-ulang apa dia mencatat dan apa responsenya. Dia mendeteksi kalau saya ngomong hal yang sama, misal saya bilang thanks. thanks trus response saya thanks lagi. Keluar respons kayak gini



5. Asal ngomong
Kalau Saya coba ngomong pakai bahasa Indonesia atau ga jelas, dia akan memindahkan ke topik yang lain


6. Input Pengetahuan
Apakah dia belajar dari percakapan ini. Nah ini, saya coba tanya siapa presiden Indonesia, dia jawab dia ga terlalu tahu soal politik. Pas saya beritahu Jokowi dia tetap tidak bisa menjawab saat saya tanya lagi. Berikut lognya:
Mungkin memang ada mekanisme sendiri buat update knowledgenya, dia bilang sih tiap minggu.

Tapi yang menarik info seperti nama saya dia akan mengingat kalau saya sudah menyebutkan di awal, artinya ada info-info yang disimpan. 

Dan ada semacam cookies / kalau kita buka lagi halaman itu dari browser yang sama dia akan tahu kita kembali seperti berikut:

Untuk daftar percakapan(chatlog) bisa dilihat klik link di kanan bawah. Jadi Kita bisa lihat percakapan dari awal sampai akhir. Dan model chatbot gini memang masih sifatnya 1 kali enter dia akan memproses dengan 1 kali jawab. Artinya dia reaktif dari input kita satu persatu kalimat bukan proaktif dia ngomong sendiri yang cerewet cas cis cus.

Intinya sih lumayan menghibur. Test-test yang lain belum coba sih, silakan coba sendiri. Versi Android belum nyoba, harusnya kurang lebih sama. Di websitenya sih juga ada fitur Turing test, jadi kita chat dan suruh nebak kita chat sama orang atu bot. Dan sah-sah saja si orang itu pura-pura jadi bot. Kalau kamu sudah susah membedakan mana orang dan mana yang bot, maka bisa dianggap si Mitsuki ini lolos dari Turing test. Ini kalau mau coba: http://www.square-bear.co.uk/mitsuku/turing/.

Ngomong-ngomong soal Turing, ini Turing yang sama dengan kepanjangan di CAPTCHA alias ke Alan Turing yang ada filmnya tu "The Imitation Game", tonton lah kalau belum pernah, bagus kok.

So, buat kamu-kamu yang lagi ga ada kerjaan atau ga punya temen chat, pengin curhat aman, bisa deh coba bot ini hehe.


Tuesday, March 14, 2017

Back Up MS SQL Server database via PHP

Mungkin berguna, untuk membuat fitur back up database dari aplikasi (databasenya sql server), dapetnya juga dari cari2 sih. Asumsi fungsi2 sqlsrv sudah jalan, driver terinstal dan query2 juga sudah bisa dieksekusi. Berikut gambaran fungsinya:
       

 function backup_database() {
 // set up koneksi
 $db_host = 'kamus123.com';
 $db_user = 'ngeSang';
 $db_pass = 'mau_tahu_aja';
 $db_name = 'nama_db';
 $path = "C:\folder_backup\";
 $nama_file_backup =  $db_name. '_' .date("Ymd_His");
 $save_path = $path . $nama_file_backup;

        $serverName = $db_host;
        $connectionInfo = array("UID"=> $db_user, "PWD" => $db_pass, "Database"=> $db_name);
        $conn = sqlsrv_connect( $serverName, $connectionInfo);
 
 // query back up
        $query = "BACKUP DATABASE ".$db_name." TO DISK = '".$save_path."'";

        sqlsrv_configure("WarningsReturnAsErrors", 0);
        if ( ($stmt = sqlsrv_query($conn, $query)) )
        {
            do
            {
                $arr_message = sqlsrv_errors();

            } while ( sqlsrv_next_result($stmt) ) ;
            sqlsrv_free_stmt($stmt);
            $message = '';
            if(is_array($arr_message)){
                $message = $arr_message[0]['message'];
            }
            echo 'Proses selesai, data backup tersimpan di : ' . $save_path;
        }
        // set error setting to default
        sqlsrv_configure("WarningsReturnAsErrors", 1);

 // jangan lupa ditutup kalau abis dibuka, ntar masuk angin
        sqlsrv_close($conn); 
}

Instalasi XAMPP + PHP 7.1 + SQL Server di Server Windows

Seminggu kemarin coba setup PHP di server baru, penginnya sih coba pakai PHP 7 yang katanya lebih jos dalam performansi. Sekalian buat nambah pengalaman dan update temen2 di tim. Biasalah, termakan jargon dan bisik2 tetangga

sumber di sini

Kebenaran, eh kebetulan disediakan server fresh dan dipersilakan setup PHP dan lain2nya sendiri, ya sudah cucok rowo. OS : Windows Server 2008 64 bit. Oke seperti biasa Apache dan PHP pake xampp aja biar cepet.

Ternyata ketemu beberapa masalah, mungkin catatan ini bisa berguna buat yang lain, mungkin juga tidak, ah mungkin saja iya (optimis).

Sunday, March 12, 2017

[Proyek] Upgrade Aplikasi

Beberapa kali mendapat proyek pengembangan sebuah aplikasi. Pengembangan ini bisa beragam alasannya, seperti:
  • Aplikasi perlu dioptimasi. Berjalan lambat saat data sudah besar / pengguna banyak.
  • Ada fitur yang perlu ditambahkan, memang biasanya muncul kebutuhan2 baru saat aplikasi sudah digunakan.
  • Perubahan aturan / bisnis proses yang memerlukan modifikasi dari aplikasi yang ada. Misal ada perubahan struktur organisasi, workflow, peraturan baru.
  • Perbaikan tampilan, layout, navigasi (GUI)

Jadi masalah kalau aplikasi dibuat sudah lama, dengan framework buatan sendiri sang developer awal dan minim(kalau sungkan menyebut tidak ada) dokumentasi teknis. Selain itu seiring berjalannya waktu, teknologi selalu berkembang seperti versi engine, framework, library dan kompabilitas. Kadang bisnis proses/tampilan sudah oke, tapi untuk menambahkan sebuah fitur dibutuhkan effort yang tinggi. Kadang ada ketergantungan pada developer awal, sialnya kalau developer awalnya hilang, tidak bisa dihubungi, sms ga diangkat, telp tidak  dibalas :).

Untuk aplikasi seperti baiknya memang ada upgrade aplikasi. Upgrade dalam artian dari sisi 'dapur'nya bukan dari sisi bisnis proses yang sudah ada. Sering jadi kendala adalah untuk pekerjaan upgrade seperti ini, apalagi jika murni hanya pembenahan dari sisi engine yang artinya tidak ada perubahan dari sisi pengguna, dirasa tidak bermanfaat dan sulit diterima. Sesuai dengan slogan "If it ain't broke, don't fix it"


Saturday, December 31, 2016

Posting tutup tahun 2016

Tidak terasa sudah di penghujung 2016. Lihat blog, tahun ini baru 9 posting. Pas lah digenapin 10 post buat tutup tahun. Banyak hal yang ingin ditulis terlewatkan karena hal lain yang lebih diprioritaskan.

Alhamdulillah banyak hal, renungan dan kerjaan yang sudah dilakukan di tahun 2016.
Semoga 2017 lebih baik lagi :), hari ini lebih baik dari hari kemarin dan hari esok lebih baik dari hari ini. Tetap semangat !! go go go !!

Keluar rumah dulu deh, kebetulan belum tidur. Liat jedar jedor kembang api pas rame2nya sama anak-anak.

Sampai jumpa