All posts by Manoj Nair

Hi, my name is Manoj Nair and I live in Mumbai, India. This is my website, my online journal. Here you will find articles on subjects ranging from flashing smart phones to mindfulness! Once In a while I also post some of my short stories. Browse through the site and feel free to pen down your thoughts and suggestions.

The taming of the brew!

Daju’s designation declared that he was the ‘office water-carrier’. His job required him to fetch water, cook food and keep the office clean . No one in my office, wanted to eat the food he cooked. They preferred to do the cooking themselves. There was not much work in the office where I was the district-in-charge. It was a government office in the foothills of the Himalayas. Still in my early twenties, I was struggling to grow a mustache then. I hoped it would give me a serious and more of a mature look. I was having a tough time controlling my staff. They were all older than me by at least five years.
We had a staff count of five including Daju. As the boss there, I lived in an all wood cabin. This was my office cum residence. Next to me on a hill slope, lived the other staff members, some with their families.

Daju is not a name. It means brother in Nepali. Everyone called him that. I do not remember what his real name was, for this story is more than two decades old. He claimed that he was originally from Tibet. His story was that he had sneaked into India as a young boy and joined the army. There he managed to get court-martialed for picking up a fight with a senior officer. For sometime he did odd jobs and moved around. Roaming around he reached this village, liked it and settled down. A Buddhist by birth, he was converted to Christianity by the over-enthusiastic local pastor. A decision the pastor lived to regret for the rest of his life! Daju was a reluctant convert. He rarely if ever went to church. Yet he married a local woman and built a small hut for her. Daju and his wife had six children. Five of them lived with him.His eldest child a boy was working somewhere in Mumbai. Their hut was next to my house.

Every morning at five, Daju would come in and start his days work. Life in the hills started early. In India, due to certain unknown reasons, we have the same time across the country. This even though the country has three time-zones passing through it. Due to this, in the north eastern states, we can see the sun rise at five in the morning and set by four in the evening. The early morning appearance of Daju’s did not trouble me. I had a habit of waking up early since I was a child. Daju would sing old hindi movie songs while he cleaned the dishes. He was blessed with a great singing voice. After the dishes, Daju would wash my clothes, hang them out to dry and then disappear for the rest of the day. Years ago, when he had joined the office , after washing the dishes he used to go off in search of water. Water then had to be fetched from a small stream a few hundred meters away. That was until someone had the brilliant idea of connecting a pipe from the source to the house. With that one stroke of ‘brilliance’ the post of a water carrier became redundant. Over the years, the post in-charge never reported the availability of portable water and Daju kept his job.

For all his good nature Daju had a slight problem. His gentle and would-not-hurt-an-ant nature would under go a dramatic transformation the minute he consumed liquor. Once he had downed a few pegs , gentle Daju would become the epitome of nastiness. He would stand on the street outside the office and vent out his anger and frustration on the world. He would abuse one and all, using the vilest language that could be imagined. The target of his abuses could be anyone ranging from his wife to anyone who unwittingly happened to cross his path.

Since I was new there I was his preferred target. When he was in his Jekyll and Hyde transformation phase, it did not matter to him that I was his boss. He was not bothered by the fact that if I wanted, I could with a stroke of my pen have him terminated. Noting mattered to him. He would stand outside my office and abuse me. His voice loud enough for the whole village to hear, he would make fun of me. The villagers were poor and almost no one owned radio’s or TV sets. Daju was their only source of entertainment . They would all gather around and listen to him and enjoy the show. It was free entertainment and it was fun as long as they were not the target of his barbs. This went on for about an hour or two and then he would calm down, go to his hut and sleep for the rest of the day.

The next day, instead of Daju, it would be his wife who would come in to clean up my office. She would do her work quietly, while I worked in my office. A day later, Daju would be back at his usual time. He would singing soulful renditions of old classics and work his way through the dishes then my clothes and sweep the floors . Not a word was said about his theatrics of the previous day and life would be back to normal.

I was not sure how to react. I was too young to catch hold of him by the neck and advice him and too old to understand that firing him was not the solution. My staff members told me to ignore him. They told me how my immediate predecessor had submitted a complaint in writing to the head office. The result of the complaint was that Daju’s salary was frozen at rupees six hundred per month. His counterparts in other offices got a thousand rupees more. I could not imagine, how he managed to feed his family of five on six hundred rupees a month. This was back in the 1990’s but even then five hundred was a small amount.

The first time he did his Dr. Hyde transformation, I was shocked. I kept a low profile in my office that day. I hoped that people would not have head everything that he had shouted about me. The second time this happened I was prepared. Even then the after effects of this public slandering took a couple of days to wear off. I knew this could not go on for ever. The problem was I did not know what to do. Then fate stepped in.

As I must have mentioned some where in the narrative, that I had the habit of getting up early. Father was an army officer and had the bad habit of waking us up early. I do not remember ever having slept beyond six o clock in the morning. This habit gave me a few extra hours in the morning to kill. I used to do yoga in those days- Yes back then I used to be flexible. Every morning after waking up at five I used to put in an hour of yoga. I used to wind up the session with a few minutes of meditation.

One day I had reached the end of my yoga session and was meditating – basically sitting in the lotus pose with my eyes closed when I heard Daju coming. He was humming a song . The room I was in, had a window and through the window, I could see him peeping in to check if I was awake. Through half half-closed eyes, I could see Daju peeking through the window. Then I heard him gasp. His grip on the window-sill loosened and he fell down. Daju may have been in his fifties then but had the agility of a monkey and the strength of a bull. It took me a few seconds to realize what had happened.

The house I was in was as I have mentioned, made of wood and was old. There were small cracks in the ceiling through which sun light crept in. The sun’s rays would cut though the room in laser like beams. One of the beams was falling on my head. There I was seated in a perfect lotus pose, eyes closed, deep in ‘meditation’ with a halo around my head. For poor Daju that was a sight that took him back to his roots. For a few seconds the Buddhist from Tibet in him was awakened.

Daju was a different man after that ‘vision’. Later that day one by one my staff members came and spoke to me.

“ Sir, what have you done to Daju? He came to my house and apologized for his behavior! This has never happened before in my three years in this post,” said one of them.

“ Daju apologized to me too!” said another member standing next to him.” Did you ask to apologize?”

Later that day Daju came up to me. I was busy at working on some report to be sent to the main office. He stood near the door waiting for me to look up.

“Yes Daju? Is there anything you wanted to say?” I said.

“Sahib, I want to apologize for my behavior over the past couple of days. I have a problem with alcohol. I know that. I cannot control myself when I am drunk. I promise that will not happen again.”

Having said that and without waiting for a response from me, he walked away.

Not that he stopped drinking. He drank but in moderation and when drunk he would come towards me and from a distance shout, “Sahib, I am drunk now. You know what happens to me when I am drunk. I become an animal .I am going towards the forest and will be back later when I am sober!”

With that he would walk away. He would hide somewhere for a few hours returning only after ‘everything’ was normal. The one year I was in that post, he never shouted or abused anyone. He became an ideal villager, a good father and a responsible husband.

Today there are a number of types of yoga – Hatha, Ashtanga, Viniyasa yoga. Some have easier to remember names like hot yoga, beer yoga as so on . I think based on my experiences with Daju, I will create a new variety – Watch yoga. Change your life by watching someone else do yoga!

/e/ : A user Data Privacy respecting operating system

A lot has been written and discussed in the media about the unwelcome intrusion by big business houses into our private lives. Details about the Facebook data sharing scandal with Cambridge Analytic or leaks about the way Google has been ‘Googling’ our personal information and sharing it with its business partners are on news channels everywhere. If you have ever browsed to purchase a product on the internet, then you would have observed subtle hints of this intrusion in action. For days after you would be seeing advertisements from companies selling products similar to the one you were browsing. This happens when your browsing behavior is captured and shared with business houses. These business houses now attempt to coax you into buying their products which are of a similar kind. Welcome to the world of zero data privacy!

To understand the situation better, have a look at your smart phone and the applications you use on a daily basis. On android phones, almost every second application is in some way connected to Google. Gmail, Google maps, Google Assistant, Google Drive the list is endless. When you install these apps they ask you for your permission to access your contacts, your text messages, files, folders, images etc. While on the face these requests may look harmless, take some time and think about the issue seriously. What if the product or service you had browsed was of a personal nature? That information in the hands of a stranger could be dangerous for you in the long run. This pilfering of your personal data is happening through your smartphones and computers every single day, every minute. Google, Microsoft, Apple, Amazon everyone has a finger in this pie. What is even worse is that they are making billions out of your personal information! So now that I have scared you enough you might be wondering if there is a way out of this mess? Do not worry help is just round the corner.

gael-with-eelo

Introducing /e/. /e/ is the brain child of Gaël Duval – the man behind the popular linux distribution – Mandrake Linux. The popular Linux OS is still remembered for its extremely user friendly interface and smooth and efficient functioning. It helped introduce millions to linux. After moving out of mandrake Linux which was renamed to Mandriva in 2006 Gael was the Chairman and Chief Technology Officer at Ulteo. The company is bought by AZNetwork group in 2015.In 2016, he co-founded NFactory.io, an incubator-accelerator of “startups.

The rampant ‘data pilfering’ on smartphone devices by Google and Apple set Gaël thinking. The result was a series of three articles ‘Leaving Apple & Google: my eelo odyssey’. In these articles he announced his intention to come out with an alternate platform for devices. An operating system which would respect the individual and value his right to privacy. A Kickstarter campaign to fund the idea was launched. People from around the world contributed. This was a clear indication that the concept had popular support, all that it lacked was a clear direction.
Gaël has come out with a mission which declares the following as its objectives:

  • We make available independent and open source IT infrastructure products & services, with an emphasis on respect for user data privacy, for the benefit of all.
  • We think that /e/ can have a global, worldwide impact as a major open source project in the public interest. It will help by freeing users from personal data spying and advertising.
  • /e/ is about freedom and privacy in the digital world.

A copy of the manifest is attached below:

e manifesto

To set the record straight, Gaël’s team is not writing the code from scratch. It has picked up a branch from the Lineage code base and has started with it. The lineage code base is a free open source operating system based on the android platform which caters to smartphones and tablets. The code is accessible through GitHub. At present /e/ has a team of about fifteen developers working full time under the direction and guidance of Gaël developing the first release of the operating system. Gaël’s team is currently working on various elements in the operating system which he insists would have a great UI. Those who have used Mandriva earlier can definitely look forward to Gaël delivering on that promise! Various third party applications are currently being integrated . The base OS would have a “reasonable minimum” set of application to begin with. The idea being that a user could always add more applications as per his or her requirement. There would be no forceful installation of applications that sit there unused taking up space and sending back the users personal information!

The team target to release their first beta version of the OS by August end of 2018. The next step would be the opening up of the source code repository. This should be the trigger for developers from around the world to pitch in and add their code as well. Version 1.0 of /e/ is targeted for the end of 2018 or early 2019.

/e/ has come out with a road map for its development activities

  • June 2018: early access to /e/ email for /e/ backers
  • July 2018: early access to /e/ drive for /e/ backers
  • August 2018: /e/ OS beta (MVP) release with several web services (search, app store)
  • September 2018: /e/ OS source code release on /e/ GitLab
  • September 2018: /e/ email and drive open to more users
  • October 2018: smartphones with /e/ OS start shipping to /e/ backers
  • January 2019: smartphones with /e/ OS start selling
/e/ road map

For more information about /e/ go to the web site.

To read more about Gaël Duval

To contribute to /e/ financially

A random act of kindness

It was supposed to be a punishment transfer. In my case, I got it because I had just joined a government service. I was packed off to a remote village, high up in the Himalayan mountains. There were no tarred roads in the village. A dirt track linked it to civilization. A bamboo hut with a corrugated-sheet roof became my office cum residence. On records, I was the district-in-charge and had a staff of four who reported to me. These four were local villagers and hardly ever attended ‘office’. Most of the time I was alone in my office. I read books and listened to music a lot those days.

I was twenty-four year old and took all this as a challenge. There was no work as such. We were there to keep an eye on the village and its inhabitants. I would send out long reports to bosses in distant cities. To while away the time I went on long walks around the village. That was how I made a few friends – two shopkeepers and a beggar. The villagers were poor and the shops in the village stored few provisions. My radio operator knew how to cook. He taught me how to boil rice and make chapattis. That was how I survived during my one year in that village.

One day around halfway into my posting, I had to meet the District Magistrate who was visiting the neighboring village. I went for the meeting along with one of my staff members. It was a distance of about five kilometers. Over the muddy roads it would have taken about three hours. We took a short-cut. Walking through the mountain pass and stepping around massive trees we reached in about two hours. Needless to say, I was tired. My assistant suggested we rest for some time at the house of his friend.

The house was more of a hut with cracks in the mud wall. It was dark inside. By the time my eyes got accustomed to the light inside I realized that the family was having dinner. It was about four in the evening. People in the hills slept by six, so dinner was early. With no electricity and no money to buy oil for lamps, there was no point keeping awake after dark.
Without a word the lady of the house put out another plate for me. There was no table. The family – My staffer’s friend, his wife , the man’s mother and his four children were all sitting on the floor eating out of steel plates. The children were staring at me as they gulped down handfuls of rice mixed with a watery stew. As I stood there in my designer jeans , t-shirt and brand new sports shoes, I was acutely aware of their tattered clothes and the ragged condition of the hut. I did not want to eat. These people were poor. I was a tough for them gt enough to feed their children. Add to that an extra mouth to feed… I refused

“ Sahib, they would feel bad if you do not eat!” my staffer said.

I looked at their faces, they did not understand my Hindi and I could not speak their language. I could see that they looked offended.

I sat down on the mud floor and began eating. Silently we ate. Nine of us in a dark room as pigs ran outside the house. It was getting dark and I did not want to be late for the meeting. So I gobbled up what was plied on my plate. The second I finished the lady of the house filled my plate with more rice. I protested and she gave me another hurt look. She pored a watery stew and added huge chunks of some vegetable. The food was bland, it had no spices, no taste. All that it had was a pinch of salt to make it edible. Again, I finished off the entire plate. This time I covered the plate with my hand to prevent her from filling it again.

“We have to leave,” I said, more to the people in the house than to my staffer.
I thought I would give them some money but was prevented by doing so.

“They will feel bad. You are a guest in the house. Guests do not pay.”

I felt odd but thanked the people in the hut and quickly walked out. No one came out as I left. With two plates of rice in my stomach I was finding it difficult to walk but we had an appointment to keep and I returned to my world.

Over the years, I have seen and read a lot about acts of charity,generosity and kindness but I am yet to come across an incident which comes anywhere close to what I experienced in that hut three decades back. It takes a big heart to give when you have almost nothing of your own.

Dancing with the daffodils…

Delonix regia - Royal Poinciana - Gulmohar 02

It was a bright, sunny day with clear skies in May The chill of winter was fading out and the Indian summer had not yet fully set in. I was fourteen years old and in my last year at school. My father was in the Army. We lived in an old bungalow, in the middle of a hectare of land. At home, all our blankets had been spread out in the compound. They were not needed anymore and were being sun-dried, before being packed away. We had a massive gulmohur tree in the compound. The tree was in full bloom and looked something like the photo here. This is not a photo of the same tree, but I think you get the idea.

I saw my blanket spread out under the massive canopy of the Gulmohur and with nothing else to do ran over and stretched myself full length on it. As I looked up, I could see that the flowers of the tree stopping the rays of the sun from reaching me. I did not mind. A gentle breeze was blowing and before I knew it, I fell asleep. I must have slept for a couple of hours. Then a kick woke me up. It was my sister’s way of waking me up for lunch. I did not get up immediately. I lay there for a few more minutes. The sun was now right in the center of the sky, but the dense foliage above kept things cool all around me.
Three decades have passed and now I am in my late forties. I have traveled across the country and seen a lot of places. Somehow, when ever I try to think of a peaceful memory from my past it is the few hours that I spent under the shade of the gulmohur that come back. Those couple of hours when I slept peacefully in the shade remains the best memory I have from my childhood. I never understood poetry but I think this was what Wordsworth was trying to convey when he wrote

.They flash upon that inward eye
Which is the bliss of solitude;
And then my heart with pleasure fills,
And dances with the daffodils…..

Easy way to add custom packages to a LineageOS4MicroG ROM

So you have figured out how to build your own custom ROM using Docker…if not click here.
Once you have become an expert at it you would want to add a custom touch to the build. I realized that I was downloading a few apps which I wanted to use. For example – twitter, whatsapp, nextcloud and so on. Now remember these are apps which are not going to be installed by default as they are owned by different organizations and due to licensing issues they cannot and will not be a part of any Lineage ROM that you will download officially from the web. So what do you do?

Simple you add the apk’s to your custom build. Remember as long as you are not going to going to distribute it online you should be ok because as mentioned these applications are licensed to different organizations and not open source.

Steps to add a custom apk to your ROM.

Please note : This method works on the docker setup environment.

Step 1:

Download the apk (s) of your choice. For e.g. say I downloaded nextcloud , Nextcloud notes and twitter apks.

Step 2:

Create a folder with the apk name for e.g. NextCloud or Notes. Something short and simple.

Step 3:

Copy paste the downloaded apk into the folder. Remember to download the correct apk to the designated folder 🙂

Step 4:
Change the name of the apk file. For e.g. the name of the NextCloud apk is com.nextcloud.client_3.3.0-30030099_minAPI14(arm64-v8a,armeabi,armeabi-v7a,x86,x86_64)(nodpi)_apkmirror.com.apk!!!! (download it yourself if you think I am joking)
Rename the apk to something simple for e.g. NextCloud.apk
Do not worry renaming will not impact your build.
Step 5:

Add an Android.mk file with text like below to each of the folders. The below is the sample I always use.
Two values need to be changed in this file.
One the LOCAL_MODULE and the other the LOCAL_SRC_FILES.
For e.g from the below example the words FDroid and Fdroid.apk need to be replaced by the apk folder name and the apk name. If I am adding the NextCloud apk then the value for LOCAL_MODULE will be the folder name i.e. NextCloud and the value for LOCAL_SRC_FILES would be NextCloud.apk.

Similarly you have to create Android.mk files for each of the apks that you are adding.

Each folder will have one apk file and one Android.mk file with the below contents

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE := FDroid
LOCAL_SRC_FILES := FDroid.apk
LOCAL_MODULE_CLASS := APPS
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
LOCAL_CERTIFICATE := PRESIGNED
include $(BUILD_PREBUILT)

Step 6:

Now make a few additions to the following file

vendor/lineage/config/common.mk

Browse down to the PRODUCT_PACKAGES +=

The default line may look like this – (your file would be different from this these are just samples)

PRODUCT_PACKAGES += FDroid GmsCore GsfProxy FakeStore MozillaNlpBackend NominatimNlpBackend com.google.android.maps.jar FDroid FDroidPrivilegedExtension

Add the names of the custom packages you have added to make it look something like this

PRODUCT_PACKAGES += FDroid Flym GmsCore GsfProxy FakeStore MozillaNlpBackend NextCloud NominatimNlpBackend Notes com.google.android.maps.jar FDroid FDroidPrivilegedExtension Telegram Twitter WhatsApp WordPress

save the common.mk

Copy the complete list of packages as you would need it in the next step

Step 7: Pass the package list copied from the previous step and pass it to your docker run command for example now your command should look like …with all the custom packages being passed.

docker run \
-e “BRANCH_NAME=lineage-15.1” \
-e “DEVICE_LIST=tissot” \
-e “SIGN_BUILDS=true” \
-e “CCACHE_SIZE=100G” \
-e “SIGNATURE_SPOOFING=restricted” \
-e “CUSTOM_PACKAGES=FDroid Flym GmsCore GsfProxy FakeStore MozillaNlpBackend NextCloud NominatimNlpBackend Notes com.google.android.maps.jar FDroid FDroidPrivilegedExtension Telegram Twitter WhatsApp WordPress ” \
-v “/home/username/lineageos4microg/lineage:/srv/src” \
-v “/home/username/lineageos4microg/zips:/srv/zips” \
-v “/home/username/lineageos4microg/logs:/srv/logs” \
-v “/home/username/lineageos4microg/cache:/srv/ccache” \
-v “/home/username/lineageos4microg/keys:/srv/keys” \
-v “/home/username/lineageos4microg/manifests:/srv/local_manifests” \
lineageos4microg/docker-lineage-cicd:latest

Step 8: Once the build is complete. Pick it up from the zips folder and flash on your phone.

Check all the apps you installed are running

Step 9: Congratulate yourself for having built your customized ROM!!!
Enjoy!!!