Neo4J 2 – Joins in Cypher

Neo4J 2 – Joins in Cypher

The OPTIONAL MATCH clause is a way of fetching related data off a node, without affecting the main query. It allows us to perform some joins similar to the ones we know from SQL, see image below. We will discuss in detail how MATCH and OPTIONAL MATCH clauses can lend themselves towards constructing the joins.

Note: We will not be covering right joins as they are costly to perform in graph database, it is much more efficient to swap the sides and perform a flavour of left join. We also are not going to talk about Self Join.

Continue reading “Neo4J 2 – Joins in Cypher”


Australian Medical Levies and Surcharges

Australian Medical Levies and Surcharges
This article talks about the following levies and surcharges:
  • Medicare Levy,
  • Medicare Levy Surcharge (MLS),
  • Lifetime Health Cover (LHC) Loading, and
  • Private Health Insurance (PHI) Rebate.

Continue reading “Australian Medical Levies and Surcharges”

Federal Budget vs. Unstable Economy

Federal Budget vs. Unstable Economy
Every country has something to offer to another; and every country depends on another for some resource to either produce or use. To offer something, the country needs people to do the job. So if the demand is low for what the country has to offer, then it will require less people to do the job. If the country doesn’t have the right people to do the job then it can’t supply to meet the demand and therefore potentially lose out on sales. The more people with job, increases the demand for housing, infrastructure and tourism. When there is a right balance of trade and employment, the country will prosper. If there is an imbalance or the growth rate of production and employment is far below sustainable growth, then the economy is in trouble.  It will require a push from the government and the monetary authority of the country i.e. people in charge of printing money (e.g. reserve bank) to get it back on track.

The push is referred to as economic stimulus, i.e. stimulating the economy.

Continue reading “Federal Budget vs. Unstable Economy”

Cars: Who owns what?

Cars: Who owns what?

This is a simplified version of which car companies own what brands, extracted from article written by Thor Benson on November 14, 2013.

BMW (Mini, Rover, Rolls-Royce)
Chrysler (Dodge, Jeep)
Nissan (Infinity)
Fiat (Alfa Romeo, Lancia, Ferrari, Maserati)
Ford (Volvo, Mercury, Lincoln)

 General Motors (Saturn, Chevrolet, Hummer, Cadillac, Saab, Holden, Opel, Vauxhall)
Honda (Accura)
Hyundai (Kia)
 Mercedes-Benz (Mayback and Smart)

Toyota (Lexus, Daihastu, Scion)
Volkswagen (Porsche, Audi, Skoda, SEAT, Bugatti, Bentley, Lamborghini)

Banking & Bankwest Notes

Banking & Bankwest Notes

Some notes on how PayPass and PIN transactions work and what account balance means when you are with Bankwest.

Online Banking

Balance‘ is the balance amount excluding the credit limit of $100. Whenever this amount is in the negative, we have started digging into that credit limit.

Available Balance‘ is the balance amount including the credit limit of $100. You would ideally want to to keep this amount above $100 to ensure you do not accidentally dig into the credit limit. If this amount is in the negative, you are actually going into overdraft and that is when you start to pay the overdraft fee.

Once a transaction is added, the amount displayed under ‘Available Balance’ is accurate with regards to the amount actually available, e.g. to take cash out. The amount displayed under ‘Balance’ takes longer time to include recently added transactions.


Bankwest does not process transactions over the weekend, therefore you will not see a transaction dated on a weekend.

PayPass transactions are always under $100 and do not require PIN. These transactions are automatically authorised after checking for account balance with the bank. Does not register the transaction with the bank. The bank is only informed of this transaction when MasterCard informs them. MasterCard gets notified, once the merchant has processed the transaction, which is usually end of the day or whenever they feel like. For this reason, PayPass transactions are always dated on the day the bank receives them and not when they actually took place. Due to this it could take up to 5 working days for a transaction to appear. Using PayPass, your bank balance is no longer a true representation of what you actually have. PayPass transactions will not be displayed as uncleared funds as banks do not know about them until they are passed through from MasterCard. In case of fraud, Bankwest does not handle the claim directly. It is MasterCard who handles the claim and they have access to these information.

CHIP n PIN transactions are the ones you need to provide your PIN for. These transactions contact the bank directly for authorisation. Due to this, they are also immediately processed and the transactions are dated the same day it took place. Exception to this rule is the weekend transactions. They are dated first working day after the weekend/long weekend.

Are Frequent Flyer programs worth it?

Are Frequent Flyer programs worth it?

The frequent flyer programs were created to lure passengers who travel often to stick with a certain airlines by providing them points and status credits. So airlines get returning passengers, which is good for the business and the passengers get to use the points collected by travelling on in-flight purchases, flight upgrades and free flights. With the introduction of frequent flyer programs in credit cards, stores and supermarkets, those passengers are now able collect more points even quicker. This made, collecting points, even more attractive for the frequent fliers.

This is well and good for them but is it worth for someone who is a non-frequent flier, who in average takes two local flights a year and one long haul for a nice vacation, and earns points on your credit card purchases mostly Visa/MasterCard. The banks and the airlines think so but is it really?.

Continue reading “Are Frequent Flyer programs worth it?”

Software Quotes

Software Quotes

Here are some software quotes I came across and very much agree with and (try to) follow:

  • The trick is to fix the problem you have, rather than the problem you want. — Bram Cohen
  • The purpose of software engineering is to control complexity, not to create it. — Pamela Zave
  • When you feel the need to write a comment, first try to refactor the code so that any comment becomes superfluous. — Martin Fowler
  • Premature optimization is the root of all evil in programming. — C. A. R. Hoare
  • Perfection is reached, not when there is no longer anything to add, but when there is no longer anything to take away. — Antoine de Saint-Exupéry
  • One of my most productive days was throwing away 1000 lines of code. — Ken Thompson
  • There is nothing more unproductive than to build something efficiently that should not have been built at all. — Milt Bryce
  • The ultimate management sin is wasting people’s time.  T. DeMarco and T. Lister
  • The fastest algorithm can frequently be replaced by one that is almost as fast and much easier to understand.  D. Jones
  • Successful software always gets changed.  Frederick P. Brooks
  • You’re bound to be unhappy if you optimize everything. — Donald E. Knuth
  • A clever person solves a problem. A wise person avoids it. — Albert Einstein
  • Everything Should Be Made as Simple as Possible, But Not Simpler. — Albert Einstein
  • Knowing is half the battle (the other half is doing). — G.I. Joe
  • When everything is connected to everything else, for better or worse, everything matters. — Bruce Mau