Thursday, February 25, 2016

Myanmar Land tidbits: The Making of the Land and Revenue Act, 1876


In “Housing, Land And Property Rights In Burma: The Current Legal Framework”, a compilation over twelve-hundred pages long and published in 2009 by the Displacement Solutions and The HLP Institute we are presented with a most comprehensive collection of HLP laws. Thanks to the generosity of the publishers anyone could get the entire book (Burma_HLP_book.pdf) in digital form here.

The Land and Revenue Act (India Act II, 1876) was the first major land law enacted on our land after the annexation of “Lower Burma”. Page 22 of the HLP_book says:

Through the adoption of progressive land and revenue laws the British created, for the first time, a legal arrangement recognising private ownership of land as well as a system of land revenue tax collection. Due to the separate annexation of Lower and Upper Burma42 separate legislation was passed to suit these different jurisdictions. The Land and Revenue Act (1879) was the first major land law enacted in Burma and governed the acquisition of land rights for private persons as well as the procedures for assessment and collection of land revenue taxes. Following this legislation, the Upper Burma Land and Revenue Regulation (1889) was adopted and applied similar principles of land ownership and land revenue tax collection.

But when I started reading the this Act on page-54, I didn't feel comfortable as reading its text in the “Lower Burma Land Revenue Manual” or other old law books that were standard references for us and other Government Agencies. Why would the opening sentence of this law on page-54 says “ … rights in land in the Union of Burma” or in paragraph-2 of part I of the act says “... The President of the Union may ...” while the title says “THE LAND AND REVENUE ACT; India Act II, 1876; 1 February 1879” without mentioning any amendments. May be it is their style and that was the flavor throughout this compilation.

On the lighter side, I would joke that this is reminiscent of the heydays of the press scrutiny office. We Myanmars have a way of writing one way and reading it another way and this reminds me of possibly being the handiwork of former press scrutiny people. Once I read a magazine article by our late Thu-Maung, a successful actor, singer, and writer. By chance my eyes were drawn to a phrase containing the words “myeik-kyar” (မြိတ်ကြား). Through its context, it clearly should be “phate-kyar” (ဖိတ်ကြား) as we write and pronounce, meaning “invite”. I was completely baffled. But then I realized that Thu-Maung must have spelled “beik-kyar” (ဘိတ်ကြား) as written sometimes, which would have been corrected by someone as “myeik-kyar” (မြိတ်ကြား) because Beik a city in Tanintharyi Division is written Myeik (မြိတ်)! Lest I angered the traditionally sensitive groups, I would need to add that the magazine editor or even the typist may have, in fact, been responsible for this slip.

To continue with my story, I have been fascinated like others in the real meaning and intention behind the laws. The language of the laws doesn't help the laymen much. But if you have behind the scene access like sitting through the parliamentary debates that would be really helpful. So when I chanced to read the debates that led to the Land and Revenue Act, 1876, despite my meager knowledge of law in general and Myanmar land laws in particular, it struck me as something close to a missing link for Myanmar Land Laws.

The debate I am mentioning was recounted in full in chapter-VIII (pages 85-154) of the “Burma Settlement Manual, Volume-I” by T C Wilson, The Commissioner of Settlements and Land Records. It was printed at the British Burma Press in Rangoon in 1908. Though I don't have enough knowledge to claim that the whole work is relatively unknown, I can say definitely that my fellow junior officers didn't know about it at all. As for my close seniors, I doubt if they were any better.

My first encounter with this work, I guess, was in the mid-eighties at the headquarters of the Settlements and Land Records Department in Yangon. Of the fond memories of those days, I remembered my seniors regarding me a hard-headed youngster (relatively) and an upstart of some sort, nevertheless tolerating my (relatively) radical ideas and leaving me alone to browse the contents of such old books, for example.


Well, as it happened, I was really impressed with this work, which I vaguely remembered as having picked it up either from our dusty library or from the Lower Burma Settlements Office. I introduced it to one of my seniors at our headquarter with much enthusiasm. Afterward there was no communication between us about this book so far as I can remember. Much later, after I've left my job, I asked my friends about this book and came to know that the book had been given away by my senior officer to someone at the BSPP (Burmese Socialist Programme Party) headquarter and it was the last thing I heard about it.

Fortunately, I few months ago I happened to mention this book to one of my younger retirees from the same government agency I had worked for. Then my friend recalled picking up some old books many years ago from a friend of his who was packing up to move his office to the new headquarters. Checking this collection out, my friend miraculously recovered another copy of the Settlement Manual by Mr. Wilson.

The following shows the scanned first and last pages of chapter-VIII of the book.



It seems too precious to keep contents of the book between my friend and myself, so for a start I've shared the entire chapter-VIII here in three parts:

TCW_LRA1876_pp85-107.pdf - available here
TCW_LRA1876_pp108-131.pdf - available here
TCW_LRA1876_pp132-154.pdf - available here

Tuesday, February 23, 2016

As if people mattered


When someone talks about governance with metta, I felt a bit uneasy. Jealous perhaps—why should cronies for example get metta as a bonus when they took everything and got everything? But, I guess, a share of metta is unlike a share of the pie. Here everyone gets the whole of it and it will be something like the realization of win-win and level playing field dreams.

Before being rudely awakened from the day dream like the young glass-ware hawker of “building a brick house in the air” when he has just kicked his basket in his sleep and broken all his glass, I felt I should look for and try to understand some venture a bit modest. In no way it's a rejection of the metta idea, or was I taken somewhat aback by the lofty implications—rather, an inspiration to think about some humble building blocks for it.

Project-gurus warned us of the folly of setting up our objectives as the negation of current undesirable conditions. Yet that is exactly what we may like to do in this situation. First, just heap everyone or every groups we would like to deny—cronies and others and get their negation—the people. Then do everything “... as if people mattered”.

Obviously that is not so easy! Yet people has been thinking along this line for considerable time in the past. Personally this phrase has been laying dormant in my heart for a long time … . And yet I've never bothered to look up on it!

I don't know if it fits, but now I am hearing these lines from a Pulitzer winning poet:

Bad penny pendulum
You kept my constant time
To bob in blue July
Where gold finches fly
Over the glittering fecund reach of our growing land
Once more now, this second
I hold you in my hands

Well, you would have guessed that you in my mind's eye is no other than “as if people mattered”.

As last minute check I did look up that phrase on the web and the first result from Google gave all 10 entries on Shumacher's “Small is Beautiful” except the one on “Teaching Economics As If People Mattered”. What a surprise! I have completely forgotten that Sumacher's book carry the sub-heading “Economic as if People Mattered”!

The beauty of search engines is that they return short descriptions relating to what you are looking for and most of the time they are relevant and quite illuminating even for someone completely new to the subject. The second page of results for my search on “as if people mattered” gives:
  • TechnoScience as if People Mattered
  • Small is Beautiful
  • Housing as if People Mattered
  • Programming as if People Mattered
  • Global Politics as if People Mattered
  • Smart is Beautiful: low carbon cities as if people mattered
  • Distributism: Economics as if People Mattered
  • Law Reform as if People Mattered
To me it seems all of them could be useful to us now, some of them more urgent than others. Indeed, as we have so much to work on to straighten our society and our endowments, it would not be an exaggeration to think that everything you find with aiming for “... as if people mattered” will be desirable and applicable, may be with some prioritization thrown in.

The third page of results carries:
  • Letters: Alternative economics – as if people mattered
  • Economic Development as if People Mattered

Here, the entry on the description of the first bullet Political economy can be thought of, in EF Schumacher's phrase, as "economics as if people mattered" that appeared in the Guardian caught my eye. Well, the first and last thing I'd read about political economy was one on Burma by Furnival a long time ago and now completely forgotten. Until now it was a mystery to me why my Myanmar friend in Down Under has changed his specialization from agricultural economics to political economy. Now I can see his reason: he must have taken the vow afresh to practice economics as if people mattered! Please allow my respect and admiration for you, my friend.

And if you go on with your search results you are sure to find something that you are specifically interested in, such as these and more from about three million results Google could find.
  • Writing about art as if people mattered
  • Urban planning as if people mattered
  • Housing as if people mattered
  • Economic History as if People Mattered
  • Capitalism: An economy as if people mattered
  • Green Building Design as if People Mattered
  • Employment Law as if People Mattered
  • Social Business: Business as if People Mattered

The following result appeared on page-6 and it is of special significance to me because I have a friend running a local research unit who is obsessed with making government budgets fit people's needs:
  • Budgets as if People Mattered.
Well, my findings here are surely amateurish and could even be dismissed as nothing more than sneers at the politicians, professionals, bureaucrats, cronies and others. At the same time adversaries to “as if people mattered” may already have antidotes and tricks up their sleeves. Beware.


Well, to my dumb fellows I say: you are (close to being) delivered; go and multiply!

Thursday, November 5, 2015

Dummy meets JSON – II


Before I tried out my dumb approach shown in my last post, I guess I had the workable idea to flatten the second column whose name is “apis” and which is a list of 102 data frames each with two variables, namely, “name” and “url”, with variable number of rows.

To do so, I need to find way to convert the list of 102 data frames into a single data frame and then combine this with the first column of the original data frame. For that I found this work perfectly:
This single data frame consisted of 421 rows and to combine with x$name which has 102 rows, I could create an id column in the collapsed data frame and using row.names of x as integer I could then merge the two data frames. Then I could extract the appropriate columns of the merged data frame to write to a csv file. The problem was that I didn't know how to add id to the collapsed data frame. That's why I resorted to my dumb approach given in my last post.

Now I found that I could add id to the list of data frames x$apis (or x[[2]]) with:
That let me get a not-so-dumb solution as follows:

But wait, the R gurus would like to see something more elegant than this. Instead of the “for” loop in line number 9 of my script, they would like to see something that is not using a loop. Well, it is beyond my reach right now.


Wednesday, November 4, 2015

Dummy meets JSON - I


It must have been a not-so-intelligent autodidact's typical approach to something new for him.

There's this website posting some data in JSON format. I stumbled upon it. More accurately it was a series of stumbling. I tried to find out more about open data on the web; stumbled upon APIs (application programming interface); couldn't understand much; looked for examples; found more about JSON; stumbled upon Data.gov website; looked for ways to access data in JSON format; found and installed jasonlite an R package; found some example scripts for accessing JSON with jasonlite; got a couple of successes with simple JSON data like the one on biodiversity of New York State demonstrated in my last post.

Well, that wasn't the end of my story. From the API Resources for Federal Agencies available here, I downloaded the individual_apis.json file. The following is a part of the file opened by notepad and you can read and understand everything written there.


With the following code I could access the JASON file from R.

The code head(x) gives the first six rows of x;


Moving the slider in the scroll bar to the right shows the remaining part.


All this seems fine. So I tried to write the whole of “x” to a comma separated value (csv) text file.

# write csv file
write.csv(x, file = "individual_apis.csv", row.names = FALSE)

It couldn't be done. The error message was:

Error in .External2(C_writetable, x, file, nrow(x), p, rnames, sep, eol, :
unimplemented type 'list' in 'EncodeElement'

I tried looking for possible solution on the web and tried out many that seemed promising. But failed miserably. Finally I found a post by Mark Needham (R: write.csv – unimplemented type ‘list’ in ‘EncodeElement’) that showed the remedy for a problem with the error message that exactly matches mine. He advised that:

If we do have a list that we want to add to the data frame we need to convert it to a vector first so we don’t run into this type of problem”

In our case, as well as his, the data frame consisted of two columns and the second column happened to be a list instead of a vector. The difference between his data frame and mine was that his second column consisted of data elements when converted to a vector has the same number of elements as the first column, whereas my second column consisted of a list of data frames each with two columns and variable number of rows. And I don't have enough knowledge of R to be able to adapt his method to my more complex situation.
Then as my second and third screenshots above showed, the whole of my data frame could be displayed on the screen properly. So in a typical dummy way I realized that if I could transfer that output to a text file it would be the solution. The only way I know of for that is to use the “sink” function and after some struggle I succeeded. My script runs:

Then the saved text file is read in two parts, cleaned, combined into one data frame, and csv file written and is done (credit due to f3lix for the answer to How to trim leading and trailing whitespace in R? on Stack Overflow).
.

However, I couldn't be triumphant for long because when I compared contents of the csv file with the output on the console I found at once a discrepancy. The console displayed for the 8th row:

Cropland Data Layer, Quick Stats API, http://www.nass.usda.gov/research/Cropland/sarsfaqs2.html#_Cropscape1.2, http://quickstats.nass.usda.gov/api

while individual_apis.csv gives:

Cropland Data Layer, Quick Stats API, http://www.nass.usda.gov/research/Cropland/sarsfaqs2.html.


So it missed #_Cropscape1.2, http://quickstats.nass.usda.gov/apiand I couldn't get that right. Besides there could be lot more misses or some other errors which means I'll have to look for a better way.  

Wednesday, October 28, 2015

JSON, who?


I had read about Jason and the golden fleece in my school boy days and now I remembered that vaguely as a piece of Greek mythology and nothing more. These help me refresh my memory:

I guess JSON is pronounced the same but the difference is that it is very real and becoming more and more visible on the Web.

The first time I had heard of JSON was about two years ago when I was looking for large data files of one Terabyte or more so that I could try playing with Big Data. Looking for sources of big data, I vaguely came to understand that big boys like Amazon or Google for example, could let me get such data in a format called JSON. It was the first time I heard of that name and I thought it must be terribly hard to learn and use it. So I dumped the idea of trying to get data that way. And I went for more traditional statistical data formats like text format, or SPSS format, or Stata format and ended up collecting a couple of sub-terabyte data files.

The official website (json.org) described JSON as

JSON (JavaScript Object Notation) is a lightweight data-interchange format. It is easy for humans to read and write. It is easy for machines to parse and generate. It is based on a subset of the JavaScript Programming Language ... JSON is a text format that is completely language independent but uses conventions that are familiar to programmers of the C-family of languages, including C, C++, C#, Java, JavaScript, Perl, Python, and many others. These properties make JSON an ideal data-interchange language.

Stat 545 getting data from the Web – part 2 gives the example of JSON,


and XML:



I'm still surprised at how many people are unaware that 22 of the top federal agencies have data inventories of their public data assets, available in the root of their domain as a data.json file. This means you can go to many example.gov/data.json and there is a machine readable list of that agencies current inventory of public datasets.

I currently know of 22 federal agencies who have published data.json files

Looks like JSON is somewhat new, even in the U.S. A quick look at the situation of open data of various nations in July 2015 and looking at Hong Kong and Singapore I found that 20 datasets of Hong Kong were available in JSON, but looks like there's none in Singapore where the data sets were mostly in XML format.


Ten years ago, XML was the primary data interchange format. When it came on the scene, it was a breath of fresh air and a vast improvement over the truly appalling SGML (Standard Generalized Markup Language).

It enabled people to do previously unthinkable things, like exchange Microsoft Office documents across HTTP connections. With all the dissatisfaction surrounding XML, it’s easy to forget just how crucial it was in the evolution of the web in its capacity as a “Swiss Army Knife of the internet.”

But it’s no secret that in the last few years, a bold transformation has been afoot in the world of data interchange. The more lightweight, bandwidth-non-intensive JSON (JavaScript Object Notation) has emerged not just as an alternative to XML, but rather as a potential full-blown successor. A variety of historical forces are now converging and conspiring to render XML less and less relevant and to crown JSON as the privileged data format of the global digital architecture of the future. I think that the only question is how near that future is.

Well then, that inspired me to experiment with accessing JSON data and to play with it. I looked for R packages that would help me do it and I found the Jasonlite package. I installed it, and after some frustrating moments I was able to get two or three data files in JSON format converted to the standard data frame in R.
Looking for JSON data, one convenient source was the Data.gov site hosted by the U.S. Government. From there I found the Biodiversity data by County for the State of New York. This is the R script I used for downloading the data and converting it into a data frame.


This exercise took me 91.3 seconds on my i5 laptop with 8GB RAM and Windows-7.
I dare you to mess with JSON. Who's afraid of JSON, anyway.






Wednesday, October 21, 2015

PVT tawla or lost in font jungle


As mentioned in my last post Myanglish PVT, I was frustrated, so much frustrated in failing to get a respectable version of PVT data collection application in Myanmar language. It must have been because I have committed the sin of borrowing the name Tawla (into the woods), a classical genre of Myanmar poetry not by its time-honored name as it is, but calling it Sylvan Stroll for my other blog, sooner or later the gods will have to punish me. Here's how my PVT got tangled in the font jungle.


From those screenshots, since I've created the application with Myanmar3 font, I could very well understand that default font, and Zawgyi One could not reproduce the original one for Myanmar3 as shown in the first screenshot at the top. Because they are not fully compliant unicode fonts.


Among the two Android phones (HTC Desire-X, Xiaomi Redmi) and one tablet (Samsung Galaxy Tab3), only the Samsung allowed the installation of Myanmar fonts and I had installed Myanmar3, Padauk unicode, and Zawgyi One for the purpose of this test. The tablet already had Frozen Zawgyi keyboard pro and Frozen keyboard installed when my son gave it to his mom. From that I could guess Zawgyi is the popular font for Facebook and pardon me for not been a part of this immensely popular culture here.

For HTC Desire-X, it came with its own default Myanmar font. Comparing it with the last screen shot of previous picture I saw an exact match. So the font in HTC must be Zawgyi One. This laboriously found piece of information by poor me, and more, must have been just some common knowledge in the Myanmar font community.

But what surprised me most was the way the Myanmar3 font displayed perfectly on Windows environment becomes garbled on the Android. It was said that the Android platform is not as good as the Windows platform in rendering Myanmar unicode fonts. But the difference in Myanmar3 font on Windows and Myanmar3 font on Android seems to lie in reasons deeper than that.

Looking at the screenshots I hope the Myanmar font gurus may see at once what was wrong, and then they would look for solutions. The following examples from Myanmar Fonts which follow Unicode rules and some other fonts in the Unicode family not reproduced here, shows the same Myanmar-sar, excepting a few glitches here and there.


If I am right those examples were for Windows platform. Obviously however, regardless of platform, if different Myanmar fonts comply with the same unicode standard, they should display the same Myanmar-sar. Or would we be expecting too much for the Android platform at present?

On my Windows-7 laptop, Myanmar3 and Tharlon are interchangable and in fact when I believed that the list of political parties posted on UEC website has been done in Myanmar3 it was because I could perfectly see Myanmar-sar without loss with that font. Now when I try repeating the process by copying from the UEC website (here) and pasting it on Excel, I notice now only that the font name appears as Tharlon. Well, I must have been influenced by the information I got somewhere that Myanmar government is using Myanmar3 as a de facto standard to miss that clue. That didn't seem to harm my PVT application, though.

As I said, from among the three Android phone/tablet available to us only the Samsung tablet allowed me to install Myanmar font without “root”. I installed Myanmar3 and Padauk fonts using the iFont application available from the Google Playstore. Then the views by different fonts shown in my screenshots were enabled by making changes with Settings Display Font Style. The result on my PVT data collection application is as you can see in the first set of screen shots shown above.

In the case of my Xiaomi Redmi phone, I can't get the Myanmar3 or Padauk font installed as yet. I came to know that Xiaomi phones available locally here have been customized to be able to install such fonts. Mine is with the ROM Redmi 1 WCDMA Stable Version (Singapore) JHBMIBH25.0 and can't install application software designed for other ROMs, such as for Myanmar. I've started a thread on the official MIUI website asking for help and replies on it don't seem to promise any solution as yet.

As for the HTC Desire-X phone, I couldn't find Settings Display Font Style on it and so didn't try installing the required Myanmar font for my PVT application.

All in all, even if I could find solution to install the desired unicode fonts on any Android phone, it would be futile if I would get the kind of garbled results that I have demonstrated. Anyway, it's out of my league to understand why it happened the way it happened. Do I blame the Android or the font designers, or both?


So much for complexities. What I thought would have been a simple task of replacing English labels with Myanmar on the Android application turned out to be something not so simple at all. For now, I've gotten lost in the font jungle in the very first verse of my PVT tawla.

Tuesday, October 13, 2015

Myanglish PVT


Myanglish, though looked down by well meaning adults, appeals to young people like my grandson for example. I have been thinking that they should just learn to use real English instead of stomping in trash. That was my verdict until I tried fashioning a Myanmar version of my PVT data collection program for the Android hand-phones a few days back.

The truth is that I found it really hard to render questions, instructions, and response categories in English of my PVT application to Myanmar language. The CSEntry program for Android says it is multilingual and so I thought it wouldn't be much trouble at all. As it turned out, I had to struggle with every step of the way. It's worth sparing at least one separate post for my experience on this and it could then be more of blurting out my frustrations than anything.

Briefly, first, I have to get my Windows 7 laptop display Myanmar language in Myanmar 3 font. Why Myanmar 3 in particular? Because I found the UEC (Union Election Committee, in charge of the the Myanmar Elections 2015) posted the list of Political Parties that have registered for the election of November 8, 2015. This list of ninety-one parties is the essential part of my PVT application on Android phones and it is in Myanmar 3 font. As for reading this list on my laptop I have no problem because I have this font installed some time before.

Next I have to find a way to write in Myanmar on my laptop. Thanks to a Google group active in Myanmar language, I found the “myanmar3-wins.zip” from here, “MyFontsSettings.xlsx” from here, and “MM3FontInstallationGuidewindow7.docx” from here. These were enough to let me type Myanmar words in Microsoft Word or Excel or in a text document in Open Office.

Since my real need was to make a Myanmar language version of my PVT data collection application, I have to do the language conversion first in CSPro program and then using it to develop and compile the Android data collection application. It was easy enough copy-pasting the UEC political party list one by one into the data entry application on the CSPro side. Only boring and tedious. But having to type the questions that have to appear on the Android application had great difficulties. You can type in with the Myanmar 3 font, but once it is there you can't edit it. Similarly, you can type in Word, then copy and paste on the application, but here again you can't edit. All you can do it is to delete it, type the questions in a document outside, then paste it again.

Now the problem is typing in with Myanmar translations. Because I'd never typed in Myanmar language, I could never do the whole thing. So I looked for help and a younger IT person came to the rescue. He had it done in a few hours, and with some laborious edits by me, here you are able to see finally the Myanmar version of the Parallel Vote Tabulation application “PVT_5”.

For playing with my PVT_5 application, you need to get PVT_5.pen and PVT_5.pff files. You also need to have the CSEntry for Android installed on your Android phone or tablet. CSEntry could be downloaded from the Google Play store and:

PVT_5.pen is available here.
PVT_5.pff is available here.

For a little tip on getting started with using such data collection applications on Android see my earlier post Yan Can Cook or More fun with PVT. The present post must have been quite dry, because I can't include screen shots of my application unlike in my earlier one. The fact is that between my wife and I, an old couple, we have three hand-phones, and two tablets and yet none of them could display the Myanmar 3 font.

My hasty search on the Web shows that I might need to “root” my Android phones to allow for installing Myanmar 3 font. It's something like “jail breaking” of Apple phones and tablets, and not risky they say. I still have to think about it and would like to learn more. But while I have been developing this application, I saw it worked on a young friend's Android phone that could display the Myanmar 3 font.


One last thing. I am far from being able to make everything perfect on my PVT application in Myanmar language. It is yet crude, incomplete, and some English entries remain unconverted. That's also the reason I call it a Myanglish application in a sense different from the standard concept of Myanglish of my grandson and others. Nevertheless, we weren't that different in having to make do with whatever we have at the moment, either for lack of knowledge on our part, or for the lack of command over resources, or for great many other things, or for just all of them.