What to be on a sales page

A sales page is the most important page for you to have to help you sell online. The ultimate is to get people straight away purchase online.

Below are some tips to follow

  1. Credibility – to tell who you are and why people should listen to you and read further
  2. Build enthusiasm. What excite the users, and communicate what they want to hear. It’s not about your product, it’s all about them!
  3. Remove worries and anxieties. Money back guarantee, free trial, no credit card needed, can unsubscribe anytime etc. This will help remove barrier for people to purchase or take action
  4. Tell users WHY. People are more interested with the end result. Not the task. Forget about what they should do and how to do it. Tell they why they should do or should have.
  5. Use “people proof”. Tell success stories about real people, real business that are just like them. How skeptical there was previously, how they finally make it

Rumah untuk dijual di Taman Seri Bangi (direct owner)

Rumah untuk dijual Taman Seri Bangi (direct owner)

  • 2 tingkat
  • Bedroom: 4
  • Bathroom: 3
  • Built Up: 1650 sqft
  • Land Area: 22 x 70
  • Price: RM670k (nego/offer your price)

Kelebihan rumah

  • Parking kereta yang luas
  • Dilengkapi kitchen cabinet
  • Awning dibelakang utk jemur pakaian
  • Bahagian ruang tamu, dapur dan tangga baru dicat
  • Rumah dijaga dengan baik
  • Sebab jual – untuk berpindah ke tempat lain

Kelebihan Taman

  • Kejiranan yang mesra dan baik
  • Suasana yang tenang dan selamat
  • Kawalan keselamatan 24 jam
  • Surau dalam taman. Boleh jalan kaki
  • Kemudahan kolam renang, bbq pit, dewan di club house
  • Kemudahan pelbagai kedai (di belakang rumah) boleh jalan kaki seperti restoran, pizza hut, dobi, bank, kedai elektrik, kedai barangan sekolah, klinik dsb.
  • 3 taman permainan, 1 futsal court, 1 basket ball court
  • Akses mudah. Betul-betul di tepi jalan besar
  • Kemudahan bank, restoran, klinik, kedai buku di kedai hadapan


  • Pusat Bandar Bangi
  • Tol Kajang PLUS – 10 minit
  • Tol Bangi PLUS – 7 minit
  • IOI City Mall – 12 minit
  • Alamanda Putrajaya – 15 minit
  • UKM – 7 minit
  • UPM – 10 minit
  • UNITEN – 11 minit
  • KLCC – 33 minit
  • KLIA – 37 minit
  • Seremban – 35 minit

Berminat atau ada sebarang pertanyaan boleh hubungi

Azwan 012-2815182 (prefer whatsapp)


seri bangi ground floor

Berminat atau ada sebarang pertanyaan boleh hubungi

Azwan 012-2815182 (prefer whatsapp)

Application folder structure

This is common structure for an application folder. Normally found in most projects.

Folder structure varies by build system and programming language. Here are some standard conventions:

  • src/: “source” files to build and develop the project. This is where the original source files are located, before being compiled into fewer files to dist/public/ or build/.
  • dist/: “distribution”, the compiled code/library, also named public/ or build/. The files meant for production or public use are usually located here.
  • lib/: external dependencies (when included directly).
  • test/: the project’s tests scripts, mocks, etc.
  • node_modules/: includes libraries and dependencies for JS packages, used by Npm.
  • vendor/: includes libraries and dependencies for PHP packages, used by Composer.
  • bin/: files that get added to your PATH when installed.

Markdown/Text Files:

  • README.md: A help file which addresses setup, tutorials, and documents the project. README.txtis also used.
  • LICENSE.md: any rights given to you regarding the project. LICENSE or LICENSE.txt are variations of the license file name, having the same contents.
  • CONTRIBUTING.md: how to help out with the project. Sometimes this is addressed in the README.md file.


  • package.json: defines libraries and dependencies for JS packages, used by Npm.
  • package-lock.json: specific version lock for dependencies installed from package.json, used by Npm.
  • composer.json: defines libraries and dependencies for PHP packages, used by Composer.
  • composer.lock: specific version lock for dependencies installed from composer.json, used by Composer.
  • gulpfile.js: used to define functions and tasks to be run with Gulp.
  • .travis.yml: config file for the Travis CI environment.
  • .gitignore: Specification of the files meant to be ignored by Git.



Learning Vue

Some notes taken while learning vue.

to start using vue can include this file.

<script src=”https://unpkg.com/vue”></script>

Vue object

  • el: “#id – define the element
  • data – define data
  • methods – define method/functions

Vue Directives

  • v-bind – can bind to any attribute in element. e.g. class, title, type, style, href
    • v-bind is use to control the html element attribute where “moustache {{ }}” cannot be used
    • example <div v-bind:class=“{ active: isActive }”></div>
  • v-if=”status”
  • v-for=“item in items” – normally use with <li> elements
  • v-on – example <button v-on:click=”callAFunction”>click me</button>
  • v-model (2 way data binding). example <input v-model=“message”>. message can be displayed as {{ message }} and can be data inside vue script
  • guide/tutorial on directive
  • full list of directives

Vue Components

Vue.component (‘name’, {


  • first argument – name of the component
  • props
  • template

API reference

vue cheat sheet


Auto-conversion word to PDF on server side

There is a requirement for a system to convert a ms word file to PDF on server side.


  1. using libreoffice
  2. using python and openoffice

direct command

libreoffice --convert-to pdf /path/to/file.{doc,docx}
shell_exec('/usr/bin/libreoffice --headless --convert-to pdf:writer_pdf_Export --outdir /var/www/html/demo/public_html/src/var/output /var/www/html/demo/public_html/src/var/source/sample.doc');


libreoffice --headless -convert-to pdf fileToConvert.docx -outdir output/path/for/pdf

above sample codes taken from different sources. Actually a similar command with some different optional parameters.

Looking for JS framework to use in future projects

While I’m researching a suitable front-end framework for my future projects, here I list some relevant references that might help the understanding process.

Long time ago there was jQuery that conquer the world. While vanilla javascript is quite hard to learn and the code is not


Video show why jQuery no longer relevant and sample jQuery vs Vue code

Delete records from multiple tables

This is sample query to delete record from multiple tables.

Specify all joined tables to get the list but can specify records in which tables to be deleted.

DELETE t1, t2 FROM t1 INNER JOIN t2 INNER JOIN t3 WHERE t1.id=t2.id AND t2.id=t3.id;


DELETE FROM t1, t2 USING t1 INNER JOIN t2 INNER JOIN t3 WHERE t1.id=t2.id AND t2.id=t3.id;


https://dev.mysql.com/doc/refman/8.0/en/delete.html (refer section – Multi-Table Deletes)

MySQL Error Code 1166. Incorrect column name

Got this error while importing csv to table in MySQL database using sequel pro.

This error normally because of extra space in field name that mysql cannot accept.

But sometimes you just can’t find where is the extra space.

One way to solve is add additional column, when import, just ignore the last field and you can import it as usual.

Foolproof system

To build a foolproof and super easy to maintain system must be a goal for a system development.

To get to that, it has to have

  1. clear naming standard and convention. e.g. no $i or $anumber kind of variable
  2. clear and easy to read code structure
  3. many small and structured files over one huge file
  4. heavily tested before deploy to live server and start being used by the users
  5. good database design to cater for growth
  6. good settings and configurations either on files or database so it is flexible