Oracle Mysql Cluster 7.4 features

I’ve explored the features of Mysql Cluster 7.2 and 7.3 and now Oracle is coming out with 7.4 with very nice improvements.

This is yet another reason to go for baremetal (softlayer or others) and setup 4 node machine (or more) and enjoy the features of fairly priced or free mysql cluster.

These are the features listed from a Webinar :


  • Performance enhancements: MySQL Cluster 7.4 delivers a 50 percent performance improvement over MySQL Cluster 7.3 for Read-Only workloads and 40 percent improvement for Read/Write operations. Performance improvements are available through SQL or any of the native NoSQL APIs supported by MySQL Cluster. New records of 200 Million NoSQL Queries Per Second (QPS) and 2.5 Million SQL QPS were established.
  • New geographic redundancy features for high availability across data centers: The latest release provides rollback of any conflicting transactions – enabling full active-active, update-anywhere replication between geographically distant clusters, with applications able to send reads and writes to any site without compromising on consistency.
  • Faster online maintenance and recovery operationsincluding the ability to roll out software upgrades as much as 5x faster.
  • Enhanced distributed monitoring of memory usage and database operations.

Share This:

coding, mongodb, nodejs, Uncategorized

Recently open sourced project – toronto open data

The motivation behind this project is


  • Building a very capable api with geo lookups
  • Toronto Open Data api -specifically city services is very slow
  • User interface as a proof of concept which exploits the use of new API
  • Open sourced for others to use and improve

Technology stack:


  • MongoDB
  • NodeJS, rest api, mongoose
  • AngularJS (bootstrap, routes)


GiHub link

Share This:


Async javascript lib for node and browsers has a better version



Great replacement for current users of async.js which hasn’t been updated for a while.

In a large pharma oriented app, i’ve noticed speedup where async.parallel happens.



Share This:

coding, Uncategorized

GO lang is getting unofficial support from GCC compiler

Support for the Go programming language has been added to GCC. It is not enabled by default when you build GCC; use the –enable-languages configure option to build it. The driver program for compiling Go code is gccgo.

Go is currently known to work on GNU/Linux and RTEMS. Solaris support is in progress. It may or may not work on other platforms.

Reference: https://gcc.gnu.org/gcc-4.6/changes.html#go

Share This:

javascript, Uncategorized

AngularJS Pluralize – build a friendly message, good ui practice

Have you noticed that some web apps creators absolutely ignore common grammar in message or labels?

Well it is common.

You have 1 messages.

Or it might be cooler and human like but still:

You have one messages.


What you’d want to do in your AngularJS application is use a wonderful directive that is baked in and helps you avoid such mishaps.


<ng-pluralize count="report.CriteriaSelected.length"
                 when="{'0': 'No criterion is selected',
                     'one': '1 Criterion is selected',
                     'other': '{} Criteria selected’}"

What this will nicely take care for you are the conditions when Nothing is selected or you have 1 or many conditions where a different text is used.

Thereby avoiding using “message(s)”.


Going further, i would suggest using internationalization i18n for your labels in such cases so that it makes sense in other languages.


This feature exists for a while now.



Share This:


EmberJS – ongoing – part 2

Your app depends on an API or some data source to generate dynamic tabs using bootstrap.

I had no idea how to simply print href=”#National” ,  the string national is part of an object that is in some array.

In Angular you’d be using ng-repeat and then templating output: href=”{{item.name}}” : BOOM

EmberJS and emblem solution:


each g in geographySelection
li class=”
a href=”##{unbound g.name}” click=”selectGeo g.data” data-toggle=”tab” #{unbound g.name}



  1. If you won’t use unbound keyword, a bunch of script tags will be generated and you don’t want that!
  2. Click is a special tag for emblem (aka slim for ember) that converts to an observed listener for onClick events , EmberJS will propagate event through its cycle. Each event has a unique id and if you open Developer Console, you can inspect it as properties.
  3. Unbound will allow you to use property as string.

Share This:


EmberJS – ongoing

Strangest things happen when developing projects in EmberJS (specifically Ember CLI)

I have plenty of experience developing AngularJS based applications (mobile and desktop). EmberCLI is something a client wished based on their stack preference.

I won’t go into history of EmberJS but it was a turbulent one (at one point, it was in beta for over a year with little updates). It’s a lot more heavy (than Angular) on the dependencies and development approach (everything is a route, forget building small apps).


Odd errors:


Uncaught SyntaxError: Duplicate data property in object literal not allowed in strict mode


If you see the error above, i have resolved it by commenting out

proxiedSelectedStates: Ember.computed.filterBy(‘proxiedStates’, ‘checked’, true)
selectedStates: Ember.computed.mapBy(‘proxiedSelectedStates’, ‘content’)


Strangely enough, i don’t have a duplicate code and when i renamed these properties on a controller, everything worked. Magic !



Share This:


Ipad Air – the new generation

Much lighter, much faster , 64 bits with motion sensor (i won’t run with it, but something might be built that will use it)

Let the games and iWork begin.

AutoDesk is definitely going to be faster for those in engineering reviewing designs.



Share This:


IE6 countdown


Share This: