A cocktail in your hand, and on your wrist

Imagine you’re in a bar, you walk to the bartender and say “Get me something that looks like my watch.”

The bartender looks at your wrist, and say, “A mockingbird, sir?”

You laugh.

He laughs.

Seiko laughs.

Tl; dr;

I bought a Seiko Presage watch for my birthday. It is the most valuable watch in my collection so far.

The watch signifies a milestone in my career, and my life. Looking at it reminds me of that milestone, and in the future, it will be an invaluable memory. And this timepiece will be there to remind me of that.

The watch I bought.

Seiko was my choice of brand when I decide to buy a watch for my birthday. Mainly because I need a dress watch, and it fits my budget.

This watch is part of the Midnight Cocktail collection. There are 5 different designs, which represents 5 different cocktails. I chose the Mockingbird due to the simple design, and suitable for a good dress watch on my wrist.

I almost picked the one that features a whisky-based cocktail, however decided against it because I don’t feel like the face and the strap has the same colour. Maybe in the future when I can ask for a strap replacement, I’ll consider purchasing that kind of watches.

Price differences

It is very hard to track the watch price in the market. The Presage Mockingbird RRP is $699, but a quick google search and you can find various pricing from different dealers.

I have been browsing the market for a while, and have my eyes on a few other watches from different brands, such as Rolex and Omega. However the price is surprisingly unpredictable and there are a lot of people buying/selling for a profit.

Google image for Seiko Presage Mockingbird prices
Source: google.com.au

I ended up picking the one in Myer, mainly because I can obtain the watch in store and can inspect it immediately. It was an exciting day when I picked up the watch and tried it on my wrist.

The feeling

Wearing this watch is very comfortable, the strap and face is not too big to overwhelm my wrist. It sometimes feels like I don’t wear a watch at all, very lightweight. I feel a lot more confident, more empowered when I have it with me.

The great thing is that there is no battery, it recharges itself through my movements. So theoretically, it can run with me until the end of days, and plus 2 more days. 😀

Symbols of the watch

So what is this one signifies?

Well, it is my 30th birthday. And people have an expectation that these kind of round-number birthdays need to be celebrated differently. So as part of the excuse to mask my true reason, I can simply use this one as an important milestone of my life journey.

For the true reason? I would like to only disclose that to only people that I trust. So if you see me going around wearing this watch, it is an important event. I will treat this as a special jewellery for special occasions.


This is the first watch that I bought for myself, and for sure it will not be the last. I am somewhat of a watch enthusiast, and I will continue collect other timepieces as part of my life journey.

By Tuan Nguyen


Discussion – My goals for 2020

Setting goals is a good way to start the new year. Here are the outline of what I plan for my life in 2020.

Tl; dr;

  • Straighten my finance.
  • Purchase at least 1 more property.
  • Grow emergency fund to 3 months living expense.
  • Write at least 52 blog posts.
  • “Challenge” gather a good deal to present to investors.

First thing’s first….

financial review

Reviewing my current personal financial situation, I think it is in a mess currently, with loans are everywhere and there are no system around them. So for 2020, I want to restructure my finance to have a better interest rate on my loans, better visuals on how the investments are going.

At this moment, my loans are as follow.

Home loan (now investment)3.85%fixed 2 years, ending 04/12/2020
Investment loan4.16%a bit high at the moment, can be lowered to a considerable amount

I’m aiming to have them lowered, considering there may be further rate cut from the RBA going into mid 2020. I would consider fixing the interest if the RBA lowered the cash rate to 0.25.

The good thing from low interest rate is that my cashflow from the properties will be much better and I can save them up to invest in more properties.

Property purchase

property investment

As some of you may know, I want to be a professional investor, concentrated to properties. So in 2020, I will be active to find a suitable property for me to purchase, and looking to renovate it to make some instant equity, as well as structuring it to at least neutral geared after tax.

I have been reading up a lot about the topic. And it is challenging to not fall into “paralysis by analysis” syndrome. Basically it means that researching too much leads you to the state where you see risks everywhere and do not start taking action.

By leveraging the young age that I have, mistakes can be fixed. I will prepare myself to purchase at least another property, fixing it up, putting it up for rent, and reconsider my financial position to see if I can redo it all over again. If I find problems in any steps, there will always be people who are keen to help.

Emergency fund

emergency fund

This is what I learned from various books like The Barefoot Investor, The Total Money Makeover, etc. I have grown my emergency fund to be sufficient for about 1.5 months now. And the goal for 2020 will be growing it to at least 3 months of my monthly expense.

This way I have a good cushion to fall back on, should any unexpected events show up. I will just park it in a high saving account (I use ING, with their high saving account at 1.95% pa).

Blog posts

Fullstack developer illustration

Of course I will continue writing blogs. It is entertaining and providing me a way to memorize what I learned, as well as sharing my knowledge and perspective to the world.

The goal for 2020 will be writing at least 52 blog posts, or 1 each week. This should be achievable, considering I only spend around 3 hours to create an article.

Upcoming blog posts will focus more on property investments, rather than just technology aspects that I have been posting. I feel like I have absorbed so much knowledge regarding property investment that I should go out and implement, then report my findings to you all.

“Challenge” present a good deal to investors

This is what I would like to try out in 2020. Where I can find an outstanding investment opportunity and gather all information needed. By presenting it to the investors, I hope to raise private funds to buy another property. This is a bonus challenge for myself, and I really hope that I can achieve it.


Well that is a lot of goals that I set for myself in 2020, and we have already finished the first week of 2020. I better be fast before the year ends.

By Tuan Nguyen

career achievement

Retrospective – What I achieved in 10 years?

10 years seems to be a long time, however to me, it sometimes happens so fast. Let’s look back and see what I have achieved in the last 10 years, and what I plan for the next decade.

Tl; dr;

What did I do?

  • Arrived in Australia.
  • Finished Bachelor degree.
  • Bought a house, and some investment properties.
  • Visited various places in Australia and the world.
  • Moved to Melbourne and obtained a good income position.
  • Got introduced to financial education.
  • Became an Australian citizen.
  • Founded a company.
  • Found a girlfriend 😀

What am I planning for the next 10 years?

  • Get personal finance organized.
  • Buy more properties :)))
  • Get married.
  • Achieve financial confidence.
  • Give back to the community.
  • Help suitable people to reach financial confidence as well.
  • Travel to various places.

What did I do and achieve in the last 10 years?

I arrived in Melbourne on the 14th of February, 2010. So it is almost 10 years living in Australia. I did a Bachelor degree of Information Technology and had the opportunity to work for IBM as an intern for a total of 5 years (2011 – 2015).

Graduation photo

Funny enough, I did not work there as a programmer, but rather a network engineer (SAN storage engineer). However I did have some opportunities to create automated scripts for the team to use (mainly in daily healthchecking, and storage provisioning).

In 2013, with some helps from my beloved parents, we purchased a property in Ballarat, and I lived there until I moved to Melbourne in 2016. Back then, the property price was $175,000; which we negotiated down to $160,000 and got the property with a small home loan, thanks to the stable income from IBM internship. The broker said it was the smallest one that he filed since he started his career.

In Ballarat, I have the opportunity to make friends with many people and they brought me to various areas that gave me the experience of how Aussies do in their weekends. I’ve been to numerous camping sites, walking tracks, skiing and even went to a scout camp retreat. Ballarat is a small town and there are not many activities, but somehow being with the nature helps me not feeling boring.

Some activities I engaged includes



horse riding

Horse riding

spear fishing

Spear fishing

I also travelled to other countries as a tourist, e.g. Italy, Russia. The trips gave me a lot of new perspective, as well as opened my eyes to different cultures that I will express more in future blog posts.

What did I do in Melbourne?

After nearly 7 years in Ballarat (2010 – 2016), I decided to move to Melbourne after securing a better occupation after my granted PR. Funny that it only took me 2 weeks to get accepted as a PHP developer, and another 2 weeks to resign from IBM. So after 4 weeks I jumped from working in Ballarat to commuting and working in Melbourne.

After 9 months of commuting, and every Saturday driving for an hour to Melbourne for inspections, I decided to purchase another property that I called home for the next 4 years.

melbourne home

Since moving to Melbourne, everything exploded. Events happened so fast that looking back now, I probably have grown more after 3 years in Melbourne than the previous time in Ballarat. I got introduced to financial education via the first book I read Rich dad poor dadAfter finishing the book, I got curious and since then have read multiple books on the topic, e.g. Barefoot investor, The Richest man in Babylon, The 4-hour work week, etc. Now I am developing my own financial plan following some of the advice that I learned from the readings.

In 2016, just before I moved to Melbourne, I officially became an Australian citizen after 6 years living and studying. It was a big milestone and opened the doors to multiple opportunities that otherwise blocked for non-citizen.

dual passport

Last but not least, I got a girlfriend :D. She is smart and beautiful and I feel lucky to have her.

MJ and I

What’s my future look like?

First priority will be getting my financial position organized, since I have not had a good structure just yet. Only recently I have consulted several financial planners and see if their expertise align with my goals. 2020 will be a great year and I hope I can secure a good position in the first half of the year.

I have decided that investment properties will be the investment vehicle for me. Therefore buying more suitable properties is crucial to achieve a solid future. From the advice I got, I will need at least 5 Millions worth of net worth to be able to have a splurge life without having to work anymore.

Once I achieve financial confidence, I hope to give something back to the community. Either in the form of charitable funds, or going to exotic places and help people who have less luck than myself.

I also want to help other people who share the same vision for the future to achieve what I have. Once I have the experience, it is definite that I will pass on the knowledge to people. It is better to have more friends that share and achieve the same goals in life.

Marriage pressure is increasing year after year. However I hope that I will get married within the next 10 years. It is a long time so reasonably safe to assume.


“Most people overestimate what they can do in a day, and underestimate what they can do in a month. We overestimate what we can do in a year, and underestimate what we can accomplish in a decade.” – Matthew Kelly, The Long View

With the above forecast about my future, I am certain that I can achieve a lot more than what have been outlined. I believe that I create my own luck and will take all responsibility for my decisions.

My final question for you is, what did you do in the last 10 years?

By Tuan Nguyen

free tafe image

Unit review – Make decisions in a legal context

Another course that I completed in Cert IV: Accounting and Bookkeeping is Make decisions in a legal context.

Tl; dr;

The unit concerns about legality of a business. It teaches me about business structures, different kind of laws that apply to business such as employment law, property law, consumer law, etc.

It helps me for structuring my side business, as well as heading to the right direction in terms of keeping the business safe.

The Australian Legal system

legal system

Source: thecommonwealth.org

Split into 2 types, Legislation and Common Law, there are 2 sets of laws that define the Legal system.

  • Legislation: bills passed from the Parliament, and are enforced throughout Australia.
  • Common Law: made by Court when there is no relevant law for the case being heard.

Categories of Law:

  • Criminal Law: protects the society from wrong actions.
  • Civil Law: govern private dealings between individuals, e.g. Contract Law, Tort Law and Property Law.

I learned about Negligence a bit deeper than other areas of the law. Basically it is a neglect of the duty of care when it results in recorded damage of another individual.

Also there is mentions about Victorian Civil and Administrative Tribunal (VCAT), which I’m sure I’ll be touching base with them at some point. They are where we go when there are problems with tenants.

Australian Business structures

business structure

Source: pathwaylending.org

There are quite a few business structures that one can consider when deciding to go on a business venture

  • Sole trader:
    • probably the most common type of business out there. It allows an individual to conduct small business transactions and/or collect/pay GST.
    • Can have employees, and operate as a proper business.
    • The bad thing is that all personal assets are exposed to the public. If something bad happens to the business, e.g. bankruptcy, the owner may need to fork out his/her own assets to remedy the damage.
  • Partnership: similar to Sole trader, however the structure involves multiple people in the business.
  • Company:
    • Can be either public or private company. This is the most common structure for companies out there.
    • Can officially raise funds from investors.
    • Proper structure around taxes, and the tax rate is fixed at 30%.
  • Joint ventures
    • Similar to partnership, however, this business structure has a limited time.
    • 2 or more individuals/businesses join together to complete a project, and when the terms are satisfied, the joint venture is over.
  • Franchises
    • A franchisee is an individual that creates a business that operates under an existing system that a franchisor setup.
    • May be easier than creating an individual business, since the system and branding is already done by franchisor.
    • Limitation on how to operate, develop new products
  • Trusts
    • Good tool to protect family/individual assets.
    • Good tool to reduce income taxes paying to the government.
    • Multiple types of trusts that need to be thoroughly researched before creating one.
  • Associations
    • Operating not-for-profit, whose members have decided to give their organisation a formal legal structure.
    • Must have “Incorporated” or “Inc.” after its name.
    • Is a legal entity so an Association is exposed to all laws.
  • Co-operatives

Employment Contract

employment law

Source: allbusiness.com

There are 2 types of contracts

  • Contract of service:
    • signed between employer and an employee, contains all benefits, terms, wage amount, service description.
    • employer may be vicariously liable for employee’s actions.
    • employer must provide benefits to employees, such as super contribution, annual leave, sick leave, etc.
  • Contract for service:
    • signed between employer and a private contractor, which contains all terms and conditions regarding a particular piece of work.
    • employer is not liable to contractor’s work.
    • employer does not need to provide benefits for contractor, unless specified in the contract.

Property law

property law

Source: wolterskluwercentral.com.au

This is not limited to real estate assets. “Property” is the right of ownership.

Real property

  • Land, not just the soil, but anything growing on the land; and fixtures on the land, e.g. house, building, etc.
  • Title to land is a person’s right of ownership of the land (it is the title that we transfer when we buy/sell properties)
  • Adverse possession: this is very interesting, if someone occupies a piece of land for over 15 years without any dispute, they may be able to claim possession of the land.

Personal property

  • Choses(things) in possession: something that is tangible, e.g. clothes, equipment, car, etc.
  • Choses(things) in action: something that is intangible, e.g. company shares, intellectual property, etc.


This area was totally new to me. So it was interesting to learn about. There are lots of things to consider when creating a company, as well as knowing about things like adverse possession really opens my eye on property law.

By Tuan Nguyen

Open sign

Technology review – Open Source Licenses

Open-source licenses are licenses that allow software to be freely used, modified, and shared under defined terms and conditions.

These licenses allow users or organizations to adjust the program’s functionality to perform for their specific needs.

Though this term originated in the context of software development to designate a specific approach in creating computer programs, its meaning however evolved into something moralistic, ethical and sustainable.

Today, when we say “open source” we are following the open source way.

Open source projects, products, or initiatives embrace and celebrate principles of:

  • Open exchange;
  • Collaborative participation;
  • Rapid prototyping;
  • Transparency;
  • Meritocracy; and
  • Community-oriented development.

Tl; dr;

Open-source licenses are legal and binding contracts between the author and the user of a software component. It declares that the software can be used in commercial applications under specified conditions.

Open Source Licenses

The Open Source Compatibility Chart

Source: Duke Computer Science

Open source licenses are vital for setting out terms and conditions on which software may be used, modified, or distributed and by whom. They are also used to facilitate access to software as well as restrict it.

A license agreement is implemented so that potential users know which limitations owners may want to enforce, at the same time, owners will have strong background with their legal claims and having great control as to how their work will be used.

Originally, the open source movement started in 1983 when Richard Stallman, a programmer at the MIT Artificial Intelligence Laboratory at the time, said he would create a free alternative to the Unix operating system, then owned by AT&T; Stallman dubbed his alternative GNU, a recursive acronym for “GNU’s Not Unix.”

With Stallman’s vision, the idea of “free” software:

  • Ensures that users were free to use software as they saw fit;
  • Free to study its source code;
  • Free to modify it for their own purposes; and
  • Free to share it with others.

Then on, other programmers followed Stallman’s example. One of the most important was Linus Torvalds, the Finnish programmer who created the Linux operating system in 1991.

Open-source license Major Types

Open-source licenses come in two (2) major types:

Copyleft License.

A free software license that requires copyright authors to permit some of their work to be reproduced.

With copyright law, authors have complete control over their materials.

But with the power of copyleft license, users are permitted to copy and distribute copyrighted materials.

However, authors still have the verdict in who uses the materials based on their intended use.

This license does not require any source code distribution. That’s why users have rights similar to those normally only granted to the copyright authors, including activities such as distribution and copying.

Popular examples include GNU General Public License (GNU GPL), Common Development and Distribution License (CDDL), Mozilla Public License (MPL), Affero General Public License(AGPL) and Eclipse Public License (EPL).

*Note: Not all copyleft licenses are compatible.

To comply with this type of license, simply place your code in the public domain, uncopyrighted.

As a result, GPL-licensed code is not typically suitable for inclusion in proprietary software, although there are some like LGPL (Lesser GPL) licensed code which may be applicable.

Permissive License.

A free software license for a copyrighted code that can be freely (the freedom we think it is) used, modified and redistributed. Permissive-licensed code can be included in proprietary, derivative software.

Popular examples include MIT License, BSD Licenses, Apple Public Source License, Apache License and Microsoft Public License (Ms-PL).

*Note: Though permissive license is not as restrictive as copyleft license, it still requires compliance with a number of obligations (i.e. inclusion of the original license or copyright) before it can be redistributed.

Open-source license Minor Types

While, open source license has two (2) minor types:

Public Domain.

Code that can be used by the public without restriction or copyright. This type of license is intended to be truly free of costs and commonly has very few (if any) obligations with which you need to comply.

Popular examples include Creative Commons (CC-0).

*Note: Though public domain code should be the simplest license to deal with, PLEASE be aware that not all jurisdictions have a common definition of what public domain means. You should ALWAYS check local regulations.

Source Available.

An emerging type of license applied to code that cannot be deployed “as a service,” source available license is being defined in response to cloud providers.

Popular examples include Redis’ Source Available License (RSAL), MongoDB’s Server Side Public License (SSPL), the Cockroach Community License (CCL), or licenses that have had the Commons Clause added.


There are numerous open source licensing agreements a program or file may follow. So, better refer to the appropriate documentation to see what the original developer allows and prohibits.

By Tuan Nguyen

free tafe image

Unit Review – Budgeting

Budgeting is one of the units that I took when going through the course of Certificate IV: Accounting and Bookkeeping in RMIT University. I decided to note down what I learned and how I feel about each units.

I took this course for free. If you are interested, you can read about how I registered here.

Tl; dr;

Quite a basic unit that teaches you how to use formula and how to follow style guide using Excel. It also discusses about how to budget for different types of business.

After going through the course, I have a bit more knowledge in budgeting for my personal finance.


The unit name is Budgeting, and RMIT programmed it to be a cluster of 2 smaller units. Which means that by completing the unit, students complete 2 units in the program. (note that the unit code may change since the time of writing).

The course description, copying as-is, is as follow:

“In this course, you will learn the skills and knowledge required to prepare and document operational budgets for a variety of organisations. You will also acquire the skills and knowledge required to develop spreadsheets through the use of both cloud-based and non-cloud based spreadsheet applications.”

I think it is quite accurate of what I get after finishing the course.

The teacher

Mr Paul Lim was the lecturer in RMIT. He seems to be helpful with answering questions from other students that to me were silly. However, some of his explanation may not be clear to the students, hence led to confusion when doing assignments. As a result, he was not ranked highly when it came to course evaluation.

He seems to have knowledge in accounting and bookkeeping business. He has been an accountant for quite a while and also a property investor. I talked to him a bit during our break and managed to get some good tradies number off of him. However they only service South-eastern part of Melbourne.

The students

Most students seemed to be taking the same government program as I did. They are quite relaxed with the unit and most of them already have jobs somewhere.

However there were also some students who were young, less than 20. I don’t know why they are taking Cert IV program. But surely they have their own situations.

The experience

Excel logo

Source: computerhope.com

My first impression when taking the first class: “Excel, really?!”. Like, is there anyone who does not know Excel???

I’ve never been so wrong. To my surprise, most students don’t know how to use Excel formula, let alone utilizing Excel calculation power.

The unit only taught us how to use SUM() formula, as well as how to do basic calculations on a cell based on other cells.


Source: moneyunder30.com

Budgeting, now that’s something I don’t have a good system for. The unit went into explaining how to budget in different industries. How to forecast budget based on certain estimated weights and values. How to do a rollover (or continuous) budgets. Also I learned about fixed cost and variable cost. It is basic to an accountant, but it was something new to me.

njord style guide

Source: hubspot.com

Style guide was another aspect that I went through. I came to understand that a company will always need to have a style guide to be used in marketing, advertisement, logos, websites, etc. This is the main component in Brand recognition.

Style guide can contain a combination of colours, font type, font size, logos, layouts, etc. that, together, create a unique brand for a company. If you are managing a company, it is advisable that you think about having a style guide. If you need some help, my company, Digital Envision Pty. Ltd. will always be there for you.


Budgeting is just one of many units that I went through. Even though it was a simple unit, it did teach me something that I don’t know. So far, RMIT’s course has not disappointed me.

“Improve yourself everyday and you will be surprised of the person you become a year from now.” – Tuan Nguyen

By Tuan Nguyen

Technology review – Web 3.0

The product of the same visionaries who have helped drive cryptocurrencies and blockchain technology, Web 3.0 is considered to be an evolution of user interaction with web technologies.

From Web 1.0’s “read-only web” (simply walls and walls of text information) to Web 2.0’s “read-write web” (allowing user interaction with dynamic websites),” Web 3.0, sometimes called the “semantic web,” will be a complete reinvention of the web.

Web 3.0 is most likely compared to an artificial intelligence assistant, by being able to get context from the user, and then in turn provide the very same user with most valuable information about a certain information. In other words, it simply understands its user and personalizes everything.

What greatly defines this 3rd generation web is that it has the concept of a distributed ledger (just like Bitcoin), providing more privacy and security and against the control of big organizations.

As what Gian Gonzaga, Ph.D., senior director of research and development at the dating site eHarmony, says, “The Web can give something back that was not previously known. Web 3.0 learns and understands who you are and gives you something back.”

Tl; dr;

Web 3.0 combines the best aspects of Web 1.0 and Web 2.0, allowing online applications and websites to receive information that’s on the Web and give new information/data to the users.

The term Web 3.0 was coined by the reporter John Markoff of The New York Times in 2006, referring to a new evolution of the web, its third generation, with specific innovations and practices.

Decentralized blockchain platforms including Ethereum, EOS, and NEO will make Web 3.0 more useful and dynamic than its predecessor, the Web 2.0.

Web 3.0: Artificially Intelligent Web

web 3.0 explained

Source: 101 Blockchains

An extension of Web 2.0, Web 3.0 creates a more personalized web experience with intelligent search and behavioural advertisements where content is generated by machines instead of by humans.

For instance, based on your opinion about a movie you’ve just watched or a restaurant you visited recently, you get a list of those whose interests coincide with yours as close as possible. Web 3.0 specifically target individuals based on their web history and user data using machines and algorithms.

web 3.0 structure

Source: 1stWebDesigner.com


Web 3.0 has 4 main properties:

Semantic Web.

The incoming generation of the Web involves the Semantic Web. It improves web technologies to generate, share and connect content through search and analysis, helping to evolve artificial intelligence that can utilize that information.

The term “Semantic Web” was first coined by Tim Berners-Lee, describing a web of data that can be processed by machines:

“I have a dream for the Web [in which computers] become capable of analyzing all the data on the Web – the content, links, and transactions between people and computers. A “Semantic Web”, which makes this possible, has yet to emerge, but when it does, the day-to-day mechanisms of trade, bureaucracy, and our daily lives will be handled by machines talking to machines. The “intelligent agents” people have touted for ages will finally materialize.”

Artificial Intelligence.

Web 3.0 allows computers to understand information like humans to provide faster and more relevant results. Thus, they are becoming more intelligent to satisfy the needs of users, allowing websites to filter and present users the best data possible.

According to the University of Maastricht, “Machine learning algorithms are widely employed and are encountered daily. Examples are automatic recommendations when buying a product or voice recognition software that adapts to your voice.”

Websites such as Rotten Tomatoes lets its users vote on a list of movies. With that, movies with higher ratings are generally considered as good movies, allowing visitors to see upfront good data rather than going through bad data.

3D Graphics.

The next wave evolution of the Web will extensively use three dimensional design in websites and services such as e-commerce, real estate, online games, museum guides, etc. allowing for a more realistic cyber world.


Web 3.0 will be ubiquitous (the idea of being everywhere at the same time i.e. omnipresent), meaning content is accessible by multiple applications, every device is connected to the web, and the services can be used everywhere. This web generation will may as well be called as the web of everything and everywhere as most of the things around us are connected online.

The Pros and Cons of Web 3.0

Even though the incoming generation of the web will give better convenience with our day to day, let us also put into consideration the downsides as well.


  • More specific information data
  • More valuable search results
  • With the Internet being more personalized, accomplishing tasks will be much easier
  • Easier knowledge sharing
  • Scamming incidence due to fake identity will be much lesser because Web 3.0 is more secure (blockchain technology).


  • Privacy policy should be addressed than ever
  • Reputation management will be much needed than ever
  • Your user search results and user data will be used by companies for marketing
  • Personal/private information will be easier to find
  • With exciting features and better convenience, people will now spend more time on the Internet than ever
  • Less anonymity
  • People that aren’t active on the Web 3.0 “don’t exist”


In Web 3.0, data will come from the user and the web will then essentially adjust to meet the needs of the user. The new generation of the Web will be more connected, more open, and more intelligent, having to be equipped with distributed databases, semantic web technologies, natural language processing, machine learning and reasoning, and autonomous agents.

By Tuan Nguyen

man in the matrix

Technology review – Automatic programming

“Write code that writes code…”

This is the one of the most interesting arguments found in the book, The Pragmatic Programmer.”

Programmers too have wondered if there are ways of simplifying the coding process.

Imagine having predefined lines of code like headers, libraries, and constructors written already.

Is it achievable?

It is believed that there’s already an automation of programming way back then but it is not meant with today’s generation of programs.

Tl; dr;

Automatic Computer Programming or simply automatic programming is a type of computer programming wherein a program code is automatically generated by another program based on certain specifications.Meaning, a program that writes more code is written, which then goes on and creates more programs.

It is a combination of Artificial Intelligence and Compilers techniques.

The Automatic Programming

automatic programming principle

Source: cs.utexas.edu

The argument about whether or not “a code that writes a code” is actually true and it is called, Automatic Programming.

Way back 1940s, there’s already a code automation, BUT it is not what you think it is.

Automatic programming then was about automating the manual process of paper-tape punching which were the programs of punched card machines.

Later on, it meant the translation of high-level programming languages such as Fortran and ALGOL into low-level machine code.

The concrete definition of today’s automatic programming is like an automated approach to programming where the end-user specifies certain high-level specifications(easily understood by humans) and the program converts it into machine executable code.


AI techniques and Compilers help for the completion of this type of programming:

Artificial Intelligence.

Whether by humans or by machine, writing programs is based on knowledge of algorithms, data structures, design patterns.

  • Needed to represent, find, and instantiate design patterns.
  • Search may be needed in finding a combination of components to accomplish the desired task.


Representing the code in the form of Abstract syntax trees, compiler techniques are used in generating and manipulating programs. Techniques such as code optimization are used so the generated code is efficient in all aspects.

  • It is better to know what optimizations a compiler can perform, so the program generator does not need to duplicate those.
  • As used by compilers, the central representation of a program is the Abstract Syntax Tree (AST).
  • Lisp code can be viewed as a kind of AST.


Automatic programming can be divided into two (2) categories:

  •  Generative Programming. It is where standard libraries are used to improve the efficiency and speed of programming. The programmer does not need to re-implement it or even need to know how it works. For instance glut.h a graphics library for C++ for easily implementing OpenGL programs.
  • Source Code Generation. A real interest to AI researchers, source code is generated based on a model or template which is made through a programming tool or an integrated development environment (IDE). One good example is the Google/MIT App Inventor where users simply need to drag and drop functions that they want and then visually connect them to each other to define how the app works without ever typing any lines of code.

Popular Uses of Automatic Programming

Microsoft’s T4 (Text Template Transformation Toolkit), consists of template code which users see at design time and then this code is converted to output code at run-time saving them the overhead of writing all the code manually.

Accelo a code generator for eclipse is used in generating text-representation in languages like (PHP, Python, Java, etc.) from Eclipse Framework models defined in UML. Actifsource is a plugin for Eclipse that allows graphical modelling using templates.


In the future, programmers won’t need to write code anymore and this task would be fully automated.

There’s no reason to panic about this.

The trade would still continue but it would just develop from specific problem solving to general problem solving.

Additionally, domain knowledge varies in complexity and so far only humans are capable of devising solutions to specific problems.

By Tuan Nguyen

React logo

Technology review – React 16.9

React 16.9 landed in August 08 2019. Bringing with it numerous bug fixes, as well as some new features, including  <React.Profiler> , and a testing utility act()

Tl; dr;

React 16.9 does NOT contain any breaking changes, so we can upgrade from 16.8 safely. It contains a programmatic profiler so developers can measure the performance of the components in specific, and the whole application in general. Introducing a new-ish testing function act(), helping to simulate exactly how React works in a real browser.


Unsafe lifecycles

Major deprecation warnings are introduced in this update. Firstly, deprecated lifecycle methods are now renamed to UNSAFE_…

class MyComponent extends React.Component {
  // previously componentWillMount()
  UNSAFE_componentWillMount() { ... }

  // previously componentWillReceiveProps
  UNSAFE_componentWillReceiveProps() { ... }

  // previously componentWillUpdate()
  UNSAFE_componentWillUpdate() { ... }

The old lifecycle methods will be removed in the future updates. For 16.9, they only throw warnings if the code contains these lifecycle methods.

To help with migration, Facebook also introduces a library called react-codemod to help changing these names across your codebase. More details in the official announcement from React team.

Javascript: URLs

Another deprecation is the usage of javascript: URLs

We have been always able to copy and paste the following code into the url bar and see your current browser name. Or you can change it for it to do all sort of things, including exploiting cyber-security vulnerabilities.

javascript: alert(`Hello champion. Your browser is ${window.navigator.platform}`);

In React 16.9, the usage of this syntax will throw a warning and React team plan to have it throwing an error in the future. More details here.

“Factory” components

Previously, we can create a factory component function to create dynamic components based on our needs. This is before having Babel to compile React classes.

const factoryComponent = (type) => {
  return {
    render() {
      return <div>{type}</div>;

Now, with such usage, React will throw a warning to notify developers to avoid this pattern. We can alter the code to properly return a function/component class instead.

// factory for functional components
const factoryComponent = (type) => {
  return () => <div>{type}</div>;

// factory for component class
const factoryComponent = (type) => {
  return class extends React.Component {
    render() {
      return <div>{type}</div>;

New features

Async act()

Finally we can use act() with asynchronous function. Prior to 16.9, it only accepts a normal function.

const asyncFunc = async () => { ... };

// before
it('should do something', (done) => {
  act(() => {
      .then(() => done())
      .catch(err => done(err));

// after
it('should do something', () => {
  act(() => asyncFunc());


Basically it’s a wrapper component to allow a callback function to be executed everytime the underlay components are called.

class App extends React.PureComponent {

  constructor(props) {

    this.state = {
      counter: 1,

    setInterval(() => this.setState({ counter: this.state.counter + 1 }), 1000);

  render() {
    const onRender = () => {
    return (
      <React.Profiler id="application" onRender={onRender}>
        <div className="App">

And we have this in our console.

For more information on Profiler, React team provide a deep down documents here.


Every React version brings us joy to test and tinker with the new features. React 16.9 is no different. I had fun working with the #bleedingedge. Hopefully I can integrate some of these new features into my work soon.

By Tuan Nguyen

computer with money

Discussion – Programmers salary in Australia

Everyone wants to have a great career and most of all, a better-paying job.

In the future someday, you just get to laugh at what you had gone through on those days when you are broke and had nothing to eat or buy something fancy.

Before you get to that, you need to have a clear mindset with a lot of hard work and perseverance to achieve the five or six-digit salary you want.

With today’s skill-intensive job market, having a practical working knowledge of computers is simply essential–most specifically with computer programming.

This job has experienced a skyrocketing demand, pay and general awareness over the years since the digital boom of the 1990s.

As sourced in PayScale, Australia along with Switzerland, Sweden, and the United States have higher software engineer salaries than other countries.

[Note: For this, values for Australia have been expressed in US dollars.]

australian developer salary

Source: HackerEarth

Another is a survey from a worldwide employment-related search engine for job listings, Indeed, revealed that popular jobs in Australia are Junior Software Engineer, Software Engineer, .NET Developer, Junior Java Developer, and Full Stack Developer. [Updated last August 12, 2019]:

australian developer salary rates 2019

Source: Indeed

Here, you’ll see that the highest paid job is the Full Stack Developer having an average salary of $109,234 per year, followed by .NET Developer with $97,808, Software Engineer for $92,132, Junior Java Developer having $82,151 and lastly, Junior Software Engineer at $69,250.

Tl; dr;

Programmers design, develop, test, maintain and document program code for various user requirements, and system and technical specifications.

Programming is one of the tech jobs having a wider opportunity to those aspirants who want to get a much higher salary.

Having a bigger salary equates to a higher standard of living – enticing right?

Australia is one of the pretty popular countries among developers who love a laid-back lifestyle.

Average salary programmers get in Australia

programmer at work

Source: SEEK

Having a practical and in depth computer knowledge is a great tool for you to be in for an exciting career with programming.

According to Glassdoor, Inc. the national average salary for a programmer is $73,913 in Australia per year based on 53 salaries submitted anonymously to Glassdoor site by programmer employees.

When talking about programming languages, range of salaries offered to programmers depend on the economic well-being of a country.

For Australia, one of the most sought computer languages are cited below:

[Note: Much of the information are cited from Qubit Labs]

Python. Still remaining an in-demand, go-to language when you want to get into Science, Math, and statistics, Python is often used as an alternative to the R programming language in statistics and data science for ease of use and productivity.

python salary

Java. With its continued growing popularity, this language has been used by almost 40% of developers in 2018. It is considered the language of computers and devices. Java is a compiled language, specifically designed to work on any machine or at least any machine with a JVM (Java Virtual Machine) installed.

java salary

JavaScript. Used by over 60% of programmers worldwide, JavaScript is an interpreted language used to create interactive websites such as Facebook and YouTube.

As a primary front-end language, it is enhanced by the power of various frameworks and libraries, including Angular, Ember, Vue, and React.

javascript salary

Ruby. Comes with a huge variety of additional libraries, this computer language can be used for web applications development small scripting work and automation, and API development. Also, perfect for beginner programmers.

ruby salary

C++. Initially released in 1985, C++ remains the sixth popular language of programming. It still has plenty of developer jobs available due to legacy codebases, other times due to the low level of the language.

Today, C++ can be used where a high-performance code is essential including, real-time safety-critical code or financial industry applications.

C++ salary

C#. A Microsoft-produced .NET language,C# has similar capabilities to Java and Python. This programming language is arguably most useful in cross-platform development, game development, and web services.

C# salary

PHP. Having JavaScript a preferred client-side language of the web, PHP is the flip side, for many the preferred server-side language of the web. It is the leading language of web development.

PHP salary

.NET. Though not a language but a framework, .NET provides programming guidelines that can be used to develop a wide range of applications from web to mobile to Windows-based applications.

.NET salary

Points to Ponder

When choosing programming language(s) to pursue in your career, remember these things:

  • Its usage (i.e. GUI, systems, automation);
  • The prevalence of the language and support; and
  • Whether you enjoy programming with it or not.

Of course, a single programming language may not be enough in your career path. Everyone will need to learn different languages while they’re working.


Regardless of the salary, you should also take into consideration the popularity of the programming language, its usage and support and whether it is your passion/enjoyment to program with it or not.

Though at first your knowledge with it might be a bit little, programming skills and proficiency can improve over time.

By Tuan Nguyen