Meet the NewSQL - Spanner multi-regional

7 Nov 2017

The NoSQL movement came along to give the horizontal scalability to databases, but often at the very high developer and data integrity cost of limitations in query languages, transactions and data consistency. Then NewSQL came along adding back standardised SQL querying across horizontally scaled databases, but still not with the consistency that comes with a SQL database running on a single server. Google Spanner database is the closest to the holy grail of a distributed ACID SQL database, thanks in part to Google’s GPS and atomic clock mediated TrueTime across its data centers, and extensive private global fiber optic network.

Read more

Has your Cloud account been compromised to mine cryptocurrency?

2 Oct 2017

Have you jumped on the cryptocurrency bandwagon yet? Either buying your own with fiat money, or dedicating some hardware to mine it? This article shows how you may have been contributing some computing resource to mine crypto recently without your conset. A script by a company call CoinHive has been making an appearance on various websites, using the visitors browsers to mine cryptocurrencies. End user computers are one resource for hackers to exploit, and if you’re not careful your virtual machines running in the cloud could be compromised by hackers to mine crypto.

Read more

How to slice 10% off your build size with Ionic 3.7

2 Oct 2017

While some of the Ionic team is busy working on the Web Component based version of Ionic 4, we still get to enjoy frequent releases of Ionic 3.x. Last week delivered us Ionic 3.7, which brough the version of Angular used up to 4.4.3 (from 4.1.3) which brings us the new HttpClient API, amongst other changes. The corresponding update to @ionic/app-scripts also brings us the CLI update which incorporates the new angular optimizer build tool, ngo.

Read more

Memcache cache Adapter for Parse Server on Google App Engine

24 Jul 2017

Increasing performance and reducing costs is a constant goal in cloud applications, and caching is often an effective way to make improvements. The Parse server supports a cache adapter which caches commonly queries such as database schema, users, roles and sessions. Out of the box Parse comes with a cache adapter for Redis, which is a top choice when it comes to caching. Our full stack Ionic and Parse app runs on the Google App Engine, which has a Memcached service.

Read more

How to complete promises in parallel using async and await

1 Jul 2017

Back in the bad old days of node.js the asynchronous code handling was done with callbacks, resulting in deeply nested and indented code which could quickly become difficult to follow. The advent of promises simplifed the chained asynchronus calls to a more managable linear fashion, but there was still a few gotchas for beginners, and complex conditional logic could still be tricky. The async and await keywords promise even more simplicity in handling asynchronous event, resulting in code written in a synchronous manner which makes it easer to understand and reason.

Read more

Dev Talk March 2017

1 Mar 2017

Updating to the latest google-cloud module (0.0.7), when attempting to use the google cloud storage API the following error was always being thrown Sorry, we cannot connect to Cloud Services without a project ID. You may specify one with an environment variable named "GCLOUD_PROJECT". See https://googlecloudplatform.github.io/google-cloud-node/#/docs/guides/authentication for a detailed guide on creating an authenticated' Despite running in AppEngine which sets the GCLOUD_PROJECT environment variable the error persisted. For now we've rolled back to storage version 0.6.0 until its clear in the documentation how to set the authentication.

Read more

Scrum

30 Nov 2016

Software development has had a checkered history of projects running over budget, missing functionality and delivering late. A significant contributor to these failures is use of the waterfall approach to software development, where a specification is handed over to the development team at the beginning, and the first release of software delivered late in the development cycle, with user acceptance testing to follow. Agile development methodologies came about to fix the problems inherent with this approach by increasing customer engagement throughout the process and continuous delivery of working software.

Read more

Gitlab migration

30 Oct 2016

Cloneder is moving to a new home at apporchestra.com and GitLab.com for the Git repository. If you are actively working on your Cloneder project then follow the steps below and email your Gitlab username to info@apporchestra.com along with your existing BitBucket username or your PayPal payment email so we can match it to our records. If you are not currently developing with the code there is no need to create a GitLab account right now.

Read more

Debugging a critical local storage Heisenbug

21 Sep 2016

The German theoretical physicist Werner Heisenberg first asserted the observer effect in quantum mechanics, which the act of observing a system causes its state to alter. This gave rise to the computer programming term Heisenbug for a bug which disappears or alter the program behavior when one attempts to debug it, which can be a very frustrating experience. When a customer was doing some testing before rolling launching their Cloneder based app we received an email saying the chat messages stopped updating after a few messages.

Read more

1 Jan 0001

Enable https://console.developers.google.com/apis/api/servicemanagement.googleapis.com/overview?project=apporchestra-com https://console.developers.google.com/apis/api/appengine.googleapis.com/overview?project=apporchestra-com

Read more