5 Syarikat IT Dari Malaysia Yang Diam-Diam Buat Duit

Lewat ini saya perasan, kebanyakan orang berlumba-lumba ikut trend dan membina startup. Hasilnya lambakan startup yang hampir serupa. Tapi pasal ikut trend ni, bukanlah benda yang baru. Cuma saya yang rimas melihatnya.

Ingat lagi trend search engine, trend group buying, trend social network…?

Sekarang pun tengah ada trend yang tengah panas. Yang tahu tu, maklum sahajalah apa yang saya maksudkan. Nak dikatakan salah, tak salah juga. Tak salah buat benda yang orang dah buat. Google pun bukanlah search engine pertama. Facebook pun bukanlah social network pertama juga.

Iyalah… saya yang rimas tengok.

Cumanya, mungkin bila trend macam ni bermula, VC dan Angel pun ikut trend mencari startup yang semacam itu juga yang untuk dibiayai. Jadi startup dibina hanya untuk mengejar duit VC. Maka tidak hairanlah kalau hasilnya lambakan startup yang hampir serupa.

Tapi dalam masa yang sama, ada orang lain membina bisnes dalam diam. Dia tak glamer tapi bila masuk headline rupa-rupanya dah besar dah mereka ni.

Jadi saya senaraikan beberapa syarikat yang saya tahu, oleh orang Malaysia yang diam-diam buat duit melalui syarikat IT. Kalau tahu ada syarikat lain yang macam ni, mungkin boleh tambah di komen.

* Kredit gambar, Melanis Kuipers, http://www.freeimages.com/photo/busy-people-1440643

Continue reading 5 Syarikat IT Dari Malaysia Yang Diam-Diam Buat Duit

NEF-JOMWEB Ketengahkan Kepakaran ICT Tempatan Melalui 17 Projek Di JOMLAUNCH

10 Oktober 2015
Content Malaysia Pitching Centre, FINAS
Kuala Lumpur

Siang tadi berlangsungnya majlis JOMLAUNCH yang dianjurkan bersama oleh Persatuan Usahawan dan Industri ICT Bumiputera Malaysia (NEF) dan komuniti pembangun IT JOMWEB. Majlis telah berlangsung sepanjang hari dari pukul 9.00 pagi hingga 5.00 petang di Content Malaysia Pitching Centre, FINAS di KL Sentral.

JOMLAUNCH adalah sebuah majlis di mana pihak individu mahupun syarikat boleh menunjukkan projek dan hasil kerja dalam bidang ICT yang telah dibangunkan kepada umum. Majlis ini bertujuan untuk meraikan mereka yang terlibat dalam pembangunan ICT dan juga mengetengahkan bakat-bakat hebat tempatan dalam bidang ini. Penekanan diberikan kepada teknologi dan kaedah yang digunakan dalam pembangunan ICT dan bukannya aspek komersil sesebuah projek.

Oleh yang demikian, projek-projek yang dipertontonkan dibahagikan kepada empat kategori; 1) komersil 2) peribadi 3) sumber terbuka (open source) 4) komuniti.

17 buah projek ICT hasil rekacipta dan inovasi tempatan telah dipertontonkan kepada umum.

Di samping projek-projek yang dipertontonkan, majlis juga dihadiri oleh presiden NEF, Ashran Dato’ Ghazi yang memberi penerangan tentang NEF dan fungsi NEF dalam industri. Satu slot juga diperuntukkan untuk perkongsian pengalaman beberapa peserta program eStanford ke Silicon Valley, USA oleh MaGIC. Slot tersebut telah dikendalikan oleh Yusno Yunus dan Farid Nor dari Evenesis dan juga Aizah dari Mad Cat.

Majlis ini dijayakan hasil tajaan dan kerjasama sukarelawan dari JOMWEB dan NEF, NEF sendiri, Evenesis, Katsana, Content Malaysia Pitching Centre dan juga Pixaworks.

Berikut adalah projek-projek yang telah dipertontonkan kepada umum.

Continue reading NEF-JOMWEB Ketengahkan Kepakaran ICT Tempatan Melalui 17 Projek Di JOMLAUNCH

Membina Two-Factor Authentication (2FA) Dalam Sistem PHP Menggunakan Google Authenticator

google-authenticator3Kita biasa login ke sistem di web mengguna username dan password. Dan kalau kita menggunakan aplikasi perbankan, sebagai tambahan kita perlu menggunakan kod TAC yang hadir dalam telefon melalui SMS.

Kalau kita biasa, mungkin ada website lain yang kita gunakan juga meminta kod khas yang hanya boleh didapati daripada telefon kita.

Ini semua dipanggil Two-Factor Authentication atau 2FA. Saya baru-baru ini mengaktifkan ciri-ciri 2FA untuk mengakses panel Amazon Web Service (AWS) syarikat. Amazon menggunakan aplikasi Google Authenticator untuk ini. Setelah aplikasi dipasang di telefon, kita boleh membuat tetapan khas bersama dengan AWS supaya boleh menggunakan 2FA.

Sekarang, apabila perlu login ke AWS, saya perlu nyatakan username, password dan kod khas yang saya boleh dapati daripada aplikasi Google Authenticator di telefon.

Sebenarnya kita juga boleh membangunkan sistem dan menggunakan Google Authenticator untuk pengguna-pengguna sistem kita.

Aplikasi Mobail Google Authenticator

Google Authenticator adalah aplikasi mobail yang boleh dimuat-turun kepada telefon pintar iOS, Android dan Windows. Kita boleh dapati aplikasi ini dari pautan di bawah:

Android
https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2

iOS (iPhone dan iPad)
https://itunes.apple.com/my/app/google-authenticator/id388497605?mt=8

Windows Phone
http://www.windowsphone.com/en-us/store/app/authenticator/021dd79f-0598-e011-986b-78e7d1fa76f8

Dengan aplikasi ini, pertama sekali yang kita perlu lakukan bersama pengguna adalah menyelaraskan kekunci khas yang digunakan untuk menjana nombor rawak unuk login kelak.

Apabila kita mengaktifkan ciri 2FA dengan pengguna, apa yang kita lakukan adalah menjana satu kekunci rahsia yang khusus, yang kita kongsi hanya antara pengguna dan sistem kita. Pengguna akan menggunakan aplikasi Google Authenticator untuk menyimpan kekunci tersebut. Dan kita boleh, boleh menggunakan database atau fail. Setiap pengguna akan mempunyai kekunci rahsia yang berbeza.

Bagaimana Google Authenticator Berfungsi?

Menjana nombor rawak untuk 2FA. Saya tak pasti saudara-saudari mengetahui bagaimana nombor rawak dijana. Tetapi, secara amnya, fungsi nombor rawak di dalam komputer pasti menggunakan satu nombor atau data “seed”. Kekunci rahsia yang kita jana tadi adalah “seed” untuk menjana nombor rawak untuk 2FA.

Berasaskan masa dan kekunci rahsia (sebagai seed) tadi, ianya digunakan oleh kedua-dua sistem untuk menjana kod nombor rawak yang digunakan untuk login. Selagi mana kekunci rahsia sama dikongsi oleh kedua-dua aplikasi, nombor rawak yang sama dapat dijana. Inilah yang digunakan untuk mengesahkan identiti pengguna secara 2FA.

google-authenticator4Integrasi Google Authenticator dengan Sistem

Saya ada membangunkan aplikasi demo penggunaan Google Authenticator. Ianya boleh didapati di Github saya.

Aplikasi Demo Google Authenticator oleh Saya
https://github.com/kidino/PHP-Google-Authenticator

Saya perlu beri kredit kepada pembangun library khusus untuk Google Authenticator dengan PHP. Saya dapatinya daripada PHPGansta di sini.

Library Google Authenticator untuk PHP yang saya gunakan
https://github.com/PHPGangsta/GoogleAuthenticator

google-authenticator2

Mungkin elok juga saya nyatakan bahawa kod yang saya hasilkan hanya sekadar mencuba integrasi aplikasi mobile Google Authenticator dengan sistem berasaskan PHP.

Di dalam sistem sebenar, implementasinya mungkin lebih rumit.

  • Kita perlu beri kebebasan kepada pengguna untuk mengguna ataupun tidak menggunakan 2FA.
  • Perlu ada cara reset kembali login 2FA secara manual
  • Perlu ada cara untuk reset kembali login 2FA dalam keadaan mana pengguna kehilangan telefon atau rosak
  • Perlu kaedah menyimpan secret key pengguna dengan lebih selamat, di dalam database barangkali (contoh saya hanya menggunakan fail teks)

Selamat mencuba…

 

 

Programmer Dad

Mior Muhammad Zaki, work-from-home daddy programmer
Mior Muhammad Zaki, work-from-home daddy programmer. Lead developer of Katsana.com, GPS tracking solution, Laravel contributing programmer and creator of Orchestra Platform.

Mior is a friend I know from JOMWEB.my. He works from home for Katsana.com, a GPS tracking solution in Malaysia. One the side, he is one of the contributors for the Laravel PHP framework. Mior also created, open sourced and maintains Orchestra Platform, an application framework that runs on top of Laravel.

3 Teknologi Pembangunan Aplikasi Web Open Source Yang Anda (Mungkin) Tak Tahu

Apabila untuk pembangunan web, yang biasa kita baca, kita dengar, dan mungkin kita gunapakai adalah seperti PHP, Ruby, Python, C# dan ASP. Mungkin juga kita pernah dengar pasal bahasa pengaturcaraan baru seperti Go dan Dart.

Dari segi platform dan framework, mungkin kita pernah dengar atau guna Laravel, Codeigniter, CakePHP, Yii, Zend, Symfony. Atau mungkin .NET, Ruby on Rails (RoR) dan Django. Mungkin kita juga teruja dengan teknologi NodeJS dan juga Meteor.

Tetapi tiga platform pembangunan web ini mungkin anda belum pernah dengar. Dan sebenarnya bukan calang-calang teknologi ini. Setiap sesuatu ada pengikut setia mereka, aktif dibangunkan malah digunapakai dalam projek-projek yang hebat seperti membina SaaS, membina OS, membina IDE, aplikasi enterprise dan sebagainya.

Kalau kita pernah dengar pun daripada 3 projek ini, mungkin kita tidak menyangka yang ianya digunakan untuk pembangunan web. Maka di sini saya ingin kongsi 3 teknologi open source yang digunakan untuk pembangunan web yang mungkin jarang-jarang kita dengari:

Continue reading 3 Teknologi Pembangunan Aplikasi Web Open Source Yang Anda (Mungkin) Tak Tahu

Menulis Markdown Dengan Brackets Dan Extension Markdown Preview

Bila kita memulakan sebuah projek programming, lebih-lebih lagi yang untuk dikongsi secara open source, eloklah ianya disertakan dengan dokumen README.md.

Mungkin ramai yang kurang biasa dengan format markdown, atau pun fail .md. Ianya adalah satu format fail teks yang ringkas, untuk memudahkan penulisan dokumentasi projek programming. Sekiranya di Github, apabila projek kita mempunyai fail README.md, kandungan fail itu akan terus dijadikan pengenalan kepada projek.

Mungkin lebih mudah saya andaikan markdown ini seperti HTML. Jika HTML adalah hypertext markup language, dari inspirasi itu, lahirlah markdown, seperti sedikit ajukan dalam dunia web.

Markdown mempunyai fungsi-fungsi seperti HTML untuk saiz huruf, baris bawah, bold, bullet list dan lain-lain. Tetapi ianya tidaklah mempunyai fungsi yang banyak macam HTML terutamanya dari segi layout, warna dan sebagainya. Ianya diringkaskan agar penulisan dokumen markdown menjimatkan masa, dan pada masa yang sama, tetap kemas untuk dibaca.

Website Daring Fireball sering menjadi rujukan tentang Markdown.

Continue reading Menulis Markdown Dengan Brackets Dan Extension Markdown Preview

PHP DOS Launch: Satu Langkah Melancarkan Browser dan Webserver untuk Melihat Hasil Programming

Sebagai web programmer, web designer kita perlu melihat hasil kerja kita di browser. Dan banyak kali, kita perlukan webserver sekali. Saya menggunakan Windows. Dan biasanya kita ada XAMPP. Tapi kadang-kala, rasa banyak langkah juga nak lancarkan XAMPP dan Apache.

Tapi sekarang ni, PHP hadir bersama webserver. Kita boleh gunakan Command Line dan gunakan arahan:

php -S localhost:port

Port tu boleh guna apa-apa nombor. Tapi biasanya saya gunakan antara 1000 hingga 2000 sahaja. Folder di mana Command Line sedang berada, itulah akan menjadi webroot untuk localhost yang baru dilancarkan tadi.

Continue reading PHP DOS Launch: Satu Langkah Melancarkan Browser dan Webserver untuk Melihat Hasil Programming

Kemaskini Kod Git Push untuk Server AutoScaling di Amazon Web Service (AWS)

Sebelum ni saya menulis tentang menggunakan Git untuk menyuruh server mengemaskini aplikasi atau kod. Dengan hanya membuat push ke repo di server Git, server aplikasi juga akan mengemaskini dirinya dengan kod yang terkini.

AWS, Autoscaling dan ELB

aws-autoscaling

Saya banyak menggunakan server di Amazon Web Service (AWS). Antara ciri yang hebat di AWS adalah autoscaling. Dengan autoscaling, kita boleh membina sebuah load balancer dan meletakkan server-server di bawahnya. Maka, trafik yang diterima oleh website akan diagih-agihkan kepada server-server yang terdapat di bawah ELastic Load Balancer (ELB) ini. Biasanya server-server ini adalah serupa, mempunyai kod yang sama, setting yang sama dan lain-lain. Dengan autoscaling, kita boleh tetapkan beberapa peraturan bila dan keadaannya untuk AWS menambah atau mengurangkan server di bawah ELB ini.

Sebagai contoh, saya boleh tetapkan peraturan sebegini:
Continue reading Kemaskini Kod Git Push untuk Server AutoScaling di Amazon Web Service (AWS)

Tiga Cara Mula Berniaga

Credit https://www.flickr.com/photos/ninajeaninephotography/2802597662/

Sekolah anak bakal mengadakan Hari Usahawan. Dan sekolah menjemput ibubapa menyewa tapak dan berniaga dengan anak-anak. Saya suka idea ini. Sedikit sebanyak ia menjadi sumbangan kepada sekolah.

Sekarang ini sedang memikirkan apa yang ingin diniagakan. Dalam pada memikirkan ini, saya rumuskan, saya dan anak ada tiga pilihan. Sebagai nota sampingan, sekolah menetapkan sewa tapak RM100 untuk hari itu. Dan saya menetapkan lagi RM100 untuk kos produk.

Ini pilihan kami:

1 – Membeli dan Menjual

Kami boleh pergi membeli barangan yang boleh dijual kembali dari kedai-kedai borong. Ada beberapa tempat kami boleh pergi untuk memilih produk dan menjualnya pada Hari Usahawan kelak. Contoh produk mungkin seperti alatulis dan permainan.

2 – Membeli Bahan, Membuat Produk dan Menjual

Alternatif lain adalah membeli bahan untuk membuat produk. Contohnya kita membeli bahan-bahan dan membuat gelang atau rantai. Boleh juga kita buat gelang khusus dengan nama pembeli di tapak kelak, atau membuat produk siap untuk dibawa.

Untuk pilihan 1 dan 2 ini, kalau saya modalkan RM100 untuk produk, dengan sewa tapak, jumlah kos adalah RM200. Kalau kami menjual setiap item pada harga RM4, maka kami perlu jual 50 unit untuk balik modal. Dengan modal produk RM100 tadi, saya perlu sediakan sebaiknya 100 unit untuk untung selesa, itupun kalau habis dijual. Bermakna, modal RM1 seunit untuk dijual pada RM4.

3 – Mencari Produk “Consignment” dan Menjual

Mulanya saya ingatkan nak cuba pergi berbincang dengan mana-mana kedai atau perniagaan berdekatan untuk membawa dan menjual produk mereka secara consignment. Bolehlah bawa anak untuk faham pasal “buat deal”. Tapi rasanya, saya ada kenalan dan networking yang mungkin boleh membantu.

Secara amnya, cara ini, kita tak perlu keluar modal untuk produk. Hanya pergi bawa barang orang untuk dijual. Yang kurang menarik, margin untung mungkin rendah. Namun risikonya juga rendah sebab saya tak perlu keluar belanja, kecuali untuk sewa tapak. Mungkin bolehlah keluar modal sikit untuk fotostat flyers dan iklan sebagai promosi sebelum Hari Usahawan.

Andaikan rakan consignment memberi margin 30%. Rata-rata produk bermula dari RM9, memberikan RM2.70 untung kasar seunit. Mungkin saya tambah RM10 untuk modal “flyers”. Dengan modal RM110, saya perlu jual lebih kurang 41 unit untuk balik modal.

Rasanya kami akan guna kaedah yang ke-3 ini. Moga-moga berhasil dan dapatlah anak belajar sesuatu tentang berniaga.