Standard review – ISO 4217 – Currency

ISO 4217 is a standard published by the International Standards Organization, which delineates currency designators, country codes (alpha and numeric) and references to minor units in three tables:

An updated and freely data source for Country and Currency code is available here:

The ISO 4217 maintenance agency (MA), SIX Interbank Clearing, is responsible for maintaining the list of codes.

RJSON: compress JSON to JSON

RJSON converts any JSON data collection into more compact recursive form. Compressed data is still JSON and can be parsed with JSON.parse. RJSON can compress not only homogeneous collections, but also any data sets with free structure.

RJSON is single-pass stream compressor, it extracts data schemes from document, assign each schema unique number and use this number instead of repeating same property names again and again.

Bellow you can see same document in both formats.


{ "id": 7, "tags": ["programming", "javascript"], "users": [ {"first": "Homer", "last": "Simpson"}, {"first": "Hank", "last": "Hill"}, {"first": "Peter", "last": "Griffin"} ], "books": [ {"title": "JavaScript", "author": "Flanagan", "year": 2006}, {"title": "Cascading Style Sheets", "author": "Meyer", "year": 2004} ] }
{ "id": 7, "tags": ["programming", "javascript"], "users": [ {"first": "Homer", "last": "Simpson"}, [2, "Hank", "Hill", "Peter", "Griffin"] ], "books": [ {"title": "JavaScript", "author": "Flanagan", "year": 2006}, [3, "Cascading Style Sheets", "Meyer", 2004] ] }



When RJSON founds new object schema (unique combination of names of properties) it outputs the object as is and assign it a new index starting from 1 (0 is reserved for numeric arrays). Next objects with same schema are encoded as arrays (in beginning — schema’s index, then — values of properties). Several consecutive objects with same schema are merged into same array, so shema index is stored only once for them. Schemes itself aren’t stored in the document, unpacker will index new schemes in exactly same way like packer does and we will have implicit in-memory index identical for both packing and unpacking.

You can download source code from or try RJSON demo where you can convert any JSON data into RJSON-format, decode result and ensure that it matches original JSON data.

RJSON allows to:

  • reduce JSON data size and network traffic when gzip isn’t available. For example, in-browser 3D-modeling tools like Mydeco 3D-planner may process and send to server megabytes of JSON-data;
  • analyze large collections of JSON-data without unpacking of whole dataset. RJSON-data is still JSON-data, so it can be traversed and analyzed after parsing and fully unpacked only if a document meets some conditions.

The above JSON vs RJSON example is based on the data structure from the JSON DB: a compressed JSON format. JSONDB concept is implemented in JSONH – JSON Homogeneous Collections Compressor. RJSON provides similar level of data compression like JSONH does, but RJSON isn’t limited to homogeneous collections only.

Recently I also found CJSON, it uses similar approach like RJSON does, but uses explicit schemes and wraps compressed objects into other objects with empty keys. RJSON instead tries to preserve original structure of the document, uses implicit index of data schemes, encode compressed objects into arrays and merge homogeneous sequences of objects into single array.

In my opinion RJSON combines best features from JSONH and CJSON and introduces beautiful implicit index of data schemes.

The idea of this algorithm come to my mind near five or six years ago when I worked on J2ME XHTML-rendering engine for mobile phone browsers where each extra Kb matters. When I realized that XML is like violence I started to like JSON and adapted original idea to JSON format.

The code is available under Simplified BSD License. Fell free to compress the world.

Javascript Object Signing and Encryption (jose)

New versions of the JSON Object Signing and Encryption (JOSE) specifications are now available that incorporate working group feedback since publication of the initial versions. They are:

  • JSON Web Signature (JWS) – Digital signature/HMAC specification
  • JSON Web Encryption (JWE) – Encryption specification
  • JSON Web Key (JWK) – Public key specification
  • JSON Web Algorithms (JWA) – Algorithms and identifiers specification

The most important changes are:

  • Added a separate integrity check for encryption algorithms without an integral integrity check.
  • Defined header parameters for including JWK public keys and X.509 certificate chains directly in the header.

See the Document History section in each specification for a more detailed list of changes.

Corresponding versions of the JSON Serialization specs, which use these JOSE drafts, are also available. Besides using JSON Serializations of the cryptographic results (rather than Compact Serializations using a series of base64url encoded values), these specifications also enable multiple digital signatures and/or HMACs to applied to the same message and enable the same plaintext to be encrypted to multiple recipients. They are:

  • JSON Web Signature JSON Serialization (JWS-JS)
  • JSON Web Encryption JSON Serialization (JWE-JS)

Draft 08 of the JSON Web Token (JWT) specification has been published. It uses the -01 versions of the JOSE specifications and also contains these changes:

  • Removed language that required that a JWT must have three parts. Now the number of parts is explicitly dependent upon the representation of the underlying JWS or JWE.
  • Moved the “alg”:“none” definition to the JWS spec.
  • Registered the application/jwt MIME Media Type.
  • Clarified that the order of the creation and validation steps is not significant in cases where there are no dependencies between the inputs and outputs of the steps.
  • Corrected the Magic Signatures and Simple Web Token (SWT) references.

These specifications are available at:

HTML formatted versions are available at:

About JSON genesis

Video from  IEEE Computing Conversations

Interview with Douglas Crockford about the development of JavaScript Object Notation (JSON)


  • Crockford is likeably humble about the origins of JSON. Rather than claiming he inventedJSON he instead says he discovered it:
“I don’t claim to have invented it, because it already existed in nature. I just saw it, recognized the value of it, gave it a name, and a description, and showed its benefits. I don’t claim to be the only person to have discovered it.”


  • Crockford tried very hard to strip unnecessary stuff from JSON so it stood a better chance of being language independent. When confronted with push back about JSON not being a “standard” Crockford registered, put up a specification that documented the data format, and declared it as a standard.


  • Crockford wanted something that made his life easier. He needed JSON when building an application where a client written in JavaScript needed to communicate with a server written in Java.   He wanted something where the data serialization matched the data structures available to both programming language environments.


Evernote bucking the NoSQL trend hanging to MySQL

In a recent blog post, Evernote bear on its SQL technical choice, MySQL actually, and details its main arguments:

Atomicity: If an API call succeeds, then 100% of the changes are completed, and if an API call fails, then none of them are committed. This means that if we fail trying to store the fourth image in your Note, there isn’t a half-formed Note in your account and incorrect monthly upload allowance calculations to charge you for the broken upload.

Consistency: At the end of any API call, the account is in a fully usable and internally consistent state. Every Note has a Notebook and none of them are “dangling.” The database won’t let us delete a Notebook that still has Notes within it, thanks to the FOREIGN KEY constraint.

Durability:  When the server says that a Notebook was created, the client can assume that it actually exists for future operations (like the createNote call). The change is durable so that the client knows that it has a consistent reflection of the state of the service at all times.


Read more:

IETF working on a convention for HTTP access to JSON resources

Internet draft is working on A Convention for HTTP Access to JSON Resources


This document codifies a convention for accessing JSON representations of resources via HTTP.

Status of this Memo

This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.

European Commission will adopt measures for an open data strategy

The European Commission will adopt on the 29 November an Open Data Strategy which means a set of measures aimed at increasing government transparency and creating a €32 billion a year market for public data. The measures include a modification of the existing Directive on the re-use of public sector information and the deployment measures such as a creation of open data portals at European level.

The Open Data Strategy will be adopt by the European Commission on 29 November. The strategy proposed by the Commission will consist in a package of measures including regulatory measures, such as a modification of the existing Directive on the re-use of public sector information and the deployment measures such as a creation of open data portals at European level. The Strategy was already proposed in November 2010.


Making mistakes: Did Gates Really Say 640K is Enough For Anyone?

Making mistakes,saying mistakes and admitting mistakes might sounds like a philosophical topics.

But well, in the new era of the NoSQL we may need to remember the data processing paradigm, and keep questionning on what is good(and why it is) and what is not great anymore (and still seeking for the reasons it has change).

The database community has learned the following lessons from the 40 years that have unfolded since IBM first released IMS in 1968.

  • Having schemas as logical data description is a good thing.
  • And yes, having a separation of the schema from the application is good.
  • The SQL as an high-level language is a good thing

Even if all of this get us back to the 1960s, even before DBMSs were created, it still hot.


This is just another post title meant to draw readers into the article, so here is a  there is not any statement to be made but just a taught, a reminder, to keep questioning about everything, all the time.


In order to not, entirely, lie to the readers, and continue remembering the old days, please find hereafter the original article from 1997: “Did Gates Really Say 640K is Enough For Anyone?”


Jon Katz Email 01.16.97

Earlier this week, in a column on Bill Gates, fellatio and media, and how all three relate to a profile of Gates in last week’s Time magazine, this column daringly offered free software into the millennium to anyone who remembers one thing Bill Gates ever said. We were taking issue with the notion advanced in the magazine that Mr. Gates is shaping this or the next century as a visionary leader, as opposed to just selling lots of software.Within minutes of the column’s postings, the first challengers had emailed, all offering the same quote. 

“I’ve got one for you,” messaged a hacker from Cambridge. “Some years back, Gates said ‘640K is more memory than anyone will ever need.’ Where do I pick up my software?”

Dan emailed: “I win! Gates said once that ‘640K software is all the memory anybody would ever need on a computer.’ What do I get?” Susannah wrote from San Francisco: “Ha, Katz. You’ve finally stepped in it. Gates said that 640K of memory is all that anybody with a computer would ever need. Where’s the stuff?”

Several dozen versions of the same quote appeared, all claiming victory and wanting the free software promised in the column.

We gulped. Were we caught in our own ruse? And could Bill Gates, the man journalism tells us almost daily is a profound visionary, have been so short-sighted?

We might be insufferable, pompous, Marxist, degenerate and all the other things people accuse us of, but that doesn’t make us stupid. Do you honestly think we would offer anything free if we weren’t 100 percent certain there was no chance we could lose? Claiming Gates has never uttered a memorable thought is as good and solid as gold. Take that to the bank, losers.

Check out this feature on the Huntsville Times (Tennessee) Web site, where you can read Bill Gates’ impassioned denial that he ever said anything as potentially unprofitable as the quote attributed to him, and where you can also see just how safe our bet really is.

On the site, Gates takes questions from kids.

QUESTION: “I read in a newspaper that in l981 you said ‘640K of memory should be enough for anybody.’ What did you mean when you said this?”

ANSWER: “I’ve said some stupid things and some wrong things, but not that. No one involved in computers would ever say that a certain amount of memory is enough for all time.”

Gates goes on a bit about 16-bit computers and megabytes of logical address space, but the kid’s question (will this boy never work at Microsoft?) clearly rankled the billionaire visionary.

“Meanwhile, I keep bumping into that silly quotation attributed to me that says 640K of memory is enough. There’s never a citation; the quotation just floats like a rumor, repeated again and again.”

Silly quotations do have a way of floating like rumors.

Well, the truth starts here.

He never said it. No free software.

Mr. Gates, on behalf of the Web community, we’re setting the record straight. Although we never said it ourselves, we apologize for this outrageous slander, and regret even inhabiting a medium that would think for one second of a world bounded by memory too small to encompass Windows 95 or Microsoft Internet Explorer.

An aside – did you know you can ask him anything you want at:

But, don’t fret, software scroungers. As a consolation prize, Wired Ventures has decided to give free Power Macs to five million webheads. To qualify, you have to be 13, born at the precise moment Saturn crossed the Jupiter moons, and be willing to walk naked around the world without food or drink, and with a laptop hanging around your neck. Other details are being worked out. We’ll be in touch.

Reading through Gates’ Q&A with America’s youth, we feel pretty good about our bet. A 14-year-old female asked him about probable career opportunities.

His answer: “There will be a wealth of opportunities relating to software.”

Talk about vision. No wonder Time said this man is shaping our world.


We also heard from the author of the Bill Gates piece in Time, the magazine’s managing editor, Walter Isaacson. He suggested we read the piece again and rethink whether it was an act of fellatio or not. We did and we do.

But he gets points for being perhaps the only high-ranking editor in journalism who would respond personally and directly to criticism. For embracing interactivity, he gets the Media Rant 640K award.

Microsoft researchers claims NoSQL needs standardization

“The nascent NoSQL market is extremely fragmented, with many competing vendors and technologies. Programming, deploying, and managing NoSQL solutions requires specialized and low-level knowledge that does not easily carry over from one vendor’s product to another,” the two researchers, Erik Meijer and Gavin Bierman, write in a paper published inthe April issue of Communications.


More information available here

Web SQL Database is dead

W3C Working Group just updated the “Web SQL Database” project webpage with the following statement:

“Beware. This specification is no longer in active maintenance and the Web Applications Working Group does not intend to maintain it further.”

Official web page here: