For the past years, most of the development has happened behind the scene in a private repository, and the code has appeared in the public repository only a couple of months before the release, in the release branch. I have now decided to publish the current code of QSoas in the github repository (in the public branch). This way, you can follow and use all the good things that were developed since the last release, and also verify whether any bug you have is still present in the currently developed version !
Upcoming features
This is the occasion to write a bit about the some of the features that have been added since the publication of the 3.0 release. Not all of them are polished nor documented yet, but here are a few teasers. The current version in github has:
a comprehensive handling of column/row names, which makes it much easier to work with files with named columns (like the output files QSoas produces !);
better handling of lists of meta-data, when there is one value of the meta for each segment or each Y column;
a command for linear least squares (which has the huge advantage of being exact and not needing any initial parameters);
commands to pause in a script or sort datasets in the stack;
improvements over previous commands, in particular with eval;
... and more...
Check out the github repository if you want to know more about the new features !
As of now, no official date is planned for the 3.1 release, but this could happen during fall.
About QSoas QSoas is a powerful open source data analysis program that focuses on flexibility and powerful fitting capacities. It is released under the GNU General Public License. It is described in Fourmond, Anal. Chem., 2016, 88 (10), pp 5050 5052. Current version is 3.0. You can download its source code there (or clone from the GitHub repository) and compile it yourself, or buy precompiled versions for MacOS and Windows there.
CVE-2020-27751
A flaw was found in MagickCore/quantum-export.c. An attacker who submits a
crafted file that is processed by ImageMagick could trigger undefined behavior
in the form of values outside the range of type
unsigned long long as well as a shift exponent that is too large for
64-bit type. This would most likely lead to an impact to application availability,
but could potentially cause other problems related to undefined behavior.
CVE-2021-20243
A flaw was found in MagickCore/resize.c. An attacker who submits a crafted
file that is processed by ImageMagick could trigger undefined behavior
in the form of math division by zero.
CVE-2021-20245
A flaw was found in coders/webp.c. An attacker who submits a crafted file that
is processed by ImageMagick could trigger undefined behavior in the form of
math division by zero.
CVE-2021-20309
A division by zero in WaveImage() of MagickCore/visual-effects.c may trigger
undefined behavior via a crafted image file submitted to an application using
ImageMagick.
CVE-2021-20312
An integer overflow in WriteTHUMBNAILImage of coders/thumbnail.c may trigger
undefined behavior via a crafted image file that is submitted by an attacker
and processed by an application using ImageMagick.
CVE-2021-20313
A potential cipher leak when the calculate signatures in TransformSignature is possible.
CVE-2018-25009
An out-of-bounds read was found in function WebPMuxCreateInternal.
The highest threat from this vulnerability is to data confidentiality
and to the service availability.
CVE-2018-25010
An out-of-bounds read was found in function ApplyFilter.
The highest threat from this vulnerability is to data confidentiality
and to the service availability.
CVE-2018-25011
A heap-based buffer overflow was found in PutLE16().
The highest threat from this vulnerability is to data confidentiality
and integrity as well as system availability.
CVE-2018-25012
An out-of-bounds read was found in function WebPMuxCreateInternal.
The highest threat from this vulnerability is to data confidentiality
and to the service availability.
CVE-2018-25013
An out-of-bounds read was found in function ShiftBytes.
The highest threat from this vulnerability is to data confidentiality
and to the service availability.
CVE-2018-25014
An unitialized variable is used in function ReadSymbol.
The highest threat from this vulnerability is to data confidentiality
and integrity as well as system availability.
CVE-2020-36328
A heap-based buffer overflow in function WebPDecodeRGBInto is possible
due to an invalid check for buffer size. The highest threat from this
vulnerability is to data confidentiality and integrity as well as system
availability.
CVE-2020-36329
A use-after-free was found due to a thread being killed too early.
The highest threat from this vulnerability is to data confidentiality
and integrity as well as system availability.
CVE-2020-36330
An out-of-bounds read was found in function ChunkVerifyAndAssign.
The highest threat from this vulnerability is to data confidentiality
and to the service availability.
CVE-2020-36331
An out-of-bounds read was found in function ChunkAssignData.
The highest threat from this vulnerability is to data confidentiality
and to the service availability.
CVE-2020-36332 was marked as ignored
for stretch due to too disruptive patch for older versions of libwebp.
CVE-2021-32917
The proxy65 component allows open access by default, even if neither
of the users has an XMPP account on the local server, allowing
unrestricted use of the server s bandwidth.
CVE-2021-32921
Authentication module does not use a constant-time algorithm for
comparing certain secret strings when running under Lua 5.2 or later.
This can potentially be used in a timing attack to reveal the
contents of secret strings to an attacker.
DLA-2687-2 prosody_0.9.12-2+deb9u4
Upload prosody_0.9.12-2+deb9u3 introduced a regression in the
mod_auth_internal_hashed module. Big thanks to Andre Bianchi for the
reporting an issue and for testing the update.
CVE-2021-32918,
CVE-2021-32920,
were marked as ignored for stretch: the affected code is not existing in that version of prosody.
LTS-Meeting
I attended the Debian LTS team Jitsi-meeting.
Debian Science Team
openpiv-python
I started to package python-openpiv.
The software implements PIV (Particle Image Velocimetry) method to compare two images and
obtain velocity field.
Other FLOSS activities
Admesh
Admesh is the first package which I adopted over 10 years ago! Upstream is not active for a very long time,
so I created a github-repo back in 2013.
The software helps to manipulate STL-files. STL is the file format for meshes, mostly developed for CAD programs.
This month I decided to clean the build system. It was switched to cmake. CI was updated, now it compiles
the sources under Linux/Windows environment, runs tests, AddressSanitizer and UndefinedBehaviourSanitizer
were employed. Work is ongoing.
This blog post is about my observations of some of the plants in my home garden.
While still a n00b on the subject, these notes are my observations and experiences over days, weeks and months. Thankfully, with the capability to take frequent pictures, it has been easy to do an assessment and generate a report of some of these amazing behaviors of plants, in an easy timeline order; all thanks to the EXIF data embedded.
This has very helpfully allowed me to record my, otherwise minor observations, into great detail; and make some sense out of it by correlating the data over time.
It is an emotional experience. You see, plants are amazing. When I sow a sapling, water it, feed it, watch it grow, prune it, medicate it, and what not; I build up affection towards it.
Though, at the same time, to me it is a strict relationship, not too attached; as in it doesn t hurt to uproot a plant if there is a good reason. But still, I find some sort of association to it.
With plants around, it feels I have a lot of lives around me. All prospering, communicating, sharing. And communicate they do. What is needed is just the right language to observe and absorb their signals and decipher what they are trying to say.
Devastation
How in this world, when you are caring for your plants, can it transform:
From This
Healthy Mulberry Plant
Healthy Mulberry Plant
Healthy Bael Plant
To This
Dead Mulberry Plant
Very Sick Bael Plant
With emotions involved, this can be an unpleasant experience.
Bael is a dear plant to me. The plant as a whole has religious values (Shiva). As well, its fruits have lots of health benefits, especially for the intestines. Its leaves have a lot of medicinal properties.
When I planted the Bael, there were a lot of emotions that went along.
On the other hand, the Mulberry is something I put in with a lot of enthusiasm. Mulberries are now rare to find, especially in urban locations. For one, they have a very short shelf life; But more than that, the way lifestyles are heading towards, I was always worried if my children would ever have a day to see and taste these fruits.
The mulberry that I planted, yielded twice; once very soon when I had planted and second, before it died. Infact, it died while during its second yield phase.
It was quite saddening to see that happen. It made me wonder why it happened. I had been caring for the plants fairly well. Watering them timely, feeding them the right amount of nutrients. They were getting a good amount of sun.
But still their health was deteriorating. And then the demise of the Mulberry. Many thoughts hit my mind.
I consulted the claimed experts in the domain, the maali, the gardener. I got a very vague answer; there must be termites in the soil. It didn t make much sense to me. I mean if there are termites they d hit day one. They won t sleep for months and just wake up one fine day and start attacking the roots of particular plants; not all.
I wasn t convinced with the termite theory; But still, give the expert the blind hand, I went with his word.
When my mulberry was dead, I dug its roots. Looking for proof, to see if there were any termites, I uprooted it. But I couldn t find any trace of termites. And the plant next to it was perfectly healthy and blossoming. So I was convinced that it wasn t the termite but something else.
But else what ? I still didn t have an answer to that.
Thinking
The Corona pandemic had embraced and there was a lot to worry, and worry not any, if you change the perspective. With plants around in my home, and our close engagement with them, and the helplessness that I felt after seeking help from the experts, it was time again; to build up some knowledge on the subject.
But how ? How do you go about a subject you have not much clue about ? A subject which has always been around in the surrounding but very seldom have I dedicated focused thought to it. To be honest, the initial thought of diving on the subject made me clueless. I had no idea where to begin with. But, so, as has been my past history, I chose to take it as a curiosity.
I gathered some books, skimmed through a couple of pages. Majority of the books I got hold of were about DIYs and How to do Home Gardening types. It was a decent introduction to a novice but my topic of curiosity was different.
Thankfully, with the Internet, and YouTube in particular, a lot of good stuff is available as documentary videos. While going through some, I came across a video which mentioned about carnivore plants. Like, for example, this one.
Carnivore Plant
This got me thinking that there could be a possibility of something similar, that did the fate to my Mulberry plant. But who did it ? And how to dive further on this suspicion ? And most of all, if that thought of possibility was actually the reality. Or was I just hitting in the dark ?
Beginning
To put some perspective, here s how it started. When we moved into our home, the gardener put in a couple of plants stock, as part of the property handover. Now, I don t exactly recollect the name of the plants that came in stock, neither English nor Hindi; But at my neighbor s place, the plant is still there.
Here are some of the pictures of this beauty. But don t just go by the looks as looks can be deceiving
Dominating Plant
Dominating Plant
Dominating Plant
We hadn t put any serious thought about the plants we were offered by the gardener. After all, we never had ever thought of any mishap either.
Plants we planted
Apart from what was offered by the builder/gardener as part of the property handover, in over the next 6 months of we moving in, I planted 3 tree type plants.
Mulberry
Bael
Rudraksha
The Mulberry, as I have described so far, died a tragic death.
Bael, on the other hand, fought hard. But very little did we know that the plant was struggling the fight. Our impression was that we must have been given a bad breed of the plant. Or maybe the termite theory had some truth.
For the Rudraksha plant, the growth was slow. This was the very first time I had seen a Rudraksha plant, so I had no clue of what its growth rate could be, and what to expect out of it. I wasn t sure if the local climate suited the plant. A quick search showed no objections to the plant in the local climate, but that was it. So my theory has been to put in the plant, and observe.
Here s what my Rudraksha plant looked like during the initial days/weeks of its settlement
Rudraksha Plant
The Hint
Days passed and so on. Not much had progressed in gathering information. The plant s health was usual; deteriorating at a slow pace.
On day, thinking of the documentaries I had been watching, it hit my mind about the plant behavior.
Plants can be Carnivores.
Plants can be Aggressive.
Plants can be Invaders.
Plants can be Territorial.
There are many plants where their aggression can be witnessed with bare human eyes. Like creepers. Some of them are good at spreading tentacles, grabbing onto other plants' stems and branches and spread above it. This was my hint from the documentaries. That s one of the many ways plants set their dominance. That is what hit my mind that if plants are aggressive on the out, underneath the soil, they should be having similar behavior.
I mean, what we see as humans is just a part of the actual plant. More than half of the actual plant is usually underneath the soil, in most plants.
So there s a high chance to get more information out, if you dig the soil and look the roots.
The Digging
As I mentioned earlier, I do establish bindings, emotions and attachments. But not much usually comes in the way to curiosity.
To dig further on the theory that the problem was elsewhere, with within the plants ecosystem, we needed to pick on another subject - the plant.
And the plant we chose was the plant which was planted in the initial offering to us, when we moved into our home. It was the same plant breed which was neighboring all our newly planted trees: Rudraksha, Mulberry and Bael.
If you look closely into the pictures above of these plants, you ll notice the stem of another plant, the Territorial Dominator, is close-by to these 3 plants. That s because the gardener put in a good number of them to get his action item complete.
So we chose to dig and uproot one of those plant to start with. Now, while they may look gentle on the outside, with nice red colored tiny flowers, these plants were giants underneath. Their roots were huge. It took some sweat shredding to single-handedly remove them.
Dominating Plant Uprooted
Dominating Plant Uprooted
Dominating Plant Uprooted
Dominating Plant Uprooted
Today is brighter
Bael
I ll let the pictures do the initial talking today.
Healthy Bael
Healthy Bael
Healthy Bael
Healthy Bael
Healthy Bael
The above ones are pictures of the same Bael plant, which had struggled to live, for almost 14 months. Back then, this plant was starved of its resources. It was dying a slow death out of starvation. After we uprooted the other dominant species, the Bael has recovered and has regained its charm.
In the pictures above of the Bael plant, you can clearly mark out the difference in its stem. The dark colored one is from its months of struggle, while the bright green is from now where it is well nourished and regained its health.
Mulberry
As for the Mulberry, I couldn t save it. But I later managed to get another one. But it turns out I didn t take good, full length pictures of the new mulberry when I planted. The only picture I have is this:
Second Mulberry Plant
I recollect when I brought it home, it was around 1 - 1.5 feet in length.
This is where I have it today: Majestically standing, 12 feet and counting
Second Mulberry Plant 7 feet tall
Rudraksha
Then:
Rudraksha Plant
And now:
I feel quite happy about
Rudraksha Plant
Rudraksha Plant
Rudraksha Plant
All these plants are on the very same soil with the very same care taker. What has changed is my experience and learning.
Plant Co-Existence
Plant co-existence is a difficult topic. My knowledge on plants is very limited in general, and co-existence is something tricky, unexplored, at times invisible (when underneath the soil). So it is a difficult topic. So far, what I ve learnt is purely observations, experiences and hints from the documentaries.
There surely are many many plants that co-exist very well. A good example is my Bael plant itself, which is healthily co-sharing its space with 2 other Croton plants. Same goes for the Rudraksha, which has a close-by neighbor in an Adenium and an Allamanda.
The plant world is mesmerizing. How they behave, communicate and many many more signs. There s so much to observe, learn, explore and document. I hope to have more such observations and experiences to share
I had been meaning to write on the above topic for almost a couple of months now but just kept procrastinating about it. That push came to a shove when Sucheta Dalal and Debasis Basu shared their understanding, wisdom, and all in the new book called Absolute Power Inside story of the National Stock Exchange s amazing success, leading to hubris, regulatory capture and algo scam . Now while I will go into the details of the new book as currently, I have not bought it but even if I had bought it and shared some of the revelations from it, it wouldn t have done justice to either the book or what is sharing before knowing some of the background before it.
Before I jump ahead, I would suggest people to read my sort of introductory blog post on banking history so they know where I m coming from. I m going to deviate a bit from Banking as this is about trade and capital markets, although Banking would come in later on. And I will also be sharing some cultural insights along with history so people are aware of why things happened the way they did.
Calicut, Calcutta, Kolkata, one-time major depot around the world
Now, one cannot start any topic about trade without talking about Kolkata. While today, it seems like a bastion of communism, at one time it was one of the major trade depots around the world. Both William Dalrymple and the Chinese have many times mentioned Kolkata as being one of the major centers of trade. This was between the 13th and the late 19th century. A cursory look throws up this article which talks about Kolkata or Calicut as it was known as a major trade depot. There are of course many, many articles and even books which do tell about how Kolkata was a major trade depot. Now between the 13th and 19th century, a lot of changes happened which made Kolkata poorer and shifted trade to Mumbai/Bombay which in those times was nothing but just a port city like many others.
The Rise of the Zamindar
Around the 15th century when Babur Invaded Hindustan, he realized that Hindustan is too big a country to be governed alone. And Hindustan was much broader than independent India today. So he created the title of Zamindars. Interestingly, if you look at the Mughal period, they were much more in tune with Hindustani practices than the British who came later. They used the caste divisions and hierarchy wisely making sure that the status quo was maintained as far as castes/creed were concerned. While in-fighting with various rulers continued, it was more or less about land and power other than anything else. When the Britishers came they co-opted the same arrangement with a minor adjustment. While in the before system, the zamindars didn t have powers to be landowners. The Britishers gave them land ownerships. A huge percentage of thess zamindars especially in Bengal were from my own caste Banias or Baniyas.
The problem and the solution for the Britishers had been this was a large land to control and exploit and the number of British officers and nobles were very less. So they gave virtually a lot of powers to the Banias. The only thing the British insisted on were very high rents from the newly minted Zamindars. The Zamindar in turn used the powers of personal fiefdom to give loans at very high interest rates when the poor were unable to pay the interest rate, they would take the land while at the same time slavery was forced on both men and women, many a time rapes and affairs. While there have been many records shedding light on it, don t think it could be any more powerful as enacted and shared by Shabana Azmi in Ankur:the Seedling. Another prominent grouping was formed around the same time was the Bhadralok. Now as shared Bhadralok while having all the amenities of belonging to the community, turned a blind eye to the excesses being done by the Zamindars. How much they played a hand in the decimation of Bengal has been a matter of debate, but they did have a hand, that much is not contested.
The Rise of Stock Exchanges
Sadly and interestingly, many people believe and continue to believe that stock exchanges is recent phenomena. The first stock exchange though was the Calcutta Stock Exchange rather than the Bombay Stock Exchange. How valuable was Calcutta to the Britishers in its early years can be gauged from the fact that at one time it was made the capital of India in 1772 . In fact, after the Grand Trunk Road (on which there had been even Train names in both countries) x number of books have been written of the trade between Calcutta and Peshawar (Now in Pakistan). And it was not just limited to trade but also cultural give-and-take between the two centers. Even today, if you look at YT (Youtube) and look up some interviews of old people, you find many interesting anecdotes of people sharing both culture and trade.
The problem of the 60 s and rise of BSE
After India became independent and the Constitutional debates happened, the new elites understood that there cannot be two power centers that could govern India. On one hand, were the politicians who had come to power on the back of the popular vote, the other was the Zamindars, who more often than not had abused their powers which resulted in widespread poverty. The Britishers are to blame, but so do the middlemen as they became willing enablers to the same system of oppression. Hence, you had the 1951 amendment to the Constitution and the 1956 Zamindari Abolition Act. In fact, you can find much more of an in-depth article both about Zamindars and their final abolition here. Now once Zamindari was gone, there was nothing to replace it with. The Zamindars ousted of their old roles turned and tried to become Industrialists. The problem was that the poor and the downtrodden had already had experiences with the Zamindars. Also, some Industrialists from North and West also came to Bengal but they had no understanding of either the language or the cultural understanding of what had happened in Bengal. And notice that I have not talked about both the famines and the floods that wrecked Bengal since time immemorial and some of the ones which got etched on soul of Bengal and has marks even today
The psyche of the Bengali and the Bhadralok has gone through enormous shifts. I have met quite a few and do see the guilt they feel. If one wonders as to how socialist parties are able to hold power in Bengal, look no further than Tarikh which tells and shares with you that even today how many Bengalis still feel somewhat lost.
The Rise of BSE
Now, while Kolkata Stock Exchange had been going down, for multiple reasons other than listed above. From the 1950s onwards Jawaharlal Nehru had this idea of 5-year plans, borrowed from socialist countries such as Russia, China etc. His vision and ambition for the newly minted Indian state were huge, while at the same time he understood we were poor. The loot by East India Company and the Britishers and on top of that the division of wealth with Pakistan even though the majority of Muslims chose and remained with India. Travel on Indian Railways was a risky affair. My grandfather had shared numerous tales where he used to fill money in socks and put the socks on in boots when going between either Delhi Kolkata or Pune Kolkata.
Also, as the Capital became Delhi, it unofficially was for many years, the transparency from Kolkata-based firms became less. So many Kolkata firms either mismanaged and shut down while Maharashtra, my own state, saw a huge boon in Industrialization as well as farming. From the 1960s to the 1990s there were many booms and busts in the stock exchanges but most were manageable.
While the 60s began on a good note as Goa was finally freed from the Portuguese army and influence, the 1962 war with the Chinese made many a soul question where we went wrong. Jawaharlal Nehru went all over the world to ask for help but had to return home empty-handed. Bollywood showed a world of bell-bottoms and cars and whatnot, while the majority were still trying to figure out how to put two square meals on the table. India suffered one of the worst famines in those times. People had to ration food. Families made do with either one meal or just roti (flatbread) rather than rice. In Bengal, things were much more severe. There were huge milk shortages, so Bengalis were told to cut down on sweets. This enraged the Bangalis as nothing else could.
Note If one wants to read how bad Indians felt at that time, all one has to read is V.S. Naipaul s An Area of darkness .
This was also the time when quite a few Indians took their first step out of India. While Air India had just started, the fares were prohibitive. Those who were not well off, either worked on ships or went via passenger or cargo ships to Dubai/Qatar middle-east. Some went to Russia and some even to States. While today s migr s want to settle in the west forever and have their children and grandchildren grow up in the West, in the 1960s and 70s the idea was far different. The main purpose for a vast majority was to get jobs and whatnot, save maximum money and send it back to India as a remittance. The idea was to make enough money in 3-5-10 years, come back to India, and then lead a comfortable life.
Sadly, there has hardly been any academic work done in India, at least to my knowledge to document the sacrifices done by Indians in search of jobs, life, purpose, etc. in the 1960s and 1970s. The 1970s was also when alternative cinema started its journey with people like Smita Patil, Naseeruddin Shah who portrayed people s struggles on-screen. Most of them didn t have commercial success because the movies and the stories were bleak. While the acting was superb, most Indians loved to be captured by fights, car-chases, and whatnot rather than the deary existence which they had. And the alt cinema forced them to look into the mirror, which was frowned upon both by the masses and the classes. So cinema which could have been a wake-up call for a lot of Indians failed. One of the most notable works of that decade, at least to me, was Manthan. 1961 was also marked by the launch of Economic Times and Financial Express which tells that there was some appetite for financial news and understanding.
The 1970s was also a very turbulent time in the corporate sector and stock exchanges. Again, the companies which were listed were run by the very well-off and many of them had been abroad. At the same time, you had fly-by-night operators. One of the happenings which started in this decade is you had corporate wars and hostile takeovers, quite a few of them of which could well have a Web series or two of their own.
This was also a decade marked by huge labor unrest, which again changed the face of Bombay/Mumbai. From the 1950s till the 1970s, Bombay was known for its mills. So large migrant communities from all over India came to Bombay to become the next Bollywood star and if that didn t happen, they would get jobs in the mills. Bombay/Mumbai has/had this unique feature that somehow you will make money to make ends meet. Of course, with the pandemic, even that has gone for a toss. Labor unrest was a defining character of that decade. Three movies, Kaala Patthar, Kalyug, and Ankush give a broad outlook of what happened in that decade. One thing which is present and omnipresent then and now is how time and time again we lost our demographic dividend. Again there was an exodus of young people who ventured out to seek fortunes elsewhere. The 1970s and 80s were also famous for the license Raj which they bought in. Just like the Soviets, there were waiting periods for everything. A telephone line meant waiting for things anywhere from 4 to 8 years. In 1987, when we applied and got a phone within 2-3 months, most of my relatives both from my mother and father s side could not believe we paid 0 to get a telephone line. We did pay the telephone guy INR 10/- which was a somewhat princely sum when he was installing it, even then they could not believe it as in Northern India, you couldn t get a phone line even if your number had come. You had to pay anywhere from INR 500/1000 or more to get a line. This was BSNL and to reiterate there were no alternatives at that time.
The 1990s and the Harshad Mehta Scam
The 90s was when I was a teenager. You do all the stupid things for love, lust, whatever. That is also the time you are introduced really to the world of money. During my time, there were only three choices, Sciences, Commerce, and Arts. If History were your favorite subject then you would take Arts and if it was not, and you were not studious, then you would up commerce. This is how careers were chosen. So I enrolled in Commerce. Due to my grandfather and family on my mother s side interested in stocks both as a saving and compounding tool, I was able to see Pune Stock Exchange in action one day. The only thing I remember that day is people shouting loudly with various chits. I had no idea that deals of maybe thousands or even lakhs. The Pune Stock Exchange had been newly minted. I also participated in a couple of mock stock exchanges and came to understand that one has to be aggressive in order to win. You had to be really loud to be heard over others, you could not afford to be shy. Also, spread your risks. Sadly, nothing about the stock markets was there in the syllabus. 1991 was also when we saw the Iraq war, the balance of payments crisis in India, and didn t know that the Harshad Mehta scam was around the corner.
Most of the scams in India have been caught because the person who was doing it was flashy. And this was the reason that even he was caught as Ms. Sucheta Dalal, a young beat reporter from Indian Express who had been covering Indian stock market. Many of her articles were thought-provoking.
Now, a brief understanding is required to know before we actually get to the scam. Because of the 1991 balance of payments crisis, IMF rescued India on the condition that India throws its market open. In the 1980s itself, Rajeev Gandhi had wanted to partially make India open but both politicians and Industrialists advised him not to do the same, we are/were not ready. On 21st May 1991, Rajeev Gandhi was assassinated by the LTTE. A month later, due to the sympathy vote, the Narsimha Rao Govt. took power. While for most new Governments there is usually a honeymoon period lasting 6 months or so till they get settled in their roles before people start asking tough questions. It was not to be for this Govt. Immediately, The problem had been building for a few years. Although, in many ways, our economy was better than it is today. The only thing India didn t do well at that time was managing foreign exchange. As only a few Indians had both the money and the opportunity to go abroad and need for electronics was limited. One of the biggest imports of the time then and still today is Energy, Oil. While today it is Oil/Gas and electronics, at that time it was only OIl. The Oil import bill was ballooning while exports were more or less stagnant and mostly comprised of raw materials rather than finished products. Even today, it is largely this, one of the biggest Industrialists in India Ambani exports gas/oil while Adani exports coal. Anyways, the deficit was large enough to trigger a payment crisis. And Narsimha Rao had to throw open the Indian market almost overnight. Some changes became quickly apparent, while others took a long time to come.
Satellite Television and Entry of Foreign Banks
Almost overnight, from 1 channel we became multi-channel. Star TV (Rupert Murdoch) bought us Bold and Beautiful, while CNN broadcasted the Iraq War. It was unbelievable for us that we were getting reports of what had happened 24-48 hours earlier. Fortunately or unfortunately, I was still very much a teenager to understand the import of what was happening. Even in my college, except for one or two-person, it wasn t a topic for debate or talk or even the economy. We were basically somehow cocooned in our own little world.
But this was not the case for the rest of India and especially banks. The entry of foreign banks was a rude shock to Indian banks. The foreign banks were bringing both technology and sophistication in their offerings, and Indian Banks needed and wanted fast money to show hefty profits. Demand for credit wasn t much, at least nowhere the level it today is. At the same time, default on credit was nowhere high as today is. But that will require its own space and article.
To quench the thirst for hefty profits by banks, Enter Harshad Mehta. At that point in time, banks were not permitted at all to invest in the securities/share market. They could only buy Government securities or bonds which had a coupon rate of say 8-10% which was nowhere enough to satisfy the need for hefty profits as desired by Indian banks. On top of it, that cash was blocked for a long time. Most of these Government bonds had anywhere between 10-20 year maturity date and some even longer. Now, one loophole in that was that the banks themselves could not buy these securities. They had to approach a registered broker of the share market who will do these transactions on their behalf. Here is where Mr. Mehta played his game. He shared both legal and illegal ways in which both the bank and he would prosper. While banking at one time was thought to be conservative and somewhat cautious, either because they were too afraid that Western private banks will take that pie or whatever their reasons might be, they agreed to his antics.
To play the game, Harshad Mehta needed lots of cash, which the banks provided him in the guise of buying securities that were never bought, but the amounts were transferred to his account. He actively traded stocks, at the same time made a group, and also made the rumor mill work to his benefit. The share market is largely a reactionary market. It operates on patience, news, and rumor-mill. The effect of his shenanigans was that the price of a stock that was trending at say INR 200 reached the stratospheric height of INR 9000/- without any change in the fundamentals or outlook of the stock. His thirst didn t remain restricted to stocks but also ventured into the unglamorous world of Govt. securities where he started trading even in them in large quantities. In order to attract new clients, he coveted a fancy lifestyle. The fancy lifestyle was what caught the eye of Sucheta Dalal, and she started investigating the deals he was doing. Being a reporter, she had the advantage of getting many doors to open and get information that otherwise would be under lock and key. On 23rd April 1992, Sucheta Dalal broke the scam.
The Impact
The impact was almost like a shock to the markets. Even today, it can be counted as one of the biggest scams in the Indian market if you adjust it for inflation. I haven t revealed much of the scam and what happened, simply because Sucheta Dalal and Debasis Basu wrote The Scam for that purpose. How do I shorten a story and experience which has been roughly written in 300 odd pages in one or two paragraphs, it is simply impossible. The impact though was severe. The Indian stock market became a bear market for two years. Sucheta Dalal was kicked out/made to resign out of Indian Express. The thing is simple, all newspapers survive on readership and advertisements with advertisements. Companies who were having a golden run, whether justified or not, on the bourses/Stock Exchange. For many companies, having a good number on the stock exchange was better than the company fundamentals. There was supposed to be a speedy fast-track court setup for Financial crimes, but it worked only for the Harshad Mehta case and still took over 5 years. It led to the creation of NSE (National Stock Exchange). It also led to the creation of SEBI, perhaps one of the most powerful regulators, giving it a wide range of powers and remit but on the ground more often that proved to be no more than a glorified postman. And the few times it used, it used on the wrong people and people had to go to courts to get justice. But then this is not about SEBI nor is this blog post about NSE. I have anyways shared about Absolute power above, so will not repeat the link here.
The Anecdotal impact was widespread. Our own family broker took the extreme step. For my grandfather on the mother s side, he was like the second son. The news of his suicide devastated my grandfather quite a bit, which we realized much later when he was diagnosed with Alzheimer s. Our family stockbroker had been punting, taking lots of cash from the market at very high rates, betting on stocks wildly as the stock market was reaching for the stars when the market crashed, he was insolvent. How the family survived is a tale in itself. They had just got married just a few years ago and had a cute boy and girl soon after. While today, both are grown-up, at that time what the wife faced only she knows. There were also quite a few shareholders who also took the extreme step. The stock markets in those days were largely based on trust and even today is unless you are into day-trading. So there was always some money left on the table for the share/stockbroker which would be squared off in the next deal/transaction where again you will leave something. My grandfather once thought of going over and meeting them, and we went to the lane where their house is, seeing the line of people who had come for recovery of loans, we turned back with a heavy heart.
There was another taboo that kinda got broken that day. The taboo was that the stock market is open to scams. From 1992 to 2021 has been a cycle of scams. Even now, today, the stock market is at unnatural highs. We know for sure that a lot of hot money is rolling around, a lot of American pension funds etc. Till it will work, it will work, some news something and that money will be moved out. Who will be left handing the can, the Indian investors? A Few days back, Ambani writes about Adani. Now while the facts shared are correct, is Adani the only one, the only company to have a small free float in the market. There probably are more than 1/4th or 1/3rd of well-respected companies who may have a similar configuration, the only problem is it is difficult to know who the proxies are.
Now if I were to reflect and compare this either with the 1960s or even the 1990s I don t find much difference apart from the fact that the proxy is sitting in Mauritius. At the same time, today you can speculate on almost anything. Whether it is stocks, commodities, derivatives, foreign exchange, cricket matches etc. the list is endless. Since 2014, the rise in speculation rather than investment has been dramatic, almost stratospheric. Sadly, there are no studies or even attempts made to document this. How much official and unofficial speculation is there in the market nobody knows. Money markets have become both fluid and non-transparent. In theory, you have all sorts of regulators, but it is still very much like the Wild West. One thing to note that even Income tax had to change and bring it provisions to account for speculative income.So, starting from being totally illegitimate, it has become kind of legal and is part of Income Tax. And if speculation is not wrong, why not make Indian cricket officially a speculative event, that will be honest and GOI will get part of the proceeds.
Conclusion
I wish there was some positive conclusion I could drive, but sadly there is not. Just today read twoarticles about the ongoing environmental issues in Himachal Pradesh. As I had shared even earlier, the last time I visited those places in 2011, and even at that time I was devastated to see the kind of construction going on. Jogiwara Road which they showed used to be flat single ground/first floor dwellings, most of which were restaurants and whatnot. I had seen the water issues both in Himachal and UT (Uttarakhand) back then and this is when they made huge dams. In U.S. they are removing dams and here we want more dams
This is part of a series of posts on ideas for an Ansible-like provisioning
system, implemented in Transilience.
The time has come for me to try and prototype if it's possible to load some
Transilience roles from Ansible's YAML instead of Python.
The data models of Transilience and Ansible are not exactly the same. Some of
the differences that come to mind:
Ansible has a big pot of global variables; Transilience has a well defined
set of role-specific variables.
Roles in Ansible are little more than a chunk of playbook that one includes;
Roles in Transilience are self-contained and isolated, support pipelined
batches of tasks, and can use full Python logic.
Transilience does not have a template action: the equivalent is a copy
action that uses the Role's rendering engine to render the template.
Handlers in Ansible are tasks identified by a name in a global namespace;
handlers in Transilience are Roles, identified by their Python classes.
To simplify the work, I'll start from loading a single role out of Ansible, not
an entire playbook.
TL;DR: scroll to the bottom of the post for the conclusion!
Loading tasks
The first problem of loading an Ansible task is to figure out which of the keys
is the module name. I have so far failed to find precise reference
documentation about what keyboards are used to define a task, so I'm going by
guesswork, and if needed a look at Ansible's sources.
My first attempt goes by excluding all known non-module keywords:
candidates=[]forkeyintask_info.keys():ifkeyin("name","args","notify"):continuecandidates.append(key)iflen(candidates)!=1:raiseRoleNotLoadedError(f"could not find a known module in task task_info!r ")modname=candidates[0]ifmodname.startswith("ansible.builtin."):name=modname[16:]else:name=modname
This means that Ansible keywords like when or with will break the parsing,
and it's fine since they are not supported yet.
args seems to carry arguments to the module, when the module main argument is
not a dict, as may happen at least with the command module.
Task parameters
One can do all sorts of chaotic things to pass parameters to Ansible tasks:
for example string lists can be lists of strings or strings with
comma-separated lists, and they can be preprocesed via Jinja2 templating, and
they can be complex data structures that might contain strings that need Jinja2
preprocessing.
I ended up mapping the behaviours I encountered in an AST-like class
hierarchy
which includes recursive complex structures.
Variables
Variables look hard: Ansible has a big free messy cauldron of global variables,
and Transilience needs a predefined list of per-role variables.
However, variables are mainly used inside Jinja2 templates, and Jinja2 can
parse to an Abstract Syntax Tree and has useful methods to examine its AST.
Using that, I managed with resonable effort to scan an Ansible role and
generate a list of all the variables it uses! I can then use that list,
filter out facts-specific names like ansible_domain, and use them to add
variable definition to the Transilience roles. That is exciting!
Handlers
Before loading tasks, I load handlers as one-action roles, and index them by
name. When an Ansible task notifies a handler, I can then loop up by name the
roles I generated in the earlier pass, and I have all that I need.
Parsed Abstract Syntax Tree
Most of the results of all this parsing started looking like an AST, so I
changed the rest of the prototype to generate an AST.
This means that, for a well defined subset of nsible's YAML, there exists now
a tool that is able to parse it into an AST and raeson with it.
Transilience's playbooks gained a --ansible-to-ast option to parse an Ansible
role and dump the resulting AST as JSON:
$ ./provision --help
usage: provision [-h][-v][--debug][-C][--ansible-to-python role][--ansible-to-ast role]
Provision my VPS
optional arguments:
[...]
-C, --check do not perform changes, but check if changes would be
needed
--ansible-to-ast role
print the AST of the given Ansible role as understood
by Transilience
The result is extremely verbose, since every parameter is itself a node in the
tree, but I find it interesting.
Here is, for example, a node for an Ansible task which has a templated parameter:
"node":"task","action":"builtin.blockinfile","parameters":"path":"node":"parameter","type":"scalar","value":"/etc/aliases" ,"block":"node":"parameter","type":"template_string","value":"root: postmaster \n % for name, dest in aliases.items() % \n name : dest \n % endfor % \n" ,"ansible_yaml":"name":"configure /etc/aliases","blockinfile": ,"notify":"reread /etc/aliases" ,"notify":["RereadEtcAliases"],
Here's a node for an Ansible template task converted to Transilience's model:
Executing
The first iteration of prototype code for executing parsed Ansible roles is a
little execise in closures and dynamically generated types:
defget_role_class(self)->Type[Role]:# If we have handlers, instantiate role classes for themhandler_classes=forname,ansible_roleinself.handlers.items():handler_classes[name]=ansible_role.get_role_class()# Create all the functions to start actions in the rolestart_funcs=[]fortaskinself.tasks:start_funcs.append(task.get_start_func(handlers=handler_classes))# Function that calls all the 'Action start' functionsdefrole_main(self):forfuncinstart_funcs:func(self)ifself.uses_facts:role_cls=type(self.name,(Role,),"start":lambdahost:None,"all_facts_available":role_main )role_cls=dataclass(role_cls)role_cls=with_facts(facts.Platform)(role_cls)else:role_cls=type(self.name,(Role,),"start":role_main )role_cls=dataclass(role_cls)returnrole_cls
Now that the parsed Ansible role is a proper AST, I'm considering redesigning
that using a generic Role class that works as an AST interpreter.
Generating Python
I maintain a library that can turn an invoice into Python
code, and I have a convenient AST. I
can't not generate Python code out of an Ansible role!
$ ./provision --help
usage: provision [-h][-v][--debug][-C][--ansible-to-python role][--ansible-to-ast role]
Provision my VPS
optional arguments:
[...]
--ansible-to-python role
print the given Ansible role as Transilience Python
code
--ansible-to-ast role
print the AST of the given Ansible role as understood
by Transilience
And will you look at this annotated extract:
$./provision--ansible-to-pythonmailserverfrom__future__importannotationsfromtypingimportAnyfromtransilienceimportrolefromtransilience.actionsimportbuiltin,facts# Role classes generated from Ansible handlers!classReloadPostfix(role.Role):defstart(self):self.add(builtin.systemd(unit='postfix',state='reloaded'),name='reload postfix')classRestartDovecot(role.Role):defstart(self):self.add(builtin.systemd(unit='dovecot',state='restarted'),name='restart dovecot')# The role, including a standard set of facts@role.with_facts([facts.Platform])classRole(role.Role):# These are the variables used by Jinja2 template files and strings. I need# to use Any, since Ansible variables are not typedaliases:Any=Nonemyhostname:Any=Nonepostmaster:Any=Nonevirtual_domains:Any=Nonedefall_facts_available(self):...# A Jinja2 string inside a string list!self.add(builtin.command(argv=['certbot','certonly','-d',self.render_string('mail. ansible_domain '),'-n','--apache'],creates=self.render_string('/etc/letsencrypt/live/mail. ansible_domain /fullchain.pem')),name='obtain mail.* letsencrypt certificate')# A converted template task!self.add(builtin.copy(dest='/etc/dovecot/local.conf',src=self.render_file('templates/dovecot.conf')),name='configure dovecot',# Notify referring to the corresponding Role class!notify=RestartDovecot)# Referencing a variable collected from a fact!self.add(builtin.copy(dest='/etc/mailname',content=self.ansible_domain),name='configure /etc/mailname',notify=ReloadPostfix)...
Conclusion
Transilience can load a (growing) subset of Ansible syntax, one role at a time,
which contains:
Jinja2 templates in string parameters, even when present inside lists and
dicts and nested lists and dicts
Variables from facts provided by transilience.actions.facts.Platform
Variables used in jitsi templates, both in strings and
in files, provided by host vars, group vars, role parameters, and facts
Notify using handlers defined within the role. Notifying handlers from other
roles is not supported, since roles in Transilience are self-contained
The role loader in Transilience now looks for YAML when it does not find a
Python module, and runs it pipelined and fast!
There is code to generate Python code from an Ansible module: you can take an
Ansible role, convert it to Python, and then work on it to add more complex
logic, or clean it up for adding it to a library of reusable roles!
Next: Ansible conditionals
Accessibility
This is perhaps one of the strangest ways and yet also perhaps the straightest way to start the blog post. For the past weeks/months, a strange experience has been there. I am using a Logitech wireless keyboard and mouse for almost a decade. Now, for the past few months and weeks we observed a somewhat rare phenomena . While in-between us we have a single desktop computer. So me and mum take turns to be on the Desktop. At times, however, the system would sit idle and after some time it goes to low-power mode/sleep mode after 30 minutes.
Then, when you want to come back, you obviously have to give your login credentials. At times, the keyboard refuses to input any data in the login screen. Interestingly, the mouse still functions. Much more interesting is the fact that both the mouse and the keyboard use the same transceiver sensor to send data. And I had changed batteries to ensure it was not a power issue but still no input :(.
While my mother uses and used the power switch (I did teach her how to hold it for few minutes and then let it go) but for self, tried another thing. Using the mouse I logged of the session thinking perhaps some race condition or something might be in the session which was not letting the keystrokes be inputted into the system and having a new session might resolve it. But this was not to be
Luckily, on the screen you do have the option to reboot or power off. I did a reboot and lo, behold the system was able to input characters again. And this has happened time and again. I tried to find GOK and failed to remember that GOK had been retired. I looked up the accessibility page on Debian wiki. Very interesting, very detailed but sadly it did not and does not provide the backup I needed. I tried out florence but found that the app. is buggy.
Moreover, the instructions provided on the lightdm screen does not work. I do not get the on-screen keyboard while I followed the instructions. Just to be clear this is all on Debian testing which is gonna be Debian stable soonish
I even tried the same with xvkbd but no avail. I do use mate as my desktop-manager so maybe the instructions need some refinement ????
$ cat /etc/lightdm/lightdm-gtk-greeter.conf grep keyboard # a11y-states = states of accessibility features: name save state on exit, -name disabled at start (default value for unlisted), +name enabled at start. Allowed names: contrast, font, keyboard, reader. keyboard=xvkbd no-gnome focus & # keyboard-position = x y[;width height] ( 50%,center -0;50% 25% by default) Works only for onboard #keyboard=
Interestingly, Debian does provide two more on-screen keyboards, matchbox as well as onboard which comes from Ubuntu. While I have both of them installed. I find xvkbd to be enough for my work, the only issue seems to be I cannot get it from the drop-down box of accessibility at the login screen. Just to make sure that I have not gone to Gnome-display manager, I did run
$ sudo dpkg-reconfigure gdm3
Only to find out that I am indeed running lightdm. So I am a bit confused why it doesn t come up as an option when I have the login window/login manager running. FWIW I do run metacity as the window manager as it plays nice with all the various desktop environments I have, almost all of them.
So this is where I m stuck. If I do get any help, I probably would also add those instructions to the wiki page, so it would be convenient to the next person who comes with the same issue.
I also need to figure out some way to know whether there is some race-condition or something which is happening, have no clue how would I go about it without having whole lot of noise. I am sure there are others who may have more of an idea. FWIW, I did search unix.stackexchange as well as reddit/debian to see if I could see any meaningful posts but came up empty.
Freenode
I had not been using IRC for quite some time now. The reasons have been multiple issues with Riot (now element) taking the whole space on my desktop. I did get alerted to the whole thing about a week after the whole thing went down. Somebody messaged me DM. I *think* I put up a thread or a mini-thread about IRC or something in response to somebody praising telegram/WhatsApp or one of those apps. That probably triggered the DM.
It took me a couple of minutes to hit upon this. I was angry and depressed, seeing the behavior of the new overlords of freenode. I did see that lot of channels moved over to Libera.
It was also interesting to see that some communities were thinking of moving to some other obscure platform, which again could be held hostage to the same thing. One could argue one way or the other, but that would be tiresome and fact is any network needs lot of help to be grown and nurtured, whether it is online or offline.
I also saw that Libera was also using a software Solanum which is ircv3 compliant. Now having done this initial investigation, it was time to move to an IRC client. The Libera documentation is and was pretty helpful in telling which IRC clients would be good with their network. So I first tried hexchat. I installed it and tried to add Libera server credentials, it didn t work. Did see that they had fixed the bug in sid/unstable and now it s in testing. But at the time it was in sid, the bug-fixed and I wanted to have something which just ran the damn thing. I chanced upon quassel. I had played around with quassel quite a number of times before, so I knew I could play/use it. Hence, I installed it and was able to use it on the first try. I did use the encrypted server and just had to tweak some settings before I could use it with some help with their documentation. Although, have to say that even quassel upstream needs to get its documentation in order. It is just all over the place, and they haven t put any effort into streamlining the documentation, so that finding things becomes easier. But that can be said of many projects upstream.
There is one thing though that all of these IRC clients lack. The lack of a password manager. Now till that isn t fixed it will suck because you need another secure place to put your password/s. You either put it on your desktop somewhere (insecure) or store it in the cloud somewhere (somewhat secure but again need to remember that password), whatever you do is extra work. I am sure there will be a day when authenticating with Nickserv will be an automated task and people can just get on talking on channels and figuring out how to be part of the various communities. As can be seen, even now there is a bit of a learning curve for both newbies and people who know a bit about systems to get it working.
Now, I know there are a lot of things that need to be fixed in the anonymity, security place if I put that sort of hat. For e.g. wouldn t it be cool if either the IRC client or one of its add-on gave throwaway usernames and passwords. The passwords would be complex. This would make it easier who are paranoid about security and many do and would have. As an example we can see of Fuchs.
Now if the gentleman or lady is working in a professional capacity and would come to know of their real identity and perceive rightly or wrongly the role of that person, it will affect their career. Now, should it? I am sure a lot of people would be divided on the issue. Personally, as far as I am concerned, I would say no because whether right or wrong, whatever they were doing they were doing on their own time. Not on company time. So it doesn t concern the company at all. If we were to let companies police the behavior outside the time, individuals would be in a lot of trouble.
Although, have to say that is a trend that has been seen in companies that are firing people either on the left or right. A recent example that comes to mind is Emily Wilder who was fired by Associated Press. Interestingly, she was interviewed by Democracy now, and it did come out that she is a Jew. As can be seen and understood there is a lot of nuance to her story and not the way she was fired. It doesn t give a good taste in the mouth, but then getting fired nobody does. On few forums, people did share of people getting fired of their job because they were dancing (cops). Again, it all depends, for me again, hats off to anybody who feels like dancing or whatever because there are just so many depressing stories all around.
Banned and FOE
On few forums I was banned because I was talking about Brexit and American imperialism, both of which are seem to ruffle a few feathers in quite a few places. For instance, many people for obvious reasons do not like this video
Now I m sorry I am not able to and have not been able to give invidious links for the past few months. The reason being invidious itself went through some changes and the changes are good and bad. For e.g. now you need to share your google id with a third-party which at least to my mind is not a good idea. But that probably is another story altogether and it probably will need its own place.
Coming back to the video itself, this was shared by Anthony hazard and the Title is The Atlantic slave trade: What too few textbooks told you . I did see this video quite a few years ago and still find it hard to swallow that tens of millions of Africans were bought as slaves to the Americas, although to be fair it does start with the Spanish settlement in the land which would be called the U.S. but they bought slaves with themselves. They even got the American natives, i.e. people from different tribes which made up America at that point. One point to note is that U.S. got its independence on July 4, 1776 so all the people before that were called as European settlers for want of a better word. Some or many of these European settlers would be convicts who were sent from UK. But as shared in the article, that would only happen with U.S. itself is mature and open enough for that discussion. Going back to the original point though, these European or American settlers bought lot of slaves from Africa. The video does also shed some of the cruelty the Europeans or Americans did on the slaves, men and women in different ways. The most revelatory part though which I also forget many a times that because lot of people were taken from Africa and many of them men, it did lead to imbalances in the African societies not just in weddings but economics in general. It also developed a theory called Critical Race theory in which it tries to paint the Africans as an inferior race otherwise how would Christianity work where their own good book says All men are born equal .
That does in part explain why the African countries are still so far behind their European or American counterparts. But Africa can still be proud as they are richer than us, yup India. Sadly, I don t think America is ready to have that conversation anytime soon or if ever. And if it were to do, it would have to out-do any truth and reconciliation Committee which the world has seen. A mere apology or two would not just cut it. The problems of America sadly are not limited to just Africans but the natives of the land, for e.g. the Lakota people. In 1868, they put a letter stating we will give the land back to the Lakota people forever, but then the gold rush happened. In 2007, when the Lakota stated their proposal for independence, the U.S. through its force denied. So much for the paper, it was written on.
Now from what I came to know over the years, the American natives are called First nations . Time and time again the American Govt. has tried or been foul towards them. Some of the examples include The Yucca Mountain nuclear waste repository . The same is and was the case with The Keystone pipeline which is now dead. Now one could say that it is America s internal matter and I would fully agree but when they speak of internal matters of other countries, then we should have the same freedom.
But this is not restricted to just internal matters, sadly. Since the 1950 s i.e. the advent of the cold war, America s foreign policy made Regime changes all around the world. Sharing some of the examples from the Cold War
Iran 1953 Guatemala 1954 Democratic Republic of the Congo 1960 Republic of Ghana 1966 Iraq 1968 Chile 1973 Argentina 1976 Afghanistan 1978-1980s Grenada Nicaragua 1981-1990 1. Destabilization through CIA assets 2. Arming the Contras El Salvador 1980-92 Philippines 1986
Even after the Cold War ended the situation was anonymolus, meaning they still continued with their old behavior.
After the end of Cold War
Guatemala 1993 Serbia 2000 Iraq 2003- Afghanistan 2001 ongoing
There is a helpful Wikipedia article titled History of CIA which basically lists most of the covert regime changes done by U.S. The abvoe is merely a sub-set of the actions done by U.S.
Now are all the behaviors above of a civilized nation ? And if one cares to notice, one would notice that all the above countries in the list which had the regime change had either Oil or precious metals. So U.S. is and was being what it accuses China, a profiteer. But this isn t just the U.S. China story but more about the American abuse of its power.
My own country, India paid IMF loans till 1991 and we paid through the nose. There were economic sanctions against India. But then, this is again not just about U.S. India. Even with Europe or more precisely Norway which didn t want to side with America because their intelligence showed that no WMD were present in Iraq, the relationship still has issues.
Pandemic and the World
So I do find that this whole blaming of China by U.S. quite theatrical and full of double-triple standards. Very early during the debates, it came to light that the Spanish Flu actually originated in Kensas, U.S.
What was also interesting as I found in the Pentagon Papers much before The Watergate scandal came out that U.S. had realized that China would be more of a competitor than Russia. And this itself was in 1960 s itself. This shows the level of intelligence that the Americans had. From what I can recollect from whatever I have read of that era, China was still mostly an agri-based economy. So, how the U.S. was able to deduce that China will surpass other economies is beyond me even now. They surely must have known something that even we today do not.
One of the other interesting observations and understanding that I got while researching that every year we transfer an average of 7500 diseases from animal to humans and that should be a scary figure. I think more than anything else, loss of habitat and use of animals from food to clothing to medicine is probably the reason we are getting such diseases. I am also sure that there probably are and have been similar number of transfer of diseases from humans to animals as well but for well-known biases and whatnot those studies are neither done or are under-funded. There are and have been reports of something like 850,000 undiscovered viruses which various mammals and birds have.
Also I did find that most of such pandemics are hard to identify, for e.g. SARS 1 took about 15 years, Ebola we don t know till date from where it came. Even HIV has questions for us. Hell, even why does hearing go away is a mystery to us. In all of this, we want to say China is culpable. And while China may or may not be culpable, only time will tell, this is surely the opportunity for all countries to spend and make capacities in public health. Countries which will take lessons from it and improve their public healthcare models will hopefully will not suffer as those who will suffer and are continuing to suffer now
To those who feel that habitat loss of animals is untrue, I would suggest them to see Sherni which depicts the human/animal conflict in all its brutality. I am gonna warn in advance that the ending is not nice but what can you expect from a country in which forest area cover has constantly declined and the Govt. itself is only interested in headline management
The only positive story I can share from India is that finally the Modi Govt. has said we will do free vaccine immunization for everybody. Although the pace is nothing to write home about. One additional thing they relaxed was instead of going to Cowin or any other portal, people could simply walk in using their identity papers. Although, given the pace of vaccinations, it is going to take anywhere between 13-18 months or more depending on availability of vaccines.
Looking forward to all and any replies have a virtual keyboard, preferably xvkbd as that is good enough for my use-case.
Linux-Fan and Schweer have just left us: Schweer has confirmed that all the Debian-Edu images are fine and working to his satisfaction. After a short break for food, we're all back in on testing: the Cambridge folks are working hard. There have been questions on IRC about the release in Libera.Chat as well. Always good to do this: at some point in the next couple of months, we'll be doing this for Debian 11 [Bullseye] :)Thanks as ever to all behind the scenes making each point release happen and to those folks supporting LTS and ELTS. It takes a huge amount of bug fixing, sometimes on the fly as issues are discovered, to make it work this seamlessly.
"Again, we see there is nothing you can possess which I cannot take away."
The cinema was a rare and expensive treat in my youth, so I first came across Raiders of the Lost Ark by recording it from television onto a poor quality VHS. I only mention this as it meant I watched a slightly different film to the one intended, as my copy somehow missed off the first 10 minutes. For those not as intimately familiar with the film as me, this is just in time to see a Belloq demand Dr. Jones hand over the Peruvian head (see above), just in time to learn that Indy loathes snakes, and just in time to see the inadvertent reproduction of two Europeans squabbling over the spoils of a foreign land.
What this truncation did to my interpretation of the film (released thirty years ago today on June 19th 1981) is interesting to explore. Without Jones' physical and moral traits being demonstrated on-screen (as well as missing the weighing the gold head and the rollercoaster boulder scene), it actually made the idea of 'Indiana Jones' even more of a mythical archetype. The film wisely withholds Jones' backstory, but my directors cut deprived him of even more, and counterintuitively imbued him with even more of a legendary hue as the elision made his qualities an assumption beyond question. Indiana Jones, if you can excuse the clich , needed no introduction at all.
Good artists copy, great artists steal. And oh boy, does Raiders steal. I've watched this film about twenty times over the past two decades and it's now firmly entered into my personal canon. But watching it on its thirtieth anniversary was different not least because I could situate it in a broader cinematic context. For example, I now see the Gestapo officer in Major Strasser from Casablanca (1942), in fact just as I can with many of Raiders' other orientalist tendencies: not only in its breezy depictions of backwards sand people, but also of North Africa as an entrep t and playground for a certain kind of Western gangster. The opening as well, set in an equally reductionist pseudo-Peru, now feels like Werner Herzog's Aguirre, the Wrath of God (1972) but without, of course, any self-conscious colonial critique.
The imagery of the ark appears to be borrowed from James Tissot's The Ark Passes Over the Jordan, part of the fin de siecle fascination with the occult and (ironically enough given the background of Raiders' director), a French Catholic revival.
I can now also appreciate some of the finer edges that make this film just so much damn fun to watch. For instance, the comic book conceit that Jones and Belloq are a 'shadowy reflection' of one other and that they need 'only a nudge' to make one like the other. As is the idea that Belloq seems to be actually enjoying being evil. I also spotted Jones rejecting the martini on the plane. This feels less like a comment on corrupting effect of alcohol (he drinks rather heavily elsewhere in the film), but rather a subtle distancing from James Bond. This feels especially important given that the action-packed cold open is, let us be honest for a second, ripped straight from the 007 franchise.
John William's soundtracks are always worth mentioning. The corny Raiders March does almost nothing for me, but the highly-underrated 'Ark theme' certainly does. I delight in its allusions to Gregorian chant, the diabolus in musica and the Hungarian minor scale, fusing the Christian doctrine of the Holy Trinity (the stacked thirds, get it?), the ars antiqua of the Middle Ages with an 'exotic' twist that the Russian Five associated with central European Judaism.
The best use of the ark leitmotif is, of course, when it is opened. Here, Indy and Marion are saved by not opening their eyes whilst the 'High Priest' Belloq and the rest of the Nazis are all melted away. I'm no Biblical scholar, but I'm almost certain they were alluding to Leviticus 16:2 here:
The Lord said to Moses: Tell your brother Aaron that he is not to come whenever he chooses into the Most Holy Place behind the curtain in front of the atonement cover on the ark, or else he will die, for I will appear in the cloud above the mercy seat.
But would it be too much of a stretch to also see the myth of Orpheus and Eurydices too? Orpheus's wife would only be saved from the underworld if he did not turn around until he came to his own house. But he turned round to look at his wife, and she instantly slipped back into the depths:
For he who overcome should turn back his gaze
Towards the Tartarean cave,
Whatever excellence he takes with him
He loses when he looks on those below.
Perhaps not, given that Marion and the ark are not lost in quite the same way. But whilst touching on gender, it was interesting to update my view of archaeologist Ren Belloq. To countermand his slight queer coding (a trope of Disney villains such as Scar, Jafar, Cruella, etc.), there is a rather clumsy subplot involving Belloq repeatedly (and half-heartedly) failing to seduce Marion. This disavows any idea that Belloq isn't firmly heterosexual, essential for the film's mainstream audience, but it is especially important in Raiders because, if we recall the relationship between Belloq and Jones: 'it would take only a nudge to make you like me'. (This would definitely put a new slant on 'Top men'.)
However, my favourite moment is where the Nazis place the ark in a crate in order to transport it to the deserted island. On route, the swastikas on the side of the crate spontaneously burn away, and a disturbing noise is heard in the background. This short scene has always fascinated me, partly because it's the first time in the film that the power of the ark is demonstrated first-hand but also because gives the object an other-worldly nature that, to the best of my knowledge, has no parallel in the rest of cinema.
Still, I had always assumed that the Aak disfigured the swastikas because of their association with the Nazis, interpreting the act as God's condemnation of the Third Reich. But now I catch myself wondering whether the ark would have disfigured any iconography as a matter of principle or whether their treatment was specific to the swastika. We later get a partial answer to this question, as the 'US Army' inscriptions in the Citizen Kane warehouse remain untouched.
Far from being an insignificant concern, the filmmakers appear to have wandered into a highly-contested theological debate. As in, if the burning of the swastika is God's moral judgement of the Nazi regime, then God is clearly both willing and able to intervene in human affairs. So why did he not, to put it mildly, prevent Auschwitz? From this perspective, Spielberg appears to be limbering up for some of the academic critiques surrounding Holocaust representations that will follow Schindler's List (1993).
Given my nostalgic and somewhat ironic attachment to Raiders, it will always be difficult for me to objectively appraise the film. Even so, it feels like it is underpinned by an earnest attempt to entertain the viewer, largely absent in the affected cynicism of contemporary cinema. And when considered in the totality of Hollywood's output, its tonal and technical flaws are not actually that bad or at least Marion's muddled characterisation and its breezy chauvinism (for example) clearly have far worse examples.
Perhaps the most remarkable thing about the film in 2021 is that it hasn't changed that much at all. It spawned one good sequel (The Last Crusade), one bad one (The Temple of Doom), and one hardly worth mentioning at all, yet these adventures haven't affected the original Raiders in any meaningful way. In fact, if anything has affected the original text it is, once again, George Lucas himself, as knowing the impending backlash around the Star Wars prequels adds an inadvertent paratext to all his earlier works.
Yet in a 1978 discussion prior to the creation of Raiders, you can get a keen sense of how Lucas' childlike enthusiasm will always result in something either extremely good or something extremely bad somehow no middle ground is quite possible. Yes, it's easy to rubbish his initial ideas 'We'll call him Indiana Smith! but hasn't Lucas actually captured the essence of a heroic 'Americana' here, and that the final result is simply a difference of degree, not kind?
"Again, we see there is nothing you can possess which I cannot take away."
The cinema was a rare and expensive treat in my youth, so I first came across Raiders of the Lost Ark by recording it from television onto a poor quality VHS. I only mention this as it meant I watched a slightly different film to the one intended, as my copy somehow missed off the first 10 minutes. For those not as intimately familiar with the film as me, this is just in time to see a Belloq demand Dr. Jones hand over the Peruvian head (see above), just in time to learn that Indy loathes snakes, and just in time to see the inadvertent reproduction of two Europeans squabbling over the spoils of a foreign land.
What this truncation did to my interpretation of the film (released thirty years ago today on June 19th 1981) is interesting to explore. Without Jones' physical and moral traits being demonstrated on-screen (as well as missing the weighing the gold head and the rollercoaster boulder scene), it actually made the idea of 'Indiana Jones' even more of a mythical archetype. The film wisely withholds Jones' backstory, but my directors cut deprived him of even more, and counterintuitively imbued him with even more of a legendary hue as the elision made his qualities an assumption beyond question. Indiana Jones, if you can excuse the clich , needed no introduction at all.
Good artists copy, great artists steal. And oh boy, does Raiders steal. I've watched this film about twenty times over the past two decades and it's now firmly entered into my personal canon. But watching it on its thirtieth anniversary was different not least because I could situate it in a broader cinematic context. For example, I now see the Gestapo officer in Major Strasser from Casablanca (1942), in fact just as I can with many of Raiders' other orientalist tendencies: not only in its breezy depictions of backwards sand people, but also of North Africa as an entrep t and playground for a certain kind of Western gangster. The opening as well, set in an equally reductionist pseudo-Peru, now feels like Werner Herzog's Aguirre, the Wrath of God (1972) but without, of course, any self-conscious colonial critique.
The imagery of the ark appears to be borrowed from James Tissot's The Ark Passes Over the Jordan, part of the fin de siecle fascination with the occult and (ironically enough given the background of Raiders' director), a French Catholic revival.
I can now also appreciate some of the finer edges that make this film just so much damn fun to watch. For instance, the comic book conceit that Jones and Belloq are a 'shadowy reflection' of one other and that they need 'only a nudge' to make one like the other. As is the idea that Belloq seems to be actually enjoying being evil. I also spotted Jones rejecting the martini on the plane. This feels less like a comment on corrupting effect of alcohol (he drinks rather heavily elsewhere in the film), but rather a subtle distancing from James Bond. This feels especially important given that the action-packed cold open is, let us be honest for a second, ripped straight from the 007 franchise.
John William's soundtracks are always worth mentioning. The corny Raiders March does almost nothing for me, but the highly-underrated 'Ark theme' certainly does. I delight in its allusions to Gregorian chant, the diabolus in musica and the Hungarian minor scale, fusing the Christian doctrine of the Holy Trinity (the stacked thirds, get it?), the ars antiqua of the Middle Ages with an 'exotic' twist that the Russian Five associated with central European Judaism.
The best use of the ark leitmotif is, of course, when it is opened. Here, Indy and Marion are saved by not opening their eyes whilst the 'High Priest' Belloq and the rest of the Nazis are all melted away. I'm no Biblical scholar, but I'm almost certain they were alluding to Leviticus 16:2 here:
The Lord said to Moses: Tell your brother Aaron that he is not to come whenever he chooses into the Most Holy Place behind the curtain in front of the atonement cover on the ark, or else he will die, for I will appear in the cloud above the mercy seat.
But would it be too much of a stretch to also see the myth of Orpheus and Eurydices too? Orpheus's wife would only be saved from the underworld if he did not turn around until he came to his own house. But he turned round to look at his wife, and she instantly slipped back into the depths:
For he who overcome should turn back his gaze
Towards the Tartarean cave,
Whatever excellence he takes with him
He loses when he looks on those below.
Perhaps not, given that Marion and the ark are not lost in quite the same way. But whilst touching on gender, it was interesting to update my view of archaeologist Ren Belloq. To countermand his slight queer coding (a trope of Disney villains such as Scar, Jafar, Cruella, etc.), there is a rather clumsy subplot involving Belloq repeatedly (and half-heartedly) failing to seduce Marion. This disavows any idea that Belloq isn't firmly heterosexual, essential for the film's mainstream audience, but it is especially important in Raiders because, if we recall the relationship between Belloq and Jones: 'it would take only a nudge to make you like me'. (This would definitely put a new slant on 'Top men'.)
However, my favourite moment is where the Nazis place the ark in a crate in order to transport it to the deserted island. On route, the swastikas on the side of the crate spontaneously burn away, and a disturbing noise is heard in the background. This short scene has always fascinated me, partly because it's the first time in the film that the power of the ark is demonstrated first-hand but also because gives the object an other-worldly nature that, to the best of my knowledge, has no parallel in the rest of cinema.
Still, I had always assumed that the Aak disfigured the swastikas because of their association with the Nazis, interpreting the act as God's condemnation of the Third Reich. But now I catch myself wondering whether the ark would have disfigured any iconography as a matter of principle or whether their treatment was specific to the swastika. We later get a partial answer to this question, as the 'US Army' inscriptions in the Citizen Kane warehouse remain untouched.
Far from being an insignificant concern, the filmmakers appear to have wandered into a highly-contested theological debate. As in, if the burning of the swastika is God's moral judgement of the Nazi regime, then God is clearly both willing and able to intervene in human affairs. So why did he not, to put it mildly, prevent Auschwitz? From this perspective, Spielberg appears to be limbering up for some of the academic critiques surrounding Holocaust representations that will follow Schindler's List (1993).
Given my nostalgic and somewhat ironic attachment to Raiders, it will always be difficult for me to objectively appraise the film. Even so, it feels like it is underpinned by an earnest attempt to entertain the viewer, largely absent in the affected cynicism of contemporary cinema. And when considered in the totality of Hollywood's output, its tonal and technical flaws are not actually that bad or at least Marion's muddled characterisation and its breezy chauvinism (for example) clearly have far worse examples.
Perhaps the most remarkable thing about the film in 2021 is that it hasn't changed that much at all. It spawned one good sequel (The Last Crusade), one bad one (The Temple of Doom), and one hardly worth mentioning at all, yet these adventures haven't affected the original Raiders in any meaningful way. In fact, if anything has affected the original text it is, once again, George Lucas himself, as knowing the impending backlash around the Star Wars prequels adds an inadvertent paratext to all his earlier works.
Yet in a 1978 discussion prior to the creation of Raiders, you can get a keen sense of how Lucas' childlike enthusiasm will always result in something either extremely good or something extremely bad somehow no middle ground is quite possible. Yes, it's easy to rubbish his initial ideas 'We'll call him Indiana Smith! but hasn't Lucas actually captured the essence of a heroic 'Americana' here, and that the final result is simply a difference of degree, not kind?
Last Thursday was my last working day at DFINITY. There are various reasons why I felt that after almost three years the DFINITY Foundation isn t quite the right place for me anymore, and this plan has been in the making for a while. Primarily, there are personal pull factors that strongly suggest that I ll take a break from full time employment, so I decided to see the launch of the Internet Computer through and then leave.
DFINITY has hired some amazing people, and it was a great pleasure to work with them. I learned a lot (some Rust, a lot of Nix, and just how merciless Conway s law is), and I dare say I had the opportunity to do some good work, contributing my part to make the Internet Computer a reality.
I am especially proud of the Interface Specification and the specification-driven design principles behind it. It even comes with a model reference implementation and acceptance test suite, and although we didn t quite get to do formalization, those familiar with the DeepSpec project will recognize some influence of their concept of deep specifications .
Besides that, there is of course my work on the Motoko programming language, where I build the backend,a the Candid interoperability layer, where I helped with the formalism, formulated the a generic soundness criterion for Interface Description Languages in a higher order settings and formally verified that in Coq. Fortunately, all of this work is now Free Software or at least Open Source.
With so much work poured into this project, I continue to care about it, and you ll see me post on the the developer forum and hack on Motoko. As the Internet Computer becomes gradually more open, I hope I can be gradually more involved again. But even without me contributing full-time I am sure that DFINITY and the Internet Computer will do well; when I left there were still plenty of smart, capable and enthusiastic people forging ahead.
So what s next?
So far, I have rushed every professional transition in my life: When starting my PhD, when starting my postdoc, when starting my job at DFINITY, and every time I regretted it. So this time, I will take a proper break and will explore the world a bit (as far as that is possible given the pandemic). I will stresslessly contribute to various open source projects. I also hope to do more public outreach and teaching, writing more blog posts again, recording screencasts and giving talks and lectures. If you want to invite me to your user group/seminar/company/workshop, please let me know! Also, I might be up for small interesting projects in a while.
Beyond these, I have no concrete plans and am looking forward to the inspiration I might get from hiking through the Scandinavian wilderness. If you happen to stumble across my tent, please stop for a tea.
Every couple of months, one of my users falls prey to phishing
attacks, and send their login/password data to an unknown somebody
who poses as Well, as me, their always-friendly and always-helpful
systems administrator.
What follows is, of course, me spending a week trying to get our
systems out of all of the RBLs/DNSBLs. But, no matter how fast I act,
there s always distruption and lost mails (bounced or classified as
spam) for my users.
Most of my users use the Webmail I have configured on our institute s
servers, Roundcube, for which I have the
highest appreciation. Only that Of course, when a user yields their
username and password to an attacker, it is very successful
at Sending huge amounts of unrequested mail, leading to my server
losing its reputation
This week, I set two bits of mitigation strategies. The first one,
most straightforward, was to ask Roundcube to disallow sending mails
with over ten recipients. In a Debian install, this is as easy as
setting up the following variable in /etc/roundcube/config.inc.php:
$config['max_recipients'] = 10
However, a dilligent spammer can still clog the server by sending
many, many, many, many requests maybe each of them with ten
recipients only; last weekend, I got a new mail every three seconds or
so.
Adding rate limit to a specific Roundcube action is not easy,
however, or at least it took me quite a bit of headbanging to get it
right . Roundcube is a very AJAX-y system where all (most, at least)
actions are received by /index.php and there is quite a bit of
parsing to do to understand the actions done. When sending a mail, of
course, it is done using the POST HTTP verb, and the URI-specified
variables include _task=mail&_unlock=loading<message_id> (of course,
with changing message IDs).
After some poking here and there, I faced to SpiderLabs
ModSecurity Only
that I am not yet well versed in writing rules for it. But after quite
a bit of reading, poking, breaking I was able to come up with the
following rules:
# How often does the limit counter expire ratelimit_client=60,
# every 60 seconds
SecRule REQUEST_LINE "@rx POST.*_task=mail&_unlock" id:10,phase:2,nolog,pass,setuid:% tx.ua_hash ,setvar:user.ratelimit_client=+1,expirevar:user.ratelimit_client=60
# How many requests do we allow in the specified time period?
# @gt 3, 3 requests
SecRule user:ratelimit_client "@gt 2" chain,id:100009,phase:2,deny,status:429,setenv:RATELIMITED,log,msg:RATE-LIMITED
SecRule REQUEST_LINE "@rx POST.*_task=mail&_unlock"
The first line specifies the rule will match request lines specifying
the POST verb aind including the _task=mail&_unlock fragment in the
URL. It increments tht ratelimit_client user variable, but expires
it after 60 seconds.
The first line verifies whether the above specified variable (do note
that it s user: instead of user.) is greater than 2. If so, it
sets the deny action, HTTP return status of 429 (Too Many
Requests), and logs the reason why this request was denied
(rate-limited).
And Given the way Roundcube works, this even works transparently!
If a user hits the limit, the mail sending component will just wait
and, after a while, time out. Then, the user can click Send
again. If legitimate users are too productive and try to send over
three mails in a minute, they won t lose any of it; spammers will
(hopefully!) find it unbearably slow and give up.
Logging is quite informative; I will probably later restrict it to
show fewer parts (even if just for privacy sake, as it logs the full
request!) For a complex permissions framework such as mod_security,
having information such as the following is most welcome in order to
find a possibly misbehaving rule:
Like each month, have a look at the work funded by Freexian s Debian LTS offering.
Debian project funding
In May, we again put aside 2100 EUR to fund Debian projects. There was no proposals for new projects received, thus we re looking forward to receive more projects from various Debian teams! Please do not hesitate to submit a proposal, if there is a project that could benefit from the funding!
We re looking forward to receive more projects from various Debian teams! Learn more about the rationale behind this initiative in this article.
Debian LTS contributors
In May, 12 contributors have been paid to work on Debian LTS, their reports are available:
Abhijith PA did 7.0h (out of 14h assigned and 12h from April), thus carrying over 19h to June.
Evolution of the situation
In May we released 33 DLAs and mostly skipped our public IRC meeting and the end of the month. In June we ll have another team meeting using video as lined out on our LTS meeting page. Also, two months ago we announced that Holger would step back from his coordinator role and today we are announcing that he is back for the time being, until a new coordinator is found. Finally, we would like to remark once again that we are constantly looking for new contributors. Please contact Holger if you are interested!
The security tracker currently lists 41 packages with a known CVE and the dla-needed.txt file has 21 packages needing an update.
Thanks to our sponsors
Sponsors that joined recently are in bold.
A while back there was a thread on one of our company mailing lists about
SSH quoting, and I posted a long answer to it. Since then a few people have
asked me questions that caused me to reach for it, so I thought it might be
helpful if I were to anonymize the original question and post my answer here.
The question was why a sequence of commands involving ssh and fiddly
quoting produced the output they did. The first example was this:
Oh hi, my dubious life choices have been such that this is my specialist subject!
This is because SSH command-line parsing is not quite what you expect.
First, recall that your local shell will apply its usual parsing, and the
actual OS-level execution of ssh will be like this:
Now, the SSH wire protocol only takes a single string as the command, with
the expectation that it should be passed to a shell by the remote end. The
OpenSSH client deals with this by taking all its arguments after things like
options and the target, which in this case are:
[0]: bash
[1]: -lc
[2]: cd /tmp;pwd
It then joins them with a single space:
bash -lc cd /tmp;pwd
This is passed as a string to the server, which then passes that entire
string to a shell for evaluation, so as if you d typed this directly on the server:
sh -c 'bash -lc cd /tmp;pwd'
The shell then parses this as two commands:
bash -lc cd /tmp
pwd
The directory change thus happens in a subshell (actually it doesn t quite
even do that, because bash -lc cd /tmp in fact ends up just calling cd
because of the way bash -c parses multiple arguments), and then that
subshell exits, then pwd is called in the outer shell which still has the
original working directory.
The second example was this:
Now, I wouldn t have implemented the SSH client this way, because I agree
that it s confusing. But /usr/bin/ssh is used as a transport for other
things so much that changing its behaviour now would be enormously
disruptive, so it s probably impossible to fix. (I have occasionally
agitated on openssh-unix-dev@ for at least documenting this better, but
haven t made much headway yet; I need to get round to preparing a
documentation patch.) Once you know about it you can use the proper
quoting, though. In this case that would simply be:
ssh user@machine.local 'cd /tmp;pwd'
Or if you do need to specifically invoke bash -l there for some reason
(I m assuming that the original example was reduced from something more
complicated), then you can minimise your confusion by passing the whole
thing as a single string in the form you want the remote sh -c to see, in
a way that ensures that the quotes are preserved and sent to the server
rather than being removed by your local shell:
I built my last desktop computer what seems like ages ago. In 2011, I was in a
very different place, both financially and as a person. At the time, I was
earning minimum wage at my school's caf to pay rent. Since the caf was owned
by the school cooperative, I had an employee discount on computer parts. This
gave me a chance to build my first computer from spare parts at a reasonable
price.
After 10 years of service1, the time has come to upgrade. Although this
machine was still more than capable for day to day tasks like browsing the web
or playing casual video games, it started to show its limits when time came to
do more serious work.
Old computer specs:
I first started considering an upgrade in September 2020: David Bremner was
kindly fixing a bug in ledger that kept me from balancing my books
and since it seemed like a class of bug that would've been easily caught by an
autopkgtest, I decided to add one.
After adding the necessary snippets to run the upstream testsuite (an easy task
I've done multiple times now), I ran sbuild and ... my computer froze and
crashed. Somehow, what I thought was a simple Python package was maxing all the
cores on my CPU and using all of the 8GB of memory I had available.2
A few month later, I worked on jruby and the builds took 20 to 30 minutes
long enough to completely disrupt my flow. The same thing happened when I
wanted to work on lintian: the testsuite would take more than 15 minutes to
run, making quick iterations impossible.
Sadly, the pandemic completely wrecked the computer hardware market and prices
here in Canada have only recently started to go down again. As a result, I had
to wait more time than I would've liked not to pay scalper prices.
New computer specs:
The difference between the two machines is pretty staggering: I've gone from a
CPU with 2 cores and 8 threads, to one with 12 cores and 24 threads. Not only
that, but single-threaded performance has also vastly increased in those 10
years.
A good example would be building grammalecte, a package I've recently
sponsored. I feel it's a good benchmark, since the build relies
on single-threaded performance for the normal Python operations, while being
threaded when it compiles the dictionaries.
On the old computer:
Build needed 00:10:07, 273040k disk space
And as you can see, on the new computer the build time has been significantly
reduced:
Build needed 00:03:18, 273040k disk space
Same goes for things like the lintian testsuite. Since it's a very
multi-threaded workload, it now takes less than 2 minutes to run; a 750%
improvement.
All this to say I'm happy with my purchase. And lo and behold I can now
build ledger without a hitch, even though it maxes my 24 threads and uses 28GB
of RAM. Who would've thought...
I managed to fry that PC's motherboard in 2016 and later replaced it with
a brand new one. I also upgraded the storage along the way, from a very cheap
cacheless 120GB SSD to a larger Samsung 850 EVO SATA drive.
As it turns out, ledger is mostly written in C++ :)
I'm writing up a PhD deliverable (which will show up here eventually) using
LaTeX, which is my preferred tool for such things, since I also use it for
papers, and will eventually be using it for my thesis itself. For this last
document, I experimented with a few packages and techniques for organising the
document which I found useful, so I thought I'd share them.
What version is this anyway?
I habitually store and develop my documents in git repositories. From time to
time I generate a PDF and copy it off elsewhere to review (e.g., an iPad).
Later on it can be useful to be able to figure out exactly what source built
the PDF. I achieve this using
And \version\ somewhere in the header of the document.
Draft mode
The common document classes all accept a draft argument, to enable Draft
Mode.
\documentclass[12pt,draft] article
Various other packages behave differently if Draft Mode is enabled. The
graphicx package, for example, doesn't actually draw pictures in draft
mode, which I don't find useful. So for that package, I force it to behave
as if we were in "Final Mode" at all times:
\usepackage[final] graphicx
I want to also include some different bits and pieces in Draft Mode. Although
the final version won't need it, I find having a Table of Contents very helpful
during the writing process. The ifdraft package adds a convenience macro to
query whether we are in draft or not. I use it like so:
\ifdraft
This page will be cut from the final report.
\tableofcontents
\newpage
For this document, I have been given the section headings I must use and the
number of pages each section must run to. When drafting, I want to include the
page budget in the section names (e.g. Background (2 pages)).
I also force new pages at the beginning of each Section, to make it easier to
see how close I am to each section's page budget.
\ifdraft \newpage
\section Work completed\ifdraft (1 page) % 1 Page
todonotes
Two TODO items in the margin
Collated TODOs in a list
The todonotes package package is one of many that offers macros to make managing
in-line TODO notes easier. Within the source of my document, I can add a TODO
right next to the relevant text with \todo something to do . In the document,
by default, this is rendered in the right-hand margin. With the right argument,
the package will only render the notes in draft mode.
\usepackage[textsize=small,obeyDraft] todonotes
todonotes can also collate
all the TODOs together into a single list. The list items are hyperlinked back
to the page where the relevant item appears.
\ifdraft
\newpage
\section TODO
This page will be cut from the final report.
\listoftodos
Stoneskin is a prequel to the Deep Witches Trilogy, which is why I
have it marked as book 0 of the series. Unlike most prequels, it was
written and published before the series and there doesn't seem to be any
reason not to read it first.
Tembi Moon is an eight-year-old girl from the poor Marumaru area on the
planet of Adhama. Humanity has spread to the stars and first terraformed
the worlds and then bioformed themselves to live there. The differences
are subtle, but Tembi's skin becomes thicker and less sensitive when
damaged (either physically or emotionally) and she can close her ears
against dust storms. One day, she wakes up in an unknown alley and finds
herself on the world of Miha'ana, sixteen thousand light-years away, where
she is rescued and brought home by a Witch named Matindi.
In this science fiction future, nearly all interstellar travel is done
through the Deep. The Deep is not like the typical hand-waved science
fiction subspace, most notably in that it's alive. No one is entirely
sure where it came from or what sort of creature it is. It sometimes
manages to communicate in words, but abstract patterns with feelings
attached are more common, and it only communicates with specific people.
Those people are Witches, who are chosen by the Deep via some criteria no
one understands. Witches can use the Deep to move themselves or anything
else around the galaxy. All interstellar logistics rely on them.
The basics of Tembi's story are not that unusual; she's been chosen by the
Deep to be a Witch. What is remarkable is that she's young and she's
poor, completely disconnected from the power structures of the galaxy.
But, once chosen, her path as far as the rest of the galaxy is concerned
is fixed: she will go to Lancaster to be trained as a Witch. Matindi is
able to postpone this for a time by keeping an eye on her, but not
forever.
I bought this book because of the idea of the Deep, and that is indeed the
best part of the book. There is a lot of mystery about its exact nature,
most of which is not resolved in this book, but it mostly behaves like a
giant and extremely strange dog, and it's awesome. Replacing the various
pseudo-scientific explanations for faster than light travel with
interactions with a dream-weird giant St. Bernard with too many paws that
talks in swirls of colored bubbles and is very eager to please its friends
is brilliant.
This book covers a lot of years of Tembi's life and is, as advertised, a
prelude to a story that is not resolved here. It's a coming of age story
in which she does eventually end up at Lancaster, learns and chafes at the
elaborate and very conservative structures humans have put in place to try
to make interactions with the Deep predictable and reliable, and
eventually gets drawn into the politics of war and the question of when
people have a responsibility to intervene. Tembi, and the reader, also
have many opportunities to get extremely upset at how the Deep is treated
and how much entitlement the Witches have about their access and control,
although how the Deep feels about it is left for a future book.
Not all of this story is as good as the premise. There are some standard
coming of age tropes that I'm not fond of, such as Tembi's predictable
temporary falling out with the Deep (although the Deep's reaction is
entertaining). It's also not at all a complete story, although that's
clearly signaled by the subtitle. But as an introduction to the story
universe and an extended bit of scene-setting, it accomplishes what it
sets out to do. It's also satisfyingly thoughtful about the moral
trade-offs around stability and the value of preserving institutions. I
know which side I'm on within the universe, but I appreciated how much
nuance and thoughtfulness Spangler puts into the contrary opinion.
I'm hooked on the universe and want to learn more about the Deep, enough
so that I've already bought the first book of the main trilogy.
Followed by The Blackwing War.
Rating: 7 out of 10
The Horse and His Boy was the fifth published book in the
Chronicles of Narnia, but it takes place during the last chapter of
The Lion, the Witch and the Wardrobe, in
the midst of the golden age of Narnia. It's the only true side story of
the series and it doesn't matter much where in sequence you read it, as
long as it's after The Lion, the Witch and the Wardrobe and before
The Last Battle (which would spoil its ending somewhat).
MAJOR SPOILERS BELOW.
The Horse and His Boy is also the only book of the series that is
not a portal fantasy. The Pevensie kids make an appearance, but as the
ruling kings and queens of Narnia, and only as side characters. The
protagonists are a boy named Shasta, a girl named Aravis, and horses named
Bree and Hwin. Aravis is a Calormene, a native of the desert (and
extremely Orientalist, but more on that later) kingdom to the south of
Narnia and Archenland. Shasta starts the book as the theoretically
adopted son but mostly slave of a Calormene fisherman. The Horse
and His Boy is the story of their journey from Calormen north to
Archenland and Narnia, just in time to defend Narnia and Archenland from
an invasion.
This story starts with a great hook. Shasta's owner is hosting a passing
Tarkaan, a Calormene lord, and overhears a negotiation to sell Shasta to
the Tarkaan as his slave (and, in the process, revealing that he rescued
Shasta as an infant from a rowboat next to a dead man). Shasta starts
talking to the Tarkaan's horse and is caught by surprise when the horse
talks back. He is a Talking Horse from Narnia, kidnapped as a colt, and
eager to return to Narnia and the North. He convinces Shasta to attempt
to escape with him.
This has so much promise. For once, we're offered a story where one of
the talking animals of Narnia is at least a co-protagonist and has some
agency in the story. Bree takes charge of Shasta, teaches him to ride
(or, mostly, how to fall off a horse), and makes most of the early plans.
Finally, a story that recognizes that Narnia stories don't have to revolve
around the humans!
Unfortunately, Bree is an obnoxious, arrogant character. I wanted to like
him, but he makes it very hard. This gets even worse when Shasta is
thrown together with Aravis, a noble Calormene girl who is escaping an
arranged marriage on her own talking mare, Hwin. Bree is a warhorse, Hwin
is a lady's riding mare, and Lewis apparently knows absolutely nothing
about horses, because every part of Bree's sexist posturing and Hwin's
passive meekness is awful and cringe-worthy. I am not a horse person, so
will link to
Judith Tarr's much more knowledgeable critique at Tor.com, but suffice
it to say that mares are not meekly deferential or awed by
stallions. If Bree had behaved that way with a real mare, he would have
gotten the crap beaten out of him (which might have improved his attitude
considerably). As is, we have to put up with rather a lot of Bree's
posturing and Hwin (who I liked much better) barely gets a line and acts
disturbingly like she was horribly abused.
This makes me sad, because I like Bree's character arc. He's spent his
whole life being special and different from those around him, and while he
wants to escape this country and return home, he's also gotten used to
being special. In Narnia, he will just be a normal talking horse. To get
everything else he wants, he also has to let go of the idea that he's
someone special. If Lewis had done more with this and made Bree a more
sympathetic character, this could have been very effective. As written,
it only gets a few passing mentions (mostly via Bree being weirdly
obsessed with whether talking horses roll) and is therefore overshadowed
by Shasta's chosen one story and Bree's own arrogant behavior.
The horses aside, this is a passable adventure story with some well-done
moments. The two kids and their horses end up in Tashbaan, the huge
Calormene capital, where they stumble across the Narnians and Shasta is
mistaken for one of their party. Radagast, the prince of Calormen, is
proposing marriage to Susan, and the Narnians are in the process of
realizing he doesn't plan to take no for an answer. Aravis, meanwhile,
has to sneak out of the city via the Tisroc's gardens, which results in
her hiding behind a couch as she hears Radagast's plans to invade
Archenland and Narnia to take Susan as his bride by force. Once reunited,
Shasta, Aravis, and the horses flee across the desert to bring warning to
Archenland and then Narnia.
Of all the Narnia books, The Horse and His Boy leans the hardest
into the personal savior angle of Christianity. Parts of it, such as
Shasta's ride over the pass into Narnia, have a strong
"Footprints" feel
to them. Most of the events of the book are arranged by Aslan, starting
with Shasta's early life. Readers of the series will know this when a
lion shows up early to herd the horses where they need to go, or when a
cat keeps Shasta company in the desert and frightens away jackals. Shasta
only understands near the end.
I remember this being compelling stuff as a young Christian reader. This
personal attention and life shaping from God is pure Christian wish
fulfillment of the "God has a plan for your life" variety, even more so
than Shasta turning out to be a lost prince. As an adult re-reader, I can
see that Lewis is palming the
theodicy card rather
egregiously. It's great that Aslan was making everything turn out well in
the end, but why did he have to scare the kids and horses half to death in
the process? They were already eager to do what he wanted, but it's
somehow inconceivable that Aslan would simply tell them what to do rather
than manipulate them. There's no obvious in-story justification why he
couldn't have made the experience much less terrifying. Or, for that
matter, prevented Shasta from being kidnapped as an infant in the first
place and solved the problem of Radagast in a more direct way. This sort
of theology takes as an unexamined assumption that a deity must refuse to
use his words and instead do everything in weirdly roundabout and
mysterious ways, which makes even less sense in Narnia than in our world
given how directly and straightforwardly Aslan has acted in previous
books.
It was also obvious to me on re-read how unfair Lewis's strict gender
roles are to Aravis. She's an excellent rider from the start of the book
and has practiced many of the things Shasta struggles to do, but Shasta is
the boy and Aravis is the girl, so Aravis has to have girl adventures
involving tittering princesses, luxurious baths, and eavesdropping behind
couches, whereas Shasta has boy adventures like riding to warn the king or
bringing word to Narnia. There's nothing very objectionable about Shasta
as a character (unlike Bree), but he has such a generic character arc.
The Horse and Her Girl with Aravis and Hwin as protagonists would
have been a more interesting story, and would have helpfully complicated
the whole Narnia and the North story motive.
As for that storyline, wow the racism is strong in this one, starting with
the degree that The Horse and His Boy is deeply concerned with
people's skin color. Shasta is white, you see, clearly marking him as
from the North because all the Calormenes are dark-skinned. (This makes
even less sense in this fantasy world than in our world because it's
strongly implied in The Magician's Nephew that all the humans in
Calormen came from Narnia originally.) The Calormenes all talk like
characters from bad translations of the Arabian Nights and are shown as
cruel, corrupt slavers with a culture that's a Orientalist mishmash of
Arab, Persian, and Chinese stereotypes. Everyone is required to say "may
he live forever" after referencing the Tisroc, which is an obvious and
crude parody of Islam. This stereotype fest culminates in the incredibly
bizarre scene that Aravis overhears, in which the grand vizier literally
grovels on the floor while Radagast kicks him and the Tisroc, Radagast's
father, talks about how Narnia's freedom offends him and the barbarian
kingdom would be more profitable and orderly when conquered.
The one point to Lewis's credit is that Aravis is also Calormene, tells
stories in the same style, and is still a protagonist and just as
acceptable to Aslan as Shasta is. It's not enough to overcome the
numerous problems with Lewis's lazy world-building, but it makes me wish
even more that Aravis had gotten her own book and more meaningful scenes
with Aslan.
I had forgotten that Susan appears in this book, although that appearance
doesn't add much to the general problem of Susan in Narnia except perhaps
to hint at Lewis's later awful choices. She is shown considering marriage
to the clearly villainous Radagast, and then only mentioned later with a
weird note that she doesn't ride to war despite being the best archer of
the four. I will say again that it's truly weird to see the Pevensie kids
as (young) adults discussing marriage proposals, international politics,
and border wars while remembering they all get dumped back into their
previous lives as British schoolkids. This had to have had dramatic
effects on their lives that Lewis never showed. (I know, the real answer
is that Lewis is writing these books according to childhood imaginary
adventure logic, where adventures don't have long-term consequences of
that type.)
I will also grumble once more at how weirdly ineffectual Narnians are
until some human comes to tell them what to do. Calormen is obviously a
threat; Susan just escaped from an attempted forced marriage. Archenland
is both their southern line of defense and is an ally separated by a
mountain pass in a country full of talking eagles, among other obvious
messengers. And yet, it falls to Shasta to ride to give warning because
he's the human protagonist of the story. Everyone else seems to be too
busy with quirky domesticity or endless faux-medieval chivalric parties.
The Horse and His Boy was one of my favorites when I was a kid, but
reading as an adult I found it much harder to tolerate Bree or read past
the blatant racial and cultural stereotyping. The bits with Aslan also
felt less magical to me than they did as a kid because I was asking more
questions about why Aslan had to do everything in such an opaque and
perilous way. It's still not a bad adventure; Aravis is a great
character, the bits in Tashbaan are at least memorable, and I still love
the Hermit of the Southern March and want to know more about him. But I
would rank it below the top tier of Narnia books, alongside
Prince Caspian as a book with some great
moments and some serious flaws.
Followed in original publication order by The Magician's Nephew.
Rating: 7 out of 10
Here's my monthly update covering what I have been doing in the free software world for May 2021 (previous month):
Opened a pull request to make the build reproducible in the apispec API specification generator. The issue at hand is that the copyright message in the generated documentation used the current build date so that the build would vary depending on whenever you built it. [...]
Updated my Tickle Me Email tool that implements Gettings Things Done-like behaviours in any IMAP inbox in order to sort various items by the date, not by their subject field. [...]
As part of my role of being the assistant Secretary of the Open Source Initiative and a board director of Software in the Public Interest, I attended their respective usual monthly meetings. As I outlined last month, my term on the OSI board has been slightly extended due to the discovery of a vulnerability in OSI's recent election as a result, the 2021 election will be re-run to ensure transparency of the process. SPI had their virtual 'face to face' meeting this month as well, spread out over three evenings.
Reproducible Builds
The motivation behind the Reproducible Builds effort is to ensure no flaws have been introduced during this compilation process by promising identical results are always generated from a given source, thus allowing multiple third-parties to come to a consensus on whether a build was compromised.
Categorised a large number of packages and issues in the Reproducible Builds notes.git" repository.
Filed an upstream pull request to make the build reproducible in the apispec specification generator. This was also filed in Debian as bug #988978. [...]
Filed a bug against the Debian jenkins.debian.org virtual packages to report that the reproducible rescheduling CGI script uses the deprecated Debian SSO service. (#989088)
I also made the following changes to strip-nondeterminism, our tool to remove specific non-deterministic results from a completed build:
Added support for Python pyzip files: they require special handling to not mangle the UNIX shebang. (#18)
Dropped single-debian-patch, etc. from the Debian source package options. [...]
I also made the following changes to diffoscope, including preparing and uploading versions 174, 175 and 176 to Debian:
Bug fixes:
Check that we are parsing an actual Debian .buildinfo file, not just a file with that particular extension after all, it could be any file. (#254, #987994)
Support signed .buildinfo files again. It appears that some versions of file(1) reports them as PGP signed message. [...]
Use the actual filesystem path name (instead of diffoscope's concept of the source archive name) in order to correct filename filtering when an APK file has been extracted from a container format. In particular, we need to filter the auto-incremented 1.apk instead of original-name.pk. (#255)
New features:
Update ffmpeg tests to work with version 4.4. (#258)
Correct grammar in a fsimage.py debug message. [...]
Misc:
Don't unnecessarily call os.path.basename twice in the APK comparator. [...]
Added instructions on how to install diffoscope on openSUSE on the diffoscope website [...].
6.2.3-1 (to experimental) New upstream security release. (#988045)
Finally, I also made a sponsored upload of adminer (4.7.9-2) for Alexandre Rossi.
Debian LTS
This month I have worked 18 hours on Debian Long Term Support (LTS) and 12 hours on its sister Extended LTS project.
Frontdesk duties, responding to user/developer questions, reviewing others' packages, participating in mailing list discussions, etc.
Prepared versions of both velocity (1.7-5+deb10u1) and ruby-websocket-extensions (0.1.2-1+deb10u1) to upload to Debian stable to ensure clean upgrades of security-related. I filed two 'unblock requests' for these packages as well (#988455) & #988454).
Issued DLA 2651-1 and ELA-421-1 for Django, the popular Python-based web development framework. The MultiPartParser, UploadedFile and FieldFile classes allowed directory-traversal via uploaded files with suitably crafted file names. In order to mitigate this risk, stricter path 'basename' and path sanitation is now applied. Specifically, empty file names and paths with dot segments are rejected.
Issued DLA 2657-1 and ELA-427-1 as it was discovered that there was a potential memory corruption vulnerability in the lz4 compression algorithm library.
You can find out more about the project via the following video:
Review: The Relentless Moon, by Mary Robinette Kowal
Series:
Lady Astronaut #3
Publisher:
Tor
Copyright:
2020
ISBN:
1-250-23648-7
Format:
Kindle
Pages:
542
Content note: Discussion of eating disorders in this review and portrayal
of an eating disorder in the novel.
The Relentless Moon is the third book of the Lady Astronaut series
and the first one that doesn't feature Elma. It takes place
simultaneously with The Fated Sky and
tells the story of what happened on Earth, and the Moon, while Elma was in
transit to Mars. It's meant to be read after The Fated Sky and
would be a significant spoiler for that novel.
The protagonist of this novel is Nicole Wargin: wife of the governor of
Kansas (a more prestigious state in this universe since the seat of
government for the United States was relocated to Kansas City after the
Meteor), expert politician's wife, and another of the original group of
female astronauts. Kenneth, her husband, is considering a run for
president. Nicole is working as an astronaut, helping build out the
permanent Moon base. But there are a lot of people on Earth who are not
happy with the amount of money and political attention that the space
program is getting. They have decided to move beyond protests and
political opposition to active sabotage.
Nicole was hoping to land an assignment piloting one of the larger
rockets. What she gets instead is an assignment as secretary to the Lunar
Colony Administrator, as cover. Her actual job is to watch for saboteurs
that may or may not be operating on the Moon. Before she even leaves the
planet, one of the chief engineers of the space program is poisoned. The
pilot of the translunar shuttle falls ill during the flight to the Moon.
And then the shuttle's controls fail during landing and disaster is only
narrowly averted.
The story from there is a cloak and dagger sabotage investigation mixed
with Kowal's meticulously-researched speculation about a space program
still running on 1950s technology but drastically accelerated by the
upcoming climate collapse of Earth. Nicole has more skills for this type
of mission than most around her realize due to very quiet work she did
during the war, not to mention the feel for personalities and politics
that she's honed as a governor's wife. But, like Elma, she's also
fighting some personal battles. Elma's are against anxiety; Nicole's are
against an eating disorder.
I think my negative reaction to this aspect of the book is not the book's
fault, but it was sufficiently strong that it substantially interfered
with my enjoyment. The specific manifestation of Nicole's eating disorder
is that she skips meals until she makes herself ill. My own anxious
tendencies hyperfocus on prevention and on rule-following. The result is
that once Kowal introduces the eating disorder subplot, my brain started
anxiously monitoring everything that Nicole ate and keeping track of her
last meal. This, in turn, felt horribly intrusive and uncomfortable. I
did not want to monitor and police Nicole's eating, particularly when
Nicole clearly was upset by anyone else doing exactly that, and yet I
couldn't stop the background thread of my brain that did so. The result
was a highly unsettling feeling that I was violating the privacy of the
protagonist of the book that I was reading, mixed with anxiety and
creeping dread about her calorie intake.
Part of this may have been intentional to give the reader some sense of
how this felt to Nicole. (The negative interaction with my own anxiety
was likely not intentional.) Kowal did an exceptionally good job at
invoking reader empathy (at least in me) for Elma's anxiety in
The Calculating Stars. I didn't like
the experience much this time, but that doesn't make it an invalid focus
for a book. It may, however, make me a poor reviewer for this part of the
reading experience.
This was a major subplot, so it was hard to escape completely, but I quite
enjoyed the rest of the book. It's not obvious who the saboteurs are or
even how the sabotage is happening, and the acts of clear sabotage are
complicated by other problems that may be more subtle sabotage, may be bad
luck, or may be the inherent perils of trying to survive in space. Many
of Nicole's suspicions do not pan out, which was a touch that I
appreciated. She has to look for ulterior motives in everything, and in
reality that means she'll be wrong most of the time, but fiction often
unrealistically short-cuts that process. I also liked how Kowal handles
the resolution, which avoids villain monologues and gives Nicole's
opposition their own contingency plans, willingness to try to adapt to
setbacks, and the intelligence to keep trying to manipulate the situation
even when their plans fail.
As with the rest of this series, there's a ton of sexism and racism, which
the characters acknowledge and which Nicole tries to resist as much as she
can, but which is so thoroughly baked into the society that it's mostly an
obstacle that has to be endured. This is not the book, or series, to read
if you're looking for triumph over discrimination or for women being
allowed to be awesome without having to handle and soothe men's sexist
feelings about their abilities. Nicole gets a clear victory arc, but it's
a victory despite sexism rather than an end to it.
The Relentless Moon did feel a bit long. There are a lot of
scene-setting preliminaries before Nicole leaves for the Moon, and I'm not
sure all of them were necessary at that length. Nicole also spends a lot
of time being suspicious of everyone and second-guessing her theories, and
at a few points I thought that dragged. But once things start properly
happening, I thoroughly enjoyed the technological details and the thought
that Kowal put into the mix of sabotage, accidents, and ill-advised human
behavior that Nicole has to sort through. The last half of the book is
the best, which is always a good property for a book to have.
The eating disorder subplot made me extremely uncomfortable for reasons
that are partly peculiar to me, but outside of that, this is a solid entry
in the series and fills in some compelling details of what was happening
on the other end of the intermittent radio messages Elma received. If
you've enjoyed the series to date, you will probably enjoy this
installment as well. But if you didn't like the handling of sexism and
racism as deeply ingrained social forces that can at best be temporarily
bypassed, be warned that The Relentless Moon continues the same
theme. Also, if you're squeamish about medical conditions in your
fiction, be aware that the specific details of polio feature significantly
in the book.
Rating: 7 out of 10
The Great Electric Airplane Race
It took me quite sometime to write as have been depressed about things. Then a few days back saw Nova s The Great Electric Airplane Race. While it was fabulous and a pleasure to see and know that there are more than 200 odd startups who are in the race of making an electric airplane which works and has FAA certification. I was disappointed though that there no coverage of any University projects.
From what little I know, almost all advanced materials which U.S. had made has been first researched in mostly Universities and when it is close to fruition then either spin-off as a startup or give to some commercial organization/venture to make it scalable and profitable. If they had, I am sure more people could be convinced to join sciences and engineering in college. I actually do want to come to this as part of both general medicine and vaccine development in U.S. but will come later. The idea that industry works alone should be discouraged, but that perhaps may require another article to articulate why I believe so.
Medical Device Ventilators in India
Before the pandemic, probably most didn t know what a ventilator is and was, at least I didn t, although I probably used it during my somewhat brief hospital stay a couple of years ago. It entered into the Indian twitter lexicon more so in the second wave as the number of people who got infected became more and more and the ventilators which were serving them became less and less just due to sheer mismatch of numbers and requirements.
Rich countries donated/gifted ventilators to India on which GOI put GST of 28%. Apparently, they are a luxury item, just like my hearing aid.
Last week Delhi High Court passed a judgement that imposition of GST should not be on a gift like ventilators or oxygenators. The order can be found here. Even without reading the judgement the shout from the right was judicial activism while after reading it is a good judgement which touches on several points. The first, in itself, stating the dichotomy that if a commercial organization wanted to import a ventilator or an oxygenator the IGST payable is nil while for an individual it is 12%. The State (here State refers to State Government in this case Gujarat Govt.) did reduce the IGST for state from 12% to NIL IGST for federal states but that to till only 30.06.2021. No relief to individuals on that account.
The Court also made use of Mr. Arvind Datar, as Amicus Curiae or friend of court. The petitioner, an 85-year-old gentleman who has put it up has put broad assertions under Article 21 (right to live) and the court in its wisdom also added Article 14 which enshrines equality of everyone before law.
The Amicus Curiae, as his duty, guided the court into how the IGST law works and shared a brief history of the law and the changes happening before and after it. During his submissions, he also shared the Mega Exemption Notification no. 50/2017 under which several items are there which are exempted from putting IGST. The Amicus Curiae did note that such exemptions were also there before Mega Exemption Notification had come into play.
However, DGFT (Directorate General of Foreign Trade) on 30-04-2021 issued notification No. 4/2015-2020 through which oxygenators had been exempted from Custom Duty/BCD (Basic Customs Duty. In another notification on no. 30/2021 dated 01.05.2021 it reduced IGST from 28% to 12% for personal use. If however the oxygenator was procured by a canalizing agency (bodies such as State Trading Corporation of India (STC) or/and Metals and Minerals Corporation (MMTC) and such are defined as canalising agents) then it will be fully exempted from paying any sort of IGST, albeit subject to certain conditions. What the conditions are were not shared in the open court.
The Amicus Curiae further observed that it is contrary to practice where both BCD and IGST has been exempted for canalising agents and others, some IGST has to be paid for personal use. To share within the narrow boundaries of the topic, he shared entry no. 607A of General Exemption no.190 where duty and IGST in case of life-saving drugs are zero provided the life-saving drugs imported have been provided by zero cost from an overseas supplier for personal use.
He further shared that the oxygen generator would fall in the same entry of 607A as it fulfills all the criteria as shared for life-saving medicines and devices. He also used the help of Drugs and Cosmetics Act 1940 which provides such a relief.
The Amicus Curiae further noted that GOI amended its foreign trade policy (2015-2020) via notification no.4/2015-2020, dated 30.04.2021, issued by DGFT where Rakhi and life-saving drugs for personal use has been exempted from BCD till 30-07-2021. No reason not to give the same exemption to oxygenators which fulfill the same thing.
The Amicus Curiae, further observes that there are exceptional circumstances provisions as adverted to in sub-section (2) of Section 25 of the Customs Act, whereby Covid-19 which is known and labelled as a pandemic where the distinctions between the two classes of individuals or agencies do not make any sense. While he did make the observation that exemption from duty is not a right, in the light of the pandemic and Article 14, it does not make sense to have distinctions between the two classes of importers.
He further shared from Circular no. 9/2014-Customs, dated 19.08.2014 by CBEC (Central Board of Excise and Customs) which gave broad exemptions under Section 25 (2) of the same act in respect of goods and services imported for safety and rehabilitation of people suffering and effected by natural disasters and epidemics.
He further submits that the impugned notification is irrational as there is no intelligible differentia rule applied or observed in classifying the import of oxygen concentrators into two categories. One, by the State and its agencies; and the other, by an individual for personal use by way of gift. So there was an absence of adequate determining principle . To bolster his argument, he shared the judgements of
a) Union of India vs. N.S. Rathnam & Sons, (2015) 10 SCC 681 (N.S. Ratnams and Sons Case)
b) Shayara Bano vs. Union of India, (2017) 9 SCC 1 (Shayara Bano Case)
The Amicus Curiae also rightly observed that the right to life also encompasses within it, the right to health. You cannot have one without the other and within that is the right to have affordable treatment. He further stated that the state does not only have a duty but a positive obligation is cast upon it to ensure that the citizen s health is secured. He again cited Navtej Singh Johars vs Union of India (Navtej Singh Johar Case) in defence of right to life. Mr. Datar also shared that unlike in normal circumstances, it is and should be enough to show distinct and noticeable burdensomeness which is directly attributable to the impugned/questionable tax. The gentleman cited Indian Express Newspapers (Bombay) Private Limited vs. Union of India, (1985) 1 SCC 641 (Indian Express case) 1985 which shared both about Article 19 (1) (a) and Article 21.
Bloggers note At this juncture, I should point out which I am sharing the judgement and I would be sharing only the Amicus Curiae POV and then the judge s final observations. While I was reading it, I was stuck by the fact that the Amicus Curiae had cited 4 cases till now, 3 of them are pretty well known both in the legal fraternity and even among public at large. Another 3 which have been shared below which are also of great significance. Hence, felt the need to share the whole judgement.
The Amicus Curiae further observed that this tax would have to be disproportionately will have to be paid by the old and the infirm, and they might find it difficult to pay the amounts needed to pay the customs duty/IGST as well as find the agent to pay in this pandemic.
Blogger Note The situation with the elderly is something like this. Now there are a few things to note, only Central Govt. employees and pensioners get pensions which has been freezed since last year. The rest of the elderly population does not. The rate of interest has fallen to record lows from 5-6% in savings interest rate to 2% and on Fixed Deposits at 4.9% while the nominal inflation rate has up by 6% while CPI and real inflation rates are and would be much more. And this is when there is absolutely no demand in the economy. To add to all this, RBI shared a couple of months ago that fraud of 5 trillion rupees has been committed between 2015 and 2019 in banks. And this is different from the number of record NPA s that have been both in Public and Private Sector banks. To get out of this, the banks have squeezed their customers and are squeezing as well as asking GOI for bailouts. How much GOI is responsible for the frauds as well as NPA s would probably require its own space. And even now, RBI and banks have made heavy provisions as lockdowns are still a facet and are supposed to remain a facet till the end of the year or even next year (all depending upon when we get the vaccine).
The Amicus Curiae further argued that the ventilators which are available locally are of bad quality. The result of all this has resulted in a huge amount of unsurmountable pressure on hospitals which they are unable to overcome. Therefore, the levy of IGST on oxygenators has direct impact on health of the citizen. So the examination of the law should not be by what intention it was but how it is affecting citizen rights now. For this he shared R.C.Cooper vs Union of India (another famous case R.C. Cooper vs Union of India) especially paragraph 49 and Federation of Hotel & Restaurant Association of India vs. Union of India, (1989) at paragraph 46 (Federation of Hotel Case)
Mr. Datar further shared the Supreme Court order dated 18.12.2020, passed in Suo Moto Writ Petition(Civil) No.7/2020, to buttress the plea that the right to health includes the right to affordable treatment.
Blogger s Note For those, who don t know Suo Moto is when the Court, whether Supreme Court or the High Courts take up a matter for public good. It could be in anything, law and order, Banking, Finance, Public Health etc. etc. This was the norm before 2014. The excesses of the executive were curtailed by both the Higher and the lower Judiciary. That is and was the reason that Judiciary is and was known as the third pillar of Indian democracy. A good characterization of Suo Moto can be found here.
Before ending his submission, the learned Amicus Curiae also shared Jeeja Ghosh vs. Union of India, (2016) (Jeeja Ghosh Case, an outstanding case as it deals with people with disabilities and their rights and the observations made by the Division Bench of Hon ble Mr. Justice A. K. Sikri as well as Hon ble Mr. Justice R. K. Agrawal.)
After Amicus Curiae completed his submissions, it was the turn of Mr. Sudhir Nandrajog, and he adopted the arguments and submissions made by the Amicus Curiae. The gentleman reiterated the facts of the case and how the impugned notification was violative of both Article 14 and 21 of the Indian Constitution.
Blogger s Note The High Court s judgement which shows all the above arguments by the Amicus Curiae and the petitioner s lawyer also shared the State s view. It is only on page 24, where the Delhi High Court starts to share its own observations on the arguments of both sides.
Judgement continued The first observation that the Court makes is that while the petitioner demonstrated that the impugned tax imposition would have a distinct and noticeable burdensomeness while the State did not state or share in any way how much of a loss it would incur if such a tax were let go and how much additional work would have to be done in order to receive this specific tax. It didn t need to do something which is down the wire or mathematically precise, but it didn t even care to show even theoretically how many people will be affected by the above. The counter-affidavit by the State is silent on the whole issue.
The Court also contended that the State failed to prove how collecting IGST from the concerned individuals would help in fighting coronavirus in any substantial manner for the public at large. The High Court shared observations from the Navtej Singh Johar case where it is observed that the State has both negative and positive obligations to ensure that its citizens are able to enjoy the right to health.
The High Court further made the point that no respectable person does like to be turned into a charity case. If the State contends that those who obey the law should pay the taxes then it is also obligatory on the state s part to lessen exactions such as taxes at the very least in times of war, famine, floods, epidemics and pandemics. Such an approach would lead a person to live a life of dignity which is part of Article 21 of the Constitution.
Another point that was made by the State that only the GST council is able to make any changes as regards to exemptions rather than the State were found to be false as the State had made some exemptions without going to the GST council using its own powers under Section 25 of the Customs Act.
The Court also points out that it does send a discriminatory pattern when somebody like petitioner has to pay the tax for personal use while those who are buying it for commercial use do not have to pay the tax.
The Court agreed of the view of the Amicus Curiae, Mr. Datar that oxygenator should be taxed at NIL rate at IGST as it is part of life-saving drugs and oxygenator fits the bill as medical equipment as it is used in the treatment, mitigation and prevention of spread of Coronavirus. Mr. Datar also did show that oxygenator is placed at the same level as other life-saving drugs. The Court felt further emboldened as the observations by Supreme Court in State of Andhra Pradesh vs. Linde India Limited, 2020 ( State of Andhra Pradesh vs Linde Ltd.)
The Court further shared many subsequent notifications from the State and various press releases by the State itself which does make the Court s point that oxygenators indeed are drugs as defined in the court case above. The State should have it as part of notification 190. This would preserve the start of the notification date from 03.05.2021 and the state would not have to issue a new notification.
The Court further went to postulate that any persons similar to the petitioner could avail of the same, if they furnish a letter of undertaking to an officer designated by the State that the medical equipment would not be put to commercial use. Till the state does not do that, in the interim the importer could give the same undertaking to Joint Secretary, Customs or their nominee can hand over the same to custom officer.
The Court also shared that it does not disagree with the State s arguments but the challenges which have arisen are in a unique time period/circumstances, so they are basing their judgement based on how the situation is.
The Court also mentioned an order given by Supreme Court Diary No. 10669/2020 passed on 20.03.2020 where SC has taken pains to understand the issues faced by the citizens. The court also mentioned the Small Scale Industrial Manufactures Association Case (both of these cases I don t know) .
So in conclusion, the Court holds the imposition of IGST on oxygenator which are imported by individuals as gifts from their relatives as unconstitutional. They also shared that any taxes taken by GOI in above scenario have to be returned. The relief to the state is they will not have to pay interest cost on the same.
To check misuse of the same, the petitioner or people who are in similar circumstances would have to give a letter of undertaking to an officer designated by the State within 7 days of the state notifying the patient or anybody authorized by him/her to act on their behalf to share the letter of undertaking with the State. And till the State doesn t provide an officer, the above will continue.
Hence, both the writ petition and the pending application are disposed off.
The Registry is directed to release any money deposited by the petitioner along with any interest occurred on it (if any) .
At the end they record appreciation of Mr. Arvind Datar, Mr. Zoheb Hossain, Mr. Sudhir Nandrajog as well as Mr. Siddharth Bambha. It is only due to their assistance that the court could reach the conclusion it did.
For Delhi High Court
RAJIV SHAKDHER, J.
TALWANT SINGH, J.
May 21, 2020
Blogger s Observations Now, after the verdict GOI does have few choices, either accept the verdict or appeal in the SC. A third choice is to make a committee and come to the same conclusions via the committee. GOI has done something similar in the past. If that happens and the same conclusions are reached as before, then the aggrieved may have no choice but to appear in the highest court of law. And this will put the aggrieved at a much more vulnerable place than before as SC court fees, lawyer fees etc. are quite high compared to High Courts. So, there is a possibility that the petitioner may not even approach unless and until some non-profit (NGO) does decide to fight and put it up as common cause or something similar.
There is another judgement that I will share, probably tomorrow. Thankfully, that one is pretty short compared to this one. So it should be far more easier to read. FWIW, I did learn about the whole freeenode stuff and many channels who have shifted from freenode to libera. I will share my own experience of the same but that probably will take a day or two.
Zeeshan of IYC (India Youth Congress) along with Salman Khan s non-profit Being Human getting oxygenators
The above picture of Zeeshan. There have been a whole team of Indian Youth Congress workers (main opposition party to the ruling party) who have doing lot of relief effort. They have been buying Oxygenators from abroad with help of Being Human Foundation started by Salman Khan, an actor who works in A-grade movies in Bollywood.