Ways to filter bots


  1. Most popular is recaptcha by google
  2. Honeypot technique – include a hidden field, if it is filled, then it is a robot
  3. A simple random questions. E.g. is fire hot or cold , five – 3 is ___
  4. http://nomorecaptchas.com/ (with price)
  5. https://visualcaptcha.net/ (no longer developed but they claim it still work)
  6. Algorithm
    1. after 5 failed attempt, lockout IP for 15 minutes
    2. if 5 times lockout, lockout IP for 24 hours
    3. if 3 times lockout, blacklist IP permanently (option for sys admin to clear)
  7. More alternatives

Business Notes

Some business points that I have compiled from my readings and experience.

  1. Solve people’s problem. Can start with own problem face. A lot of products in the world are result from some frustrations, problems etc of the founder.
  2. Start with what you have. Start with how much you have and can burn, with what technology/tools you know, with who you know. Don’t wait everything perfect to only to start.
  3. Validate with MVP (minimum viable product) or RAT (riskiest assumption tests). Don’t spend everything you have to start. Start small, get real feedback. Are people willing to spend money to buy and use your product?
  4. Economy of scale – a proportionate saving in costs gained by an increased level of production. Specifically referring to manufacturing but also applicable to other industries
  5. Focus on activity that yield the most return/profit/revenue. There are activities that create values, others don’t create any values. It is called waste.
  6. Eliminate. Automate. Delegate

Productivity Notes

3P – Plan. Prioritize. Perform

Time wasters – recognize them and develop strategies to deal with them

  1. perfectionism – focus first on doing right things, before doing all things right
  2. multitasking- use time block to focus on one thing at a time
  3. procrastination
    1. confusing activities with accomplishment
    2. apply 80/20 rules to prioritize and get important things done fast
    3. break to smaller achievable tasks
    4. take the first step. just do it
  4. interruption
  5. looking for things
  6. meetings
  7. too much time spend for management

Server Management Tool

If you have VPS and don’t know much on linux command to manage, you have option to use server management tools like the following

  1. runcloud.io
    1. come with 5 day free trial for PRO
    2. free package available with limited features
  2. serverpilot.io
  3. laravel forge – no trial or free package

good reading on review of those tools

Property investment resources for Malaysian

if you are looking for information, below are some resources that might be useful

To look for property – to buy or to sell

  1. hartanah.net
  2. mudah.my
  3. iproperty.com.my
  4. propertyguru.com.my
  5. starproperty.my

To get information and discussion

  1. Lowyat PropertyTalk
  2. PropCafe

Check for market price

  1. brickz.my

Mortgage calculator

  1. Calculator.com.my
  2. propertyguru

Check CCRIS and CTOS

  1. CTOS Credit

Mortgage rates

  1. imoney


Ways to avoid duplicates due to browser refresh

Below are scenarios that may cause duplicates

  1. browser refresh upon successful form submission
  2. browser refresh while the page still processing/loading
  3. resubmit the form again (by clicking on the button more than once)


  1. Post-redirect-get (PRG) – on wikipedia
  2. One easy way is to have injected a hidden parameter with a random hash/number (e.g called token). Upon submission you’ll have to check that the token you expect (which you’ll have probably stored in the http session) is being sent together with the other POST parameters. On valid submission you’ll remove/invalidate this token. That way when a POST comes which a non recognised token then it’s most probably a duplicate or out of date request. source
  3. To check whether the data submitted exist in the database. This is the most tedious part to do and you need to have a unique data for this. i.e. the data must be unique in the table or create a unique data for this purpose sent together with other data.
  4. Add a one-time token to your forms and save it to the $_SESSION-variable. Then if it is used (form is submitted), remove it from the session (or create a new token). If the form is then sent again, the two tokens don’t match and you have a duplicate entry (you can ignore the second for example). source