Friday, 24 July 2015

Ashley Madison hack

First I thought, "Nice hack of an unsavoury service." Kind of an amusing comeuppance at first blush. The crypto nerd in me felt some glee in the whole thing until I meandered.

Then I thought better.

It's not just the invasion of privacy of those untroubled by their activities. Consider the effect on those who would be troubled. Perhaps most would be troubled, but that is just my prejudice. I think it fair to say, some AM clients may feel embarrassed or ashamed when well lit.

Would the hack be worth the life of one depressive or newly depressed individual?

I think not.

So, shame on the hack for targeting the citizenry and tempting the likely fate of awful collateral damage.

Bombing Dresden may have seemed like a good idea in the planning, but the consequences were not well thought out either. Yeah, not a great analogy in terms of magnitudes of morality as I skirt close to Godwin's Law.

Nevertheless, how would you balance the equation of:
      serving N assholes = M lives?

M = 0 is the only correct answer for me.


Tuesday, 14 July 2015

Top500 - is that a supercomputer in your pocket?

The new Supercomputer Top500 list is out today. Not much change at the top with one new entry at #7 being a Cray XC40 in the Kingdom of Saudi Arabia. Apparently it's the lowest turnover in the 500 strong list in a couple of decades. Stasis or Moore's law barriers?

There are now 68 system running at greater than 1 PetaFlop. The entry point was raised to 153.6 TFlops from 133.7 TFlops. You might want to plan for around 200 TFlops in your basement if you want to crack the next list in six months time.

Though it is not necessarily representative of many modern workloads, such as graph work, the list remains captivating.

I'm getting old. A piece of meandering I find most interesting and, frankly, a little challenging, is where the list was when it all began in 1993.

I remember working in prop trading in an investment bank in 1994 and getting a new beaut Pentium Pro dual 200MHz IBM microchannel beast for my desk. It could deal with time series with 800,000 Bund intraday points quite nicely which I found fun. Time ticks and my $35 Raspberry PI 2 can run rings around that old expensive workstation. Comparing supercomputers in 1993 to modern phones is even more mind boggling, to me at least.

Your pocket supercomputer

Let's look at the 1993 starting point. To get into that initial Top500 list you needed to do High Performance Linpack (HPL) at around 0.4 GFlops. The fastest supercomputer at HPL on planet Earth, and perhaps anywhere else in the solar system, was 59.7 GFlops.

Let's look at a slightly older phone, the LG Nexus 4. It uses an ARM Cortex A9 quad-core processor and an Adreno 320 GPU. Here is a 2014 paper, "A Case Study of OpenCL on an Android Mobile GPU" by Ross etal. It doesn't do an HPL for direct comparison, but we can see the ARM grinds out about 1.09 GFlops and the GPU around 15.2 GFlops (with 8,912 particles) on a single precision n-body simulation. Pretty good going. Not quite the 89.8 GFlops of a dual Xeon X5650 (12 x 2.67GHz cores) nor near the 1.362 TFlops of an AMD Radeon HD 6970 GPU (Cayman) on the same problem but comfortably within range of a plausible comparison for the first Top500 list of supercomputers in 1993.

1993 initial super computer list - double precision HPL
 #500 = 0.4 GFlops          #1 = 59.7 GFlops

LG Nexus 4 with ARM Cortex A9 & Adreno 320 - single precision n-body
CPUs = 1.09 GFlops              GPU = 15.2 GFlops

Awesome. You do have a supercomputer in your pocket. 

Now the Adreno 320 is no longer state of the art. Whilst I don't have HPL numbers we can look at the peak rates of a few more modern phone SoCs to meander about the space. It's fun to me at least.

From this list last updated in March 2015:

  • Qualcomm Adreno 320
      • Peak 57.6GFlops
  • Qualcomm Adreno 430 - Snapdragon 810
      • Peak 324 to 388.8 GFlops
  • Imagination PowerVR SGX554 MP4 - Apple A6X
      • Peak 76.8 GFlops
  • Imagination PowerVR GX6850 - Apple A8X
      • Peak 272.9 GFlops
  • Imagination PowerVR GT7900
      • Peak 819.2 GFlops
  • Nvidia Tegra 4
      • Peak 96.8 GFlops
  • Nvidia Tegra X1
      • Peak 512 GFlops

Whilst only some, or even no software at all, may be able to use part of this peak power for processing, the future is clearly bright for running fluid dynamics in your pocket.

It wasn't that far back, in June 2005, the lower limit for the Top500 exceeded 1TFlop. I wonder how long before truly available cell phone Flops exceed 1 TFlops? Perhaps not too long at all.


PS: You might find these interesting:

Sunday, 12 July 2015

IEX - not walking the talk

The IEX Discretionary Peg (DPEG) order type should have no place in a transparent market place.

Let me meander through my reasoning...

I have no real problem with IEX other than I didn't really see the need for it which is a continuing view I hold. The people involved all seem pretty well intentioned, the ownership model is different without necessarily being better, the initial order types were simple and nice, and, in the beginning, IEX was transparent about what it did. It is no longer transparent.

The initial thought I had about IEX was that it was unlikely to be wildly successful as its "shoebox" delay line was simply turning the platform into a slow matching system with a virtual co-location space the size of New Jersey. That is not a recipe for success. Slow exchanges lose to faster exchanges as natural liquidity hubs and risk management centres; all other things being equal.

Jumping the shark

IEX introduced the DPEG order type a while ago and in December 2014 it was 11% of IEX's volume.

What is it?

You'll find the description of DPEG from IEX here which I reproduced in full:

Discretionary Peg Order

Upon entry, a Discretionary Peg Order is priced by the System to be equal to the Midpoint Price. Unexecuted shares are posted to the Order Book priced equal to the primary quote and automatically adjusted by the System in response to changes in the NBB or NBO. Discretionary Peg Orders can exercise price discretion to the Midpoint Price and respond to quote stability signals from the System. Discretionary Peg Orders are not eligible for routing and must have a TIF of FOK, IOC, DAY, or GTT.

Price Discretion: Discretionary Peg Orders will exercise the least amount of price discretion necessary, from their resting price to the less aggressive of the Midpoint Price or the Discretionary Peg Order’s limit price, to meet the limit price of orders entering the Order Book. When exercising discretion, Discretionary Peg Orders maintain time priority at their resting price and are prioritized behind any resting orders at the discretionary price. Discretionary Peg Orders are eligible to Recheck the Order Book to the Midpoint Price.

Quote Stability: During periods of quote instability, Discretionary Peg Orders are not eligible for Book Recheck and will not exercise price discretion. Quote stability is determined by the System based on an IEX proprietary assessment of relative quoting activity of Protected Quotations over a given period of time.

The bit that has always annoyed me as disconcerting is in the final paragraph above that I've highlighted, "based on an IEX proprietary assessment of relative quoting activity." You don't know what your DPEG order is doing. You can never argue that IEX has done the right thing or the wrong thing. If your DPEG order wanders in after a hard night out and claims it did its best for you, you can't really question it. All you can do is blindly trust and not verify. This is not how a transparent market place should operate.

Now, I believe DPEG probably provides a useful service to clients and is well intentioned. However, I also believe DPEG has no place in the life of an exchange. IEX is not an exchange. Does it have a place in an ATS which has a lower threshold of oversight? I'm not sure but I think it OK if the users want it in an ATS but I'm sitting on the fence as being generally unsupportive. I am strongly of the view that such unverifiable, opaque orders do not have any role in a properly regulated, fully licensed exchange. I hope IEX will remove it before becoming an exchange.

This is nowhere near the same category of dubiousness of a Pipeline screwing over their customers in their pool. Nor is it in the same dodgy territory as ITG misleading their customers about being agency only and yet making millions of dollars by proprietary trading against their clients' orders.

It goes to the role of order types in an exchange. I think this remains one of the bigger regulatory problems all around the world, but in particular with Reg NMS in the US. Too many order types and too much weirdness. This issue has not really been addressed since the crap work of fiction "Flash Boys" revealed it as one of the only valid criticisms to be highlighted by Lewis. I'm kinda happy about this as it gives me room to exploit order types, but it shouldn't be the case. The regulators should be depriving me of this opportunity.

I'd perhaps support an exchange making more complex order types, like IEX's DPEG, if such orders were made out of atomic orders and behaviours with no-special advantage. Effectively, offering layered services. Not within the ring of the matching engine, but in the same co-location space that clients also have access too so there is no disadvantage to client relying on the standard order types.

The SEC should force exchanges to stick to simple order types that are completely transparent to the point where a client could simulate the behaviour of an exchange from external market data. It's in the interest of any regulator to be able to review properly and "regulate" the orders of an exchange after-all. If you want a complex order type with weird behaviour, use a broker that you can trust. 

IEX, please go back to your principles and make a transparent market place.

Happy trading,


Thursday, 9 July 2015

Breaking NP-completeness without quantum?

Early days, but this is a potential bomb.

Memcomputing NP-complete problems in polynomial time using polynomial resources and collective states

If we solve NP-complete efficiently then we may break TSP and all sorts of magical optimisation problems joyously drop out of the sky at our feet. It is not clear if this would also break integer factorisation and thus RSA, but perhaps it might.[2]

A slightly updated version (7 July 2015) of this paper is available on arxiv here.

In the the abstract you'll read this,
"We show an experimental demonstration of an actual memcomputing architecture that solves the NP-complete version of the subset sum problem in only one step and is composed of a number of memprocessors that scales linearly with the size of the problem."
That makes the paper exciting.

This is perhaps a little bit beyond factoring the number 15, as IBM did with a quantum implementation in 2001, but the smallishly sized subset-sum problem (SSP) example in the paper is nevertheless toyish. Popping out a magical solution to SSP doesn't necessarily mean that the reduction mechanism can be used for all NP-complete brethren.

There has been much noise and history in this space that has collapsed on further inspection, especially regarding physical models of computation.

You can read Aaronson's 2005 survey paper on various techniques for solving NP-complete problems in polynomial time which is critical of all techniques including quantum. The community now seems convinced quantum may indeed work so perhaps Aaronson has to be taken with a grain of salt. Update: See [1][4]

A critical review of the Memcomputing paper by Igor Markov that cites Aaronson's paper was published on 22nd April 2015.

When I tweeted about the SSP paper @jhonline92 quickly noted: potential issues with time / space complexity; if SSP is always solved; and, if other NP-complete problems could be similarly reduced in this model. Very good points and those issues are consistent with the critical review from Markov above.

D-Wave is arguably not a true quantum computer in that it couldn't run Shor's algo for factoring though Shor's algo is perhaps not the only way to factor and thus break RSA. Likewise, to be useful perhaps not all NP-complete problems may need to be solved for a memprocessor.

Extraordinary claims need extraordinary proof. There should be some scepticism about the SSP memcomputing paper as it may just be another notch in the belt of history regarding failed analogue attempts to breakdown NP-complete. It is different though. Is it different enough?

Let's see what happens...


PS: Well, that escalated quickly. A few thousand people read this last night and some provided some healthy commentary. The conclusion voiced being that the SSP paper above doesn't really stand up and it is another failed analogue attempt at breaking down NP-complete as consistent with Aaronson's point of view.

[1] Update: Here is Scott Aaronson's well written blog with specific consideration and refuting of the Memcomputing SSP paper. Interestingly in that blog post Aaronson holds his line on the belief that quantum computing will also not work for NP-complete problems which seems reasonable.
[2] Update: I'm told that integer factorisation will break if NP-complete breaks, so yeah, RSA would also fall.
[3] Update: A simplified summary by Scott Aaronson from SciAm and references to his BQP notes in his lecture notes.
[4] Update: I've misunderstood Aaronson. He is supportive of quantum for factorisation (as part of BQP) but points out that quantum will not be able to do NP-complete and I've not seen any reference to work suggesting otherwise.

NYSE failure - handy wavy generalisations

I guess we'll learn later why the NYSE went down for a few hours yesterday but I do feel, when these things happen, somewhat surprised they don't happen more often.

In the old days, with Stratus FT machines, VAX VMS clusters, and lock-stepped Tandem NonStops, the core systems of some exchanges were remarkably resilient. Today, the resilience is not so well designed but also the network complexities and "other" infrastructure pieces involved are orders of magnitude more complicated. It's no longer biggish iron with relatively simple serial I/O. I really am surprised such failures don't happen more often.

It doesn't have to be this way though. Matching engines are inherently simple.

At the old Zeptonics, we wrote the ZeptoMatch prototype for a matching engine that never quite made it to a product stage. It operated on the equivalent of a day's Nasdaq data with a median wire to wire latency of 1.97 microseconds using Mellanox ConnectX-EN 10G cards. It could do over a million orders per seconds quite comfortably. There was a fair bit of work around the core matching engine for housekeeping, monitoring, et cetera, but the core matching was only a few hundred lines of C++ using straightforward data structures from the Standard Template Library. No great magic there. The "core" was about a month's work by one guy, albeit a clever one. Again, not really a big deal. The speed was just a result of carefully tuning the processor, Linux, and the Mellanox network stack.

For a matching engine, being simple should help with building a resilient exchange as it is then simpler to leverage further techniques. For example, you could do it twice, or N times with some N-versioning for better safety. You could also take the meritorious approach that the clever Prof Gernot Heiser's team took with the seL4 microkernel. That is, write a proof. seL4 is over 9000 lines of C code with some assembler thrown in. There was an initial functional correctness proof in Isabelle/HOL that was extended to include:

  • proofs for a high performance IPC fastpath; 
  • proofs for correct access-control enforcement; 
  • proofs for information-flow noninterference; 
  • a proof for user-level system initialisation; 
  • proof for refinement between the semantics of the kernel binary after compilation/linking and the C source code semantics used in the functional correctness proof; and, 
  • an automated static analysis of the seL4 binary to provide worst-case execution time for all system calls.

seL4 is much more complicated than a matching engine...

There are no guarantees in N-versioning / voting systems, nor with formal proofs, but you'd likely be in a better place. I'm not sure why an exchange doesn't bite the bullet and spend a handful of millions and about a year and do just this. You'd think the market may reward it given the publicity around such issues.

There is much more to an exchange than the double auction or call auction process. Despite the occasionally stuffed-up IPO, errors are more likely in the infrastructure or network. The thing I find most troubling in many exchange architectures is the homogeneity of the network systems used. Often one vendor, or just one vendor at a particular architectural point. Usually with redundancy, but homogeneous redundancy. I'd like to see redundancy in the design and/or vendor to improve resilience. For example, you could use a fast layer one replication market data broadcast for the ultimate in speed along with an additional traditional UDP multicast set of infrastructure as a nicely independent model. There would not be a lot of cost is doing it twice with modern equipment but much to gain in terms of reliability. I can't imagine there would be too many networking vendors willing to share when submitting an RFQ, which means it is up the exchanges and their architecture groups to puzzle this one out without necessarily relying on the vendors.

Still, rolling out technical reconfigurations without robust procedures will always kill you. Humans aren't great at pushing buttons.



[Update: Information release from NYSE via BI on the incident

Thursday, 2 July 2015

"If something's not impossible, there must be a way to do it"

Sir Nicholas Winton: a real-life super-hero passed away 1st July 2015.

A stockbroker who quietly rescued 669 children. After the war, Winton did not discuss his efforts with anyone; his wife found out what he had done only after she discovered a scrapbook in their attic in 1988, detailing the children's parents and the families that took them in.

New York Times
Wikipedia: Sir Nicholas Winton
Power of Good: story
Washington Post on Sir Nicholas Winton

Sadly, during a BBC interview in October 2014 he said, "I don't think we've learned anything ... the world today is in a more dangerous situation than it has ever been."

Tuesday, 23 June 2015

Kalray - new product meander

Kalray's interesting chips are modelled on the kind of hierarchical architecture that has proved itself in 1M core HPC configurations. Their solutions have 16 clusters of 16 tightly coupled processors in a VLIW architecture. Those clusters rely on message passing. Their main differentiator would be their energy claims of 20 pJ's per instruction.

ILP -> 16 threads -> 16 units = 256 core hierarchy

The previous Kalray generation's interconnect
They have just announced their V2 uP product and next gen PCIe card, TurboCard3, with a dutiful improvement in processing from 1TFLOP SP to 3TFLOP SP claimed in the just released PR. They are running a little behind as V2 was scheduled for  2014 with a 1024 core due in 2015 according to the 2013 presentations listed below.

Here is some background on Kalray;

Promising: 100GFLOPS/W with 1024 cores at 12W implying 1.2 TFLOPS == nice!
I'm rather fond of Kalray's type of approach but it hasn't been a happy hunting ground for companies in this space. Maybe Kalray will be the one to break through.

Tilera "failed" with its more than $100M in VC being acquired for $50M by EZchip. Its story is not over but its grand vision has been scaled back. Early chips were somewhat starved of memory and their CPU nodes were viewed by many as a little weak. It remains an interesting proposition and here's to hoping EZchip makes it work more broadly.

Picochip similarly raised $110M in VC and was acquired by Mindspeed for $52M. Hardware is hard as PixelFusion/Clearspeed also demonstrated.

Adapteva's Epiphany III and IV chips and Parallella boards represent a cool architecture. The company has achieved extraordinary results in the context of its limited funding and a successful Kickstarter. I'd love to see it take off.  Limited funding seems to be its main problem. Adapteva looks somewhat starved of funds and is unlikely to achieve their original hope of zillion core chips. The non-push on their 64 core variety, from an apparent lack of funds, seems to suggest a refocus. Epiphany IV, the 64 core chip, is EOL'd. Parallella is making good strides in the embedded / hobbyist space with an attractive SBC with a Zynq + 16 core chip but is unlikely to succeed wildly simply due to its cost. It's hard to measure yourself against the success / volume of either of the two systems sitting on my desk here: a $35 Raspberry Pi 2 and a $4 STM32 Cortex Arduino focused board.

Kalray's main competition is likely to be the tiled Intel and ARM processors from the pool of Intel Phi, AMD, Cavium, et cetera.

However, I personally think the future may be RISC-V. I buy RISC-V's "ISA is not so important just pick one and make it open" argument. If I was to build my own SoC for HFT (anyone?) or IoT, RISC-V, I'd choose you. Sorry Picachu. There must be a lot of people thinking the same thing as I'm a little slow.

Good-luck Kalray, the pJ per instruction argument is a good one. However, my new technology bet, if I was to bet on a company or start-up, would be on a RISC-V ISA based solution.


PS: Yes, I do think RISC-V has a very good shot at usurping x86[_64] and ARM...

Tuesday, 16 June 2015

The Federal and High Court Judicial Employment Paradox

All judgments by a Federal Court or High Court judge, if that judge has been remunerated by a external party, including by an educational institution, may be Constitutionally invalid.

Awful implications. Let me meander through my simpleton reasoning.

Can judges have other employment?

Is it appropriate for a High Court jurist to have external employment?

It is allowed or constitutional for a High Court jurist to be employed by a third party?

My Federal Court of Australia case pointed to potential conflicts in this space with a judicial relationship from third party employment to counsel, the other parties wife, donations to the employer and a bunch of other factors. A potential minefield for a system that seeks to ensure the public would have no reason to question the impartiality of the decision making process. Justice must not only be done, but be seen to be done.

In a broader context, it begs the question of what kind of employment may be appropriate for a judge?

One benchmark for judicial ethical standards is the UN Bangalore Principles of Judicial Conduct. The UN's main interpretive view was commissioned and given by UNODC in "Commentary on the Bangalore principles of judicial conduct."

The commentary interprets that jurists really shouldn't have outside employment but makes an exception for educational institutions. It says that the role of the judiciary is important in legal education though it strives to point out that the remuneration should be similar to what an academic is provisioned for the same work. Special consideration may make such engagement problematic. It makes an important exception though, and that is where the employment or remuneration would be contrary to the constitution or law. It seems a sensible approach.

I think it is clear in my case the judge acted improperly, but where is the line? I have argued in this blog previously that apprehended bias is like pornography and that you "know it when you see it." Is it appropriate for a judge to have external remuneration for work? Should it be, as the Bangalore Principles suggest, only at educational institutions?

In my case many of the significant conflicts were in the context of an educational institution, a university. Hence my specific meandering here. Also many judges have remunerated positions at universities as they seek to selflessly serve their communities. It seems to me that the conflicts in my instance were many, wide, and perhaps not representative of the usual conflicts nor perhaps typical of a judge that may be more conscious of judicial ethics. So, arguably, my specifics are perhaps not too relevant for the broader question of judicial employment; just a trigger for thought.

Chapter three of the Australian Constitution says something on the matter. It says in Chapter III, section 72:
Judges' appointment, tenure, and remuneration
The Justices of the High Court and of the other courts created by the Parliament:
                     (iii)  shall receive such remuneration as the Parliament may fix; but the remuneration shall not be diminished during their continuance in office.
                   A reference in this section to the appointment of a Justice of the High Court or of a court created by the Parliament shall be read as including a reference to the appointment of a person who holds office as a Justice of the High Court or of a court created by the Parliament to another office of Justice of the same court having a different status or designation.
At my first read I thought "shall receive such remuneration as the Parliament may fix" naturally excluded external remuneration as such remuneration would not be remuneration that the Parliament fixed. I wasn't so sure on a second reading though as it could be read as an expectation that a judge would not have external remuneration rather than an insistence. Is the cat in the box dead or not?

Thinking about a special leave application to the High Court in my case resolved the issue for me. Quite simply, really. Judges cannot in the High Court, nor the Federal Courts have external remuneration. Notably this reasoning does not affect judges in the Supremes or other state or district courts. Let me meander through the obvious reasoning.

The Judicial Employment Paradox

Hypothetically, if Joanne Citizen was to be aggrieved for some reason due to the external remuneration associated with a presiding judge in the FCA, who does she appeal to? After the Full Bench of the Federal Court, the last chance hotel is the High Court.

Now, if in your reasoning before the High Court you wish to bring into question Chapter III, section 72 (iii) from above, you have a problem. Any party reading a judgment from on High that decided against you would feel that perhaps the jurists may be conflicted. Why? They would be deciding on their own current or potential future remuneration. As part of your special leave application to the High Court you would have to ask that all the judges withdraw, or recuse, themselves leaving no one to decide the case. Who cuts the bald barber's hair?

This paradox solves the problem as is necessitates the interpretation of Chapter III s72 (iii) to require that all judges of the High Court and other courts created by the Parliament, such as the Federal Courts, cannot therefore have external remuneration.

This is a problem. Whilst it would have been beneficial in my matter, I'm not sure it is good policy to exclude the forty odd good jurists of the Federal Court and a handful of good jurists of the High Court from teaching institutions. However, this is also unremarkable as it is clearly countenanced by the Bangalore Principles that such employment may be unconstitutional. It clearly is a consideration in the Australian Constitution.

The clarity of such a logical proof by paradox eliminates any potential fuzziness in the wording of the Constitution. There is no wriggle room, just Wiggle boom, in the reasoning.

This then creates a far reaching problem. All judgments, decisions or declarations by a Federal Court judge or High Court judge who was engaged in external remuneration may be Constitutionally invalid.

Potentially all of their judgments or perhaps just any judicial decision making after such remuneration was first arranged.

The Hon Kenneth Hayne was remunerated by the University of Melbourne for His Honour's work in the Law Masters, as was and is his wife The Hon Justice Michelle Gordon. Indeed many good judges in the Federal Court have worthy appointments deemed to be of service to the community. Unfortunately that service invalidates their judgment in the eyes and i's of the Constitution.


Big Oops.

Fiat justitia,



I had a brief but interesting twitter debate with Professor Emeritus Cheryl Saunders:

You can read the public record here or see it as an image below.

The good professor raises a couple of points. She says judicial employment is principled. I agree. I raise two questions above:

  1. is it appropriate, which goes to principles or ethics; and, 
  2. the further question of whether it is constitutional. 

Judicial engagement with an educational institution, such as Melbourne University, is clearly principled. Service is good. The Bangalore Principles say it may also fit into an appropriate framework for judicial conduct. The caveat in Bangalore is it must be lawful and constitutional which is obvious.

Is it constitutional? I think not. Professor Saunders thinks so. The good professor says the judges don't get remunerated by the university but I think they do.

Remuneration is not just about money, it is about financial and non-financial rewards. See background on remuneration and benefits.

It's not just about the fringe benefits of the lunch room. This thought experiment may be enlightening. Is a judge more likely to get a HCA appointment if they are an academic or, all other things being equal, which they never are, if they are not? Think about the benefits from status, engagement, direct influence and carried influence from teaching. Clearly, the job has benefits some of which are remunerative in quality.

I don't have the authority of a professor but I fail to see the logical flaw in my argument. Authority, deserving as it may be, does not make one right.

I'm clearly outranked. Our minds differ but we both come to the table with elements of prejudice lurking. What do you think?

Friday, 12 June 2015

Judicial Ethics and Responsibilities - The need to bypass the Court

The Court system in Australia is broken. A viral alternative commercial dispute resolution system needs to be put in place by the business community to cure the legal cancer afflicting and destroying business in Australia. Businesses and people should only do commercial transactions with those counterparties agreeable to an appropriate alternate binding resolution process. The courts are conflicted and will not reform. The business community needs to make the courts irrelevant and take back control.

Let me meander though some rambling thoughts on why I think this is so.

Poor judicial behaviour by a few affects the many

The interactions between judges, politics and their business friends are too close in Australia, and in Victoria in particular. Judicial standards of behaviour and ethics are breached with no consequence and often with reward which may even relate to the propensity to breach.

I have experienced such improper judicial conduct first hand. Bad judges who make poor and unethical decisions, such as The Hon Justice Jennifer Davies and The Hon Justice Michelle Gordon need to do some weekend reading to relearn their societal obligations.

When cronyism results in the appointment of bad judges, such as Gordon J, to the High Court of Australia (HCA), you have to wonder if this is just the way things are? Should there be a higher international regard for judicial ethics and responsibilities given at least those two aforementioned so called "justices"?

Well there is.  The Bangalore Principles of Judicial Conduct.

This is an important document. Its purpose as described by itself:
THE FOLLOWING PRINCIPLES are intended to establish standards for ethical conduct of judges. They are designed to provide guidance to judges and to afford the judiciary a framework for regulating judicial conduct. They are also intended to assist members of the executive and the legislature, and lawyers and the public in general, to better understand and support the judiciary. These principles presuppose that judges are accountable for their conduct to appropriate institutions established to maintain judicial standards, which are themselves independent and impartial, and are intended to supplement and not to derogate from existing rules of law and conduct which bind the judge. 

Australia picks and chooses which treaties apply when it suits

These principles are not binding on Australia but are expected to be followed. As we now appreciate, even ratified International UN treaties seem to be not binding as considered by the High Court when there is a perception of conflict with local law. This seems a little strange given the effort that goes into negotiation and ratification of treaties.

A good example of this riding roughshod over international obligations was considered in the case of Sri Lankan boat people being mistreated at sea. International treaty 0. Australian law 1. Humanity begone.

Australia ratified the United Nations International Covenant on Civil and Political Rights (ICCPR) (16 Dec 1966) on 13 Aug 1980 after signing it on 18 Dec 1973. Australia is expected to comply. Australia made various reservations to a number of paragraphs though not many. Australia made the following declaration to the UN (full declaration below at [1]):
“Australia has a federal constitutional system in which legislative, executive and judicial powers are shared or distributed between the Commonwealth and the constituent States. The implementation of the treaty throughout Australia will be effected by the Commonwealth, State and Territory authorities having regard to their respective constitutional powers and arrangements concerning their exercise.”
Though Momcilovic v The Queen (2011) 85 ALJR 957; [2011] HCA 34 makes it unclear of how to resolve rights and law conflicts, as the HCA only supports a parsimonious reading.

So, Australia can make a UN treaty and a declaration on behalf of the Commonwealth of Australia but that is not considered law. One would have thought that it would indeed be required to be accepted as law as the country had the opportunity to make exceptions or disagree in its "Declaration" for those parts it did not accept. In the case of the ICCPR Australia did indeed make exceptions or easements which you would think implies the acceptance of the non-aggrieved clauses as a matter of law. Also testament to the seriousness and consideration of such Treaties or Covenants is the reticence of Australia to enter into them in the first place. Of the UN's 18 Human Rights Treaties, Australia has ratified only 13, which is not so bad being the same number as the UK and NZ, but behind Germany, France and Spain with 16 or 17 ratified. Mongolia has ratified 17. China is not doing so great with only 8 treaties ratified but at least it is not a recalcitrant like the USA which has only ratified 5.  Goodluck with enforcement in China though.

There is more work to do on such International Treaties, especially by the HCA. The Hon Michael Kirby has written well on these matters in "The Road From Bangalore" which is available as a resource of the HCA.

The Bangalore Principles of Judicial Conduct

Transparency International promoted the welcome endorsement of the Bangalore Principles by the Member States of the UN Commission on Human Rights at its 59th Session in Geneva.

The UN's Economic and Social Council in its 45th Plenary Meeting in 2007 asked in resolution 22 that the United Nations Office on Drugs and Crime (UNODC) to continue in its work on promulgating and explaining the Bangalore Principles. UNODC published an excellent work, "COMMENTARY ON THE BANGALORE PRINCIPLES OF JUDICIAL CONDUCT" in September 2007.

The expected behaviour goes beyond the specificity of Ebner v Official Trustee [2000], but perhaps not the substance, in its recommendation for judicial conduct with respect to their outside work, remuneration and conduct, especially with regard to parties related to litigation, including legal representatives.

Victoria seems the worst one of the states of the Commonwealth of Australia with respect to judicial ethical concerns. Much of this comes from the close and personal relationships judges have with many in the community and the deference or implicit prejudice that eventuates.

Let's look at Gordon J's activities in my case:
  1. Gordon J worked at Melbourne Uni and was remunerated by it;
  2. Opposing counsel Sharpe and Collins worked with Her Honour at Melbourne Uni;
  3. One of the main participants, who admitted to conduct that was criminal, Greg Robinson, donated, in combination with his wife Patricia Desmond, at least $300,000 to Melbourne Uni;
  4. Professor Patricia Desmond ran a department and was a significant figure at Melbourne Uni;
  5. Their family member, received a Melbourne Law Masters Prize, in the year leading up to the trial, and Gordon J teaches part of the Melbourne Law Masters course;
  6. Gordon J's and her husband were and are friends of the Governor of Victoria who worked with one of my opponent's main shareholders Bill Burdett; and,
  7. many other associations and friendships linking my opponents to Gordon J...
Hardly the stuff that would let your Joe Public have any confidence in the impartiality of the decision making of Gordon J in the matter. Let alone if Joanne Public had to consider the fact that Gordon J changed the course of the trial and refused to hear evidence that had witnesses scheduled and the all the other shenanigans that went on in my particular matter. Shameful behaviour from Gordon J simply gets rewarded with a High Court appointment. Such is the lack of integrity in the HCA appointment process. That process needs to be fixed, but more importantly there has to be a wider recognition of appropriate judicial behaviour and ethics. Gordon J is a bad offender, but not the worst. Registrar Burns acted corruptly. It is hard to describe the depths of depravity in judicial decision making that The Hon Justice Jennifer Davies succumbed to in the liquidation proceedings before Her Honour's court. Bad jurists such as Gordon J, Davies J and Registrar Burns should not be so ignorant as to not see their own faults on reflection. They should resign and apologise to the court.

The vast majority of jurists in the court system are there for law and order and carry their ethics well. It is a shame that a few bad eggs let them down and undermine public confidence in the law. Even worse though, is the fact that far from sanction, jurists receive unjust rewards regardless of their behaviour as is the case in Gordon J's appointment to the HCA. Whilst it is bad for Joanne Public to see such cronyism at work, imagine how bad it must be for an ethical judge that strives to promote the just application of law and yet all that hard work, commercial isolation, and social sacrifice is for nought, as it is not good law and diligence that gets rewarded, just cronyism.

Still no South Australian has been appointed to the High Court in over 100 years.

The solution - viral binding alternate arbitration

The commercial way of the future is for corporations and people to bind together and only deal with those other parties that will subject themselves to binding arbitration in an alternate dispute resolution system. That is, the viral introduction of a completely new system. All contracts should require such binding abandonment for the transactions concerned to proceed. The viral part is that effort be required to reasonably make all other transactions by the parties to all other related and unrelated parties also subject to the alternate system that is not the current court system. The system is broken and it is incapable of fixing itself. A renewal is needed, at least until it too succumbs under its own weight and conflicts in another hundred years and needs another new renewal.

My father has fond but distant memories of many tax disputes being resolved by an adjudication of sensible person presented with the facts from the ATO and party in dispute without much drama, time spent, and with little legal cost. Such systems can and did work well for a great majority of instances.

Viral systems of shunning outsiders within commercial systems has worked well for various parties including financial authorities in the US where businesses have been prevented from dealing with counterparties that would not agree to certain rules or jurisdiction. Beyond the Masons, even Islam's success may have been partially built on requirement that Islamic businesses favour another Islamic business before another and, in the old world, if you did not join that club, you could not eat. The business community could control its own destiny here and wrest it from the courts and government.

Maybe we can thank the Honourable Justice Michelle Gordon if such a new system could come to pass as then Her Honour's arrogant, hubristic, and, at times, improper, approach might be seen as the rightful mother of a new and better system for commercial dispute resolution. If legal representatives were to recommend a process that was in the best interests for their clients, they would be obliged to recommend such an alternative system. Indeed lawyers, of all types, have a contract of conscience to strive for such a system on behalf of their clients.


The courts are broken. If the government nor the courts won't or can't act, the business community should look to itself to cure the ridiculous costs and eternal timeframes baked into the system. Someone needs to rise and put forward a realistic and implementable strategy to achieve an alternative dispute resolution system that bypasses the current legacy court system.

Fiat justitia,



[1] UN ICCPR Declaration from Australia:
Reservations: Article 10 "In relation to paragraph 2 (a) the principle of segregation is accepted as an objective to be achieved progressively. In relation to paragraph 2 (b) and 3 (second sentence) the obligation to segregate is accepted only to the extent that such segregation is considered by the responsible authorities to be beneficial to the juveniles or adults concerned". Article 14 "Australia makes the reservation that the provision of compensation for miscarriage of justice in the circumstances contemplated in paragraph 6 of article 14 may be by administrative procedures rather than pursuant to specific legal provision." Article 20 "Australia interprets the rights provided for by articles 19, 21 and 22 as consistent with article 20; accordingly, the Common wealth and the constituent States, having legislated with respect to the subject matter of the article in matters of practical concern in the interest of public order ( ordre public ), the right is reserved not to introduce any further legislative provision on these matters." Declaration: "Australia has a federal constitutional system in which legislative, executive and judicial powers are shared or distributed between the Commonwealth and the constituent States. The implementation of the treaty throughout Australia will be effected by the Commonwealth, State and Territory authorities having regard to their respective constitutional powers and arrangements concerning their exercise." 28 January 1993
"The Government of Australia declares that it recognizes, for and on behalf of Australia, the competence of the Committee to receive and consider communications to the effect that a State Party claims that another State Party is not fulfilling its obligations under the aforesaid Convention."

Saturday, 6 June 2015

The Daleks are more than just climbing stairs

This is the first known robot to run and jump autonomously.

Interesting use of feasible rather than optimal planning. Electric motors for power and LIDAR for sensing.

Source: MIT News 29 May 2015.


Wednesday, 3 June 2015

Metamako's MetaApp - a trading swiss army knife

MetaMako's new MetaApp32 looks pretty intriguing.

Metamako's MetaApp32
A four core 64 bit Intel x86_64 with a Xilinx Virtex 7 attached to it in a neat 1RU chassis. Internal 64GB SSD and two external SSD bays for the x86. PCIe v2 x8 connection internally between the x86 and the FPGA. The external PCIe interfaces directly to the FPGA is also x8 and can run PCIe v3. So I guess you can also think of the unit as a giant FPGA card for your bigger x86 server if the on-board Intel system is not enough. FPGA, x86, Layer 1 crosspoint, time-stamping, multiplexing and switching, all the components for assembling a pretty kick ass trading platform are there which is why I'm thinking of this as the Swiss Army knife. It's looking like a pretty flexible piece of kit, though I'm not sure how the pricing looks yet. At least not having to visit the DC to repatch cables thanks to the layer 1 reconfig means saving some money when looking at the TCO.

Metamako seem to have been percolating on it slowly as the PR mentions it has been in customer hands since around February on beta with some now using it in production. A few asterisks in their datasheet pdf indicating a few extensions, such as netconf support, is not quite there yet, but on its way.

I do like the idea of being able to run CentOS 7 on it. MetaMako's Dr Dave tells me it has an internal JTAG interface between the x86 and the Xilinx Virtex 7 to make life much simpler for the FPGA savvy developer. There's a lot to like about this one if it fits the budget.

I'd imagine there would be quite a few people in the network space thinking about how such tool might make their router, SDN, storage, firewall, packet capture, or WAN gadget sing. It may be a glimpse of the future as Intel digest Altera and their combined product portfolio evolves to integrate FPGA and processors into combined packages.

It will be interesting to see how it travels. The Arista 7124-FX platform wasn't overly successful as it was a bit of a kludge with 8 ports only for the FPGA and the rest on the switch chip. The Arista FX also wasn't a performance demon as they were quoting 250ns or so RTT to the FPGA on board and that is not so compelling when you could do better elsewhere. The FX was a neat packaging concept even if Arista quietly faded it. Metamako have muxing functionality running on this thing with sub 100ns RTTs which holds out the possibility of some compelling trade performance if you can manage the FPGA development. FPGA development is notoriously difficult for traditional software developers. Hardware is different. Xilinx's relatively new SDAccel platform eases the burden opening up this kind of development to many more people, broadening the base of potential hardware developers.  It is not just the Microsofts and Baidus (MS Catapult paper), or large trading houses that can afford to tinker with FPGAs now. Food for thought.

Happy trading,


Thursday, 21 May 2015

Is Exablaze failing?

No sight nor sound of the 40G NIC from Exablaze.

Their own blog and Waters Technology reported back in 2013 that a 40G NIC was on the way.

See the old article here at

Turns out Exablaze can't seem to deliver on the promises (aka lies) they make. Now that their financial trading business has been shuttered, perhaps the tech business is not far away from the same fate?

Good riddance you'd have to say.