Firefox no longer supports Android 7, so Google Playstore no longer displays Firefox. No worries. It's possible to obtain an older APK of Firefox from the Firefox archives itself instead of downloading it from any other dubious source.
Version fenix-143.0.4-android-arm64-v8a:112MB. This is for 64-bit ARM CPUs (ARMv8 architecture).
fenix-143.0.4-android-armeabi-v7a:109MB. This is the application compiled for 32-bit ARM CPUs. This is the Android Application Binary Interface (ABI) that corresponds to the ARMv7 architecture.
fenix-143.0.4-android-x86: 121MB. This APK is for 32-bit x86 architecture, which is used by processors from companies like Intel and AMD. This is not compatible with an ARM processor.
fenix-143.0.4-android-x86_64: 116MB. This is for 64-bit x86 processors. An ARM device cannot run this APK.
fenix-143.0.4-android: 342MB. This directory likely contains a "universal" APK or an Android App Bundle (.aab) which contains all the APK files. If you were installing through the Google Play Store, it would deliver the correct file for your device, but for a manual installation, the specific armeabi-v7a file is the safest and most direct option.
Google's AI said that although there are technically no issues with using an old APK, there are some security considerations. It will be missing the most recent security patches and bug fixes. This can expose you to security vulnerabilities that have since been discovered and fixed in newer versions of Firefox.
It's sad that Android was built like this. There should have been an option available for upgrading to a newer version of Android even on older devices. I was hoping that Pine phone would come to the fore, but it looks unlikely.
As per what I've heard recently, Android 10 onward supports the updation of core system components. Google is also possibly making it a reality to run the mainline Linux kernel which would make it easier to upgrade the kernel.
The Times of India had an article about an Oota from your Thota (OFYT) meetup at St.Johns road on 7th September. I heard of such events happening in Electronic city in 2013, but since this was close enough I decided to attend. Oota is the Kannada word for food and Thota is the word for garden. What surprised me is that as per this article there were more than fifty thousand mini farms on people's terraces in Bangalore in 2020. An initiative that was begun by Dr. B. N. Vishwanath who created an NGO named Garden City Farmers way back in 1995. Unfortunately they seem to have stopped publishing on their website and switched over to Facebook, Whatsapp and Instagram, none of which I use. Particularly after reading this security warning. Anyway, OFYT organizes frequent meets where they even share seeds, so the seeds eventually become a Thota from somebody else's Oota :-) which then grows into an Oota from your Thota.
At the event what surprised me was the drive everyone had. They were very courteous, eager to help and made sure they proactively asked questions to figure out what problems people were facing with their terrace garden and readily offered suggestions and options on how to tackle the problems. There were various types of stalls put up around B.M. English school along the footpath. I heard there was even a workshop held inside the school regarding composting, but I missed it because one of the scouts told me there was no stall inside the school, and because there was no announcement about it other than a tiny sign that pointed to the school saying "workshop".
An encouraging glimpse into the world of various terrace farmers in Bengaluru.
These grow bags seemed quite sturdy. The small ones cost Rs.65.
Natural chemical free products from Little Silk (I believe this is different from another brand named The Little Silk)
Natural soaps. I felt they could have improved the appeal a bit more by using mounds with smoother edges and they could have also put up a poster explaining exactly how these natural soaps are better than the commercial soaps we use. Also about how the commercial soaps may be affecting health if it does.
Natural lipsticks using beetroot, rose and perhaps natural oils.
Chocolate wax to remove tan, natural facials, etc.
Various food powders.
Organic honey, ghee, nuts, etc.
A
green kitchen whose people are willing to teach you how to reuse or
recycle things in such a way that you reduce waste significantly.
Ananth plate bank provides free steel plates, spoons, tumblers and bowls for any
event you organize. You have to collect it from them, use it for your
event, wash it and return it at your expense. There's also a security
deposit. But otherwise it's free to use and return. Their objective is
to reduce waste by allowing you to use the utensils for free.
A mixture of powdered pre-cooked organic millets etc which can be dissolved in water or milk and consumed
A stall by sunshine enterprises
Various gardening tools
Decomposting agents
Compost and manure
Rooting aid
A stall showcasing items which I understand was supported by the ministry of tribal affairs.
These are lanterns made from actual vegetables. An electric bulb can be placed inside, creating beautiful light patterns.
Sound tubes used by tribals to communicate during hunting. The bamboo
tubes have zig zag channels inside and seeds flow down them when you
turn the tubes upside down, creating a unique flowing noise.
The rhino on the right is said to be made from Assam tea plant wood
Bows used by fishermen in Andaman. The actual arrows used by fishermen would have metal
heads. The arrows are shot through a hole in the middle of the bow so
the arrows have no fletching. The arrows are said to be able to fly as far as 100m. The
bow costs around Rs.450, and two arrows (with wooden arrow heads) are given with it.
Various homemade snacks made with organic oil and organic raw materials, prepared by a brand called "Tasty Crunchy Products"
at Kammanahalli. They even make Kerala pappadam and appalam.
Various organic pickles
Eco urban farms provide elevated garden growing containers on rent. They
also help with growing the veggies by coming to your house and doing the work every month. Total cost of the rental and
maintenance is Rs.5000 per month. Else, you can purchase these
containers. The container slightly larger than what's in the picture
cost Rs.6500. It's made of fiberglass (though it looks like aluminum) and they have other types of containers of other materials too.
The weight matters, because a roof can only safely support around 200kg per
square meter.
Various saplings, grow bags and garden tools available for reasonably cheap prices. The saplings on the right were just at Rs.5 each.
Various kinds of rice and millets from JivaBhumi. There is actually something different about these food items. Although I was skeptical at first, I found it to be somewhat reliable (though I need to consume a bit more to confirm). There are specific instructions on how long to cook these rice varieties and how much extra water to use. Some can even be soaked for long to germinate them, which increases nutritional value. I had a conversation with the co-founder who seemed to be a genuine person.
Organic sugar, jaggery, dal, ancient variety of wheat.
Cold pressed oils
Various other snacks and pickles created from organic produce...
Products from Quantum Leap (they have a vertical named Quantum Leaf) for terrace gardening.
Various seeds available at reasonable rates. They'll send it to you via speedpost when you order.
Products from Biological Research Innovation Centre and Solutions (BRICS)
MycoDim is a broad spectrum, contact foliar fungicide that prevents a
variety of diseases on ornamentals, trees, potted plants, fruits,
vegetables and turfs. SasyaRakshak is a water-soluble plant protectant,
carefully designed to contain all good constituents derived from select
botanicals of known pesticidal properties. The combination of active
ingredients from these plant sources provides excellent protection to
the crop plants against sucking (Aphids, thrips, mites, mealybugs,
hoppers, and bugs) as well as biting ( leafminers, caterpillars,
beetles, weevils) insects.
Natural shampoos, hand wash and face wash
The stalls were put up on an actual footpath
Oota from my thota
In around 2014, I purchased a few grow bags and tried growing some veggies on my terrace.
Tomato, curry leaf, coriander, pudina, mustard, green chillies and even an apple sapling grew.
The first tomato harvest had a worm/caterpillar enter one of the tomatoes. I soon found that a butterfly or moth was laying tiny yellow eggs on the leaf and those were becoming the caterpillars that ate the tomato. Removing the eggs early helped avoid that issue. I didn't purchase any seeds. I used the seeds from whatever veggies I purchased from stores. I did face issues of the soil getting very soggy during rains, the water at the base of the grow bag accumulating at the bottom without draining off sufficiently from the drainage holes, earthworms slithering away during rains, fungus at the roots and those white flies infesting the green chilly plants. I was pleasantly surprised to see small honeybees visiting the plants, preying mantis, lady bugs and even dragonflies. There were also times I saw some plants squashed, which I assumed was because a feral cat either walked over it or used the place as a bed. I have some reason to believe it even used the soil as its private restroom.
I mentioned some of these issues I faced, to the people at OFYT and they gave me some nice solutions like collecting the leachate using a container below the grow bag and reusing it for watering the plants after diluting it.
There are things that can be improved with such initiatives in terms of being able to make people aware of what is available, visualizing where organic farms are nearby on a map, using tools like what3words or digipin, a trained LLM that can explain things for people instead of them having to connect with a person and worrying if one would be disturbing them, using a website or a dedicated organic farming app instead of third party tools like WhatsApp, Facebook and Instagram. Since organic food is expensive, there is much to be done to ensure that people have better access to organic food from reliable sources.
How can we trust the organic produce?
As for the organic produce, one of my main concerns has always been whether the farmers were honest. I was told that Aditi organic certification and India Organic certification ensures that farmers are compliant, but there is also the fact that those whose turnover does not exceed Rs.12 lakh do not have to go through the verification of compliance. Even for those who comply, there are residual limits of insecticides, other contaminants, heavy metals and toxins measured by the certification agency. This makes me worried about whether at least some farmers may use diluted insecticides etc thinking that nobody would find out. Whether the certification agencies are honest/thorough. Whether adulteration happens. Whether PFAS contamination from rain could be an issue even in remote areas. These contaminants can apparently cause kidney cancer, testicular cancer and thyroid issues and remain in the bloodstream for long.
If you thought teflon coated pans are safe, the video below shows why it is not. If cooking with stainless steel makes food stick to the pan, the video also explains how to overcome the issue by proper pre-heating and using a drop of gliding water to check.
Then one wonders how many farmers in India know of the effects of the herbicides they use. Shockingly, even after a ban on glyphosate in 2022, there is a 2023 article that says farmers are allowed to use it, and is probably still being used in tea plantations (I wonder if that's what gave me immediate stomach discomfort on consuming green tea). Glyphosate is said to be one of the reasons for non hodgkins lymphoma as per the video below.
Aflatoxins being linked to immune suppression and liver cancer.
Dioxins causing skin lesions, patchy darkening of the skin, reproductive issues, interference with hormones and damage to the immune system.
Aminoglycosides which can cause hearing loss, gaze instability (oscillopsia) and balance impairments.
Tetracyclines which can cause skin photosensitivity, fatty liver, tinnitus, abdominal pain, breathing issues, and cause drug-induced lupus.
Heavy metal poisoning:Mercury causing central nervous system (CNS) injury, renal dysfunction, GI ulceration, liver toxicity, Lead causing CNS injury, lung dysfunction, anemia, liver damage, cardiovascular dysfunction, chromium causing kidney dysfunciton, gastro intestinal (GI) disorders, skin diseases, increasing incidence of various cancers, cadmium poisoning causing degenerative bone disease, kidney dysfunction, liver damage, GI disorders, lung injuries, impacting metabolism of zinc and copper, causing cancer, arsenic causing cardiovascular dysfunction, skin and hair changes, CNS injury, GI discomfort and liver damage. There are some precautions to be aware of when considering chelation.
There are other chemicals causing bone loss and pyrethroid poisoning which can cause itching, burning, muscle twitching.
How much do our farmers know about all this, and how much do they care about safe food. Even if they do care, how many of these chemicals are finding their way into fields via various environmental effects and even via companies run by educated people? A survey by the government found that even some organic veggies had heavy metal contamination at some places. The bodies of various people (including mine) are wasting away, supposedly from the effects of these chemicals, and doctors aren't doing much to help identify these issues and come up with solutions.
Then there's the issue of price. Most of the organic produce is priced at double the market rate or more. An organic farmer named Naveen in Mysore says that organic food could be priced 10% or 15% higher than other food. This seemed reasonable to me. However, I need to find out the realities of organic farming to understand the actual costs involved. Whether they get subsidies, what their actual costs are with respect to getting the soil ready for safe farming, what the FPO's (farmer producer organization) or investors take as their share, and any other realities.
Healthy food is not meant only for the rich. It's a basic necessity of life.
I also noticed that there is a National Centre for Organic and Natural Farming (NCOF) and a Participatory Guarantee System for India (PGSI). Ideally such organizations would not be required if safe farming was made mandatory across the country/world and technology was utilized well to match demand and supply.
In October 2006 during a boring train ride I realized it had been long since I wrote poetry (previously written for my school and college magazines and a few poems written during a poetry duel with my uncle). So I considered writing a poem, but it took a while to get that spark of inspiration.
Poem Speak
I wandered alone, not knowing why. Walking the thick jungle, looking out for the sky. He knows I'm here, I assured my heart. All he needs is a little head-start. For months together have I been. A thought, a wish, in this jungle unseen. He set my heart beating. Now it shall not cease. For my departure shall put this jungle at ease. I ask him, I plead him, to set me free. For I am a poem, yearning to be read by thee.
Written on: 27/10/2006
What the poem means:
The jungle is my mind, in which the thought of writing a poem has been going on for a long time. It remained a thought for a long time. Couldn't get started with it because I didn't find myself in a mood for writing poetry. Although once the poem found it's way out of my mind, onto paper, my mind is once again at ease and the poem is happy that I set it free.
How it's relevant to poets
Poem Speak is essentially a poem writing itself. During the literature survey for my MTech in Artificial Intelligence, I came across the fact that neurons go through the jungle of the brain and are guided to other neurons via guidance proteins. Neurons even tend to seek out connections. Poem Speak poetically personifies (if I could use the term liberally) the thought process of every writer or poet who is stuck with writers block and eventually figures out what to write. The process of thinking of what to write perhaps being physically manifested by the neurons in their brain seeking out connections and building a pathway of prose which takes shape and finds its way to becoming alive in the minds of everyone who reads it.
I submitted the poem to a weekly magazine for speculative fiction. Although it wasn't accepted, the reviewer wrote back appreciating it, saying that since the poem had a fun twist at the end, it worked well and caused him to re-read the poem.
I had earlier written about how to use an SSH key to clone, push and pull from Github.When working with more than one Github account, Git automatically considers only the first key even if you add a second key file in the ~/.ssh folder. To make Git recognize the right file, you need to add a new config file in that folder.
First add a new ed25519 file (like how it's normally done) for the second account and give it a new name like id2_ed25519. Then create a new file named config.
Now add this exact text into the config file:
# First GitHub account Host github.com HostName github.com User git IdentityFile ~/.ssh/id_ed25519
# Second GitHub account Host github-second HostName github.com User git IdentityFile ~/.ssh/id2_ed25519
If there are any errors related to file permissions, change the permission using chmod 600 ~/.ssh/id2_ed25519 but it's unlikely there would be such issues.
That's it. Now to clone from the first account you can use the equivalent of:
Earlier I detailed the steps for installing PyEnv on Linux, but there are some small changes for doing the same on Raspberry Pi, so for my reference and the reference of anyone else, I thought I'd mention it the way Sam Westby did, but thought I'd automate the process by creating a script which even adds the necessary lines to bashrc.
This was an idea I got during the first year of my MTech in AI. There was an image with poor contrast which I wanted to enhance, but given the various ways of enhancing images and it being difficult to narrow down on the right settings, I created a Python program which used Differential Evolution to explore various values of various combinations of settings, and narrow down on the kind of image quality I wanted. My professor was happy to see the program working, but because the "fittest" individuals of the population had to be manually selected by the User (subjective technique), my professor suggested trying to find an objective technique of doing it. Since what a person is looking to enhance in an image would be subjective, perhaps one objective way of doing it would be to prompt an AI and the AI could come up with an objective score. Anyway, since my Python program was not very accessible, I decided to create the program in JavaScript and make it available on GitHub.io as Imager: https://nav9.github.io/Imager/image-filters.html.
All you have to do is upload an image, and Imager will use Particle Swarm Optimization to randomly apply a chain of image processing steps to copies of the image. You can click images you like, and the "swarm" of settings would slowly converge to variations that are closer to the kind of settings that give you the kind of enhanced image you want. If you don't like any image, simply avoid clicking any of them and continue clicking Evolve, which will generate more random settings and values.
Since Imager runs on the browser as a fully client-side app, it's advisable to not use very large images. If your objective is to apply selected settings to a large image, you can always use the "Manual" button which allows applying settings to more than one image you choose to upload.
Imager is merely a demo app. It can be made far more powerful as a desktop app or with server-side functionality. Do have a look at the other image resizing and cropping options in the navigation bar of Imager.
I had a Raspberry Pi 3B connected via LAN cable to a Wifi router which wasn't connected to the internet. Through the router I could connect to the RPi via my desktop PC's Wifi. So VNC and SSH worked nicely in terms of being able to view the RPi desktop and being able to exchange files via scp. However, when I activated my phone's hotspot and the RPi's Wifi connected to the hotspot, I could not access internet.
I soon found out that this happened because the RPi gave a higher priority to the LAN connection than to the Wifi hotspot. So it was just a matter of changing the priority in a few simple steps.
Type `ip route show` to see the existing connections. You may see something like this:
default via 192.168.1.1 dev eth0 proto dhcp src 192.168.1.2 metric 100
default via 192.168.42.1 dev wlan0 proto dhcp src 192.168.42.125 metric 600
What this means is that the gateway for the LAN connection (eth0) is 192.168.1.1 and the IP is 192.168.1.2. The gateway for the wireless connection (wlan0) is 192.168.42.1 and the IP is 192.168.42.125. Since the LAN is listed first, it has the higher priority. So you simply need to add the route to the wireless IP address:
sudo ip route add default via 192.168.42.125 dev wlan0
You can confirm it got added to the top of the list by typing `ip route show`.
Then simply restart the network service. If `sudo systemctl restart networking` or `service networking restart` gives this error: `Failed to restart networking.service: Unit networking.service not found`, then you can simply type (it didn't disrupt my VNC connection):
sudo ifconfig eth0 down && sudo ifconfig eth0 up &
This will restart eth0 and you'll be able to connect to the internet. You can check by typing:
It turns out, one way to reduce the size of a Flutter app, is by splitting it into builds for each specific device architecture you want. So if you type:
flutter clean; flutter build apk --split-per-abi
It'll give an output like:
✓ Built build/app/outputs/flutter-apk/app-armeabi-v7a-release.apk (6.9MB) ✓ Built build/app/outputs/flutter-apk/app-arm64-v8a-release.apk (7.4MB) ✓ Built build/app/outputs/flutter-apk/app-x86_64-release.apk (7.6MB)
Now I needed to know which one I could use on my phone, and realized that in all these years, I didn't bother finding out what architecture my phone was running.
So I activated Developer Options and USB Debugging on my phone and did the following:
sudo apt update; sudo apt install adb
Now ADB (Android Debug Bridge) should be installed. To see which devices you can connect to via ADB, type:
adb devices
You'll be asked on your phone for permission to do USB debugging. Grant it.
Now either type:
adb shell uname -m
Or, just:
adb shell
And then type:
uname -m
And now I know the phone is armv7l, which is an ARM 32 bit architecture.
When you install an older version of Raspbian, there is no lock screen option. To add it, instead of going to `/etc/xdg/lxpanel/LXDE-pi/panels/panel` and adding any extra lockscreen lines, simply do this instead:
Technique 1: Screen locks but does not go blank
Click the RPi start menu and select Preferences > Main Menu Editor
In the editor click New Item and enter the following in the respective fields:
Name: Lock
Command: /usr/bin/dm-tool lock (don't use dm-tool lock because it is unsafe. The password can be bypassed with Ctrl Alt F7)
Command: swaylock
Comment: Lock screen
Click "Ok" and reboot.
You can also press Ctrl Alt L to lock the screen.
Technique 2: Screen goes blank, then locks and stays blank
The script below is meant to put the monitor into power saving mode just before swaylock is used to lock the screen (without swayidle, the monitor remains switched on even after the screen is locked). Make sure screen blanking is switched on before using this script by going to Raspberry Pi Preferences > Raspberry Pi Configuration > Display > Screen Blanking.
This script assumes that the screen gets locked only when the User manually selects lock.To make this script runnable on lock, go to Preferences > Main Menu Editor and create a new item with the path and name of this script's file as the "command". For example: /home/<your username>/lock_screen.sh
The default swayidle command would be preconfigured in /home/<your username>/.config/labwc/autostart as swayidle -w timeout 600 'wlopm --off \*' resume 'wlopm --on \*' . The script below would override the default swayidle by killing the swayidle process.
Create the following script in your Raspberry Pi home directory with the name lock_screen.sh (or whatever name you prefer).
#!/bin/bash
# Kill existing swayidle processes
pkill -f swayidle
# Run swayidle with timeout 1. Screen blanking will happen after 1 second
# wlopm is Wayland output power management. See its man page
while sleep 2 do if pgrep -f "$PROCESS_PATH" > /dev/null then echo "$PROCESS_PATH is running. Screen is locked" else echo "$PROCESS_PATH is not running. Screen is not locked" fi done
Some bonus info: If you don't like the bright white wallpaper of the login screen, you can change it in /etc/lightdm/pi-greeter.conf.
There really needs to be a better, standardized way to detect screen locks across operating systems.
I've always wanted a software that would explain everything about a repository and the code. I even considered building one, when I came across explanations that even SourceTrail was unsuccessful since people were unwilling to purchase it at scale. Even employers didn't see the value in buying one. Did you know that Grappl shows code like buildings? There are a bunch of other tools like Sourcery and SourceGraph, but today I came across a clever website named DeepWiki, created by Cognition.ai (the creators of Devin).
If you have a public GitHub repository, you can simply replace the "github.com" with "deepwiki.com", and it'll offer you a full repository analysis and description in a few minutes. They'll email you to notify.
https://github.com/nav9/splitVideoQualityViewer
https://deepwiki.com/nav9/splitVideoQualityViewer
I tried it, and was quite impressed at the flowcharts it created. The visualizations even showed me flows that I didn't remember existed. It also shows and explains the code structure and every class. At the bottom of the screen it provides a textfield using which you can ask it questions about the codebase.
To test it out initially, I tried asking it about "who first discovered India", to see if it'd respond without thinking, similar to how many GPT's do. It however responded well by saying that "I notice that your query "who first discovered India" doesn't appear to be related to the Split Video Quality Viewer codebase that I'm currently analyzing. The codebase you're viewing is a tool for comparing multiple videos side-by-side in a split-screen layout, not a historical database or information system about the discovery of India...". I was impressed again. It actually scans the code to generate a response.
I tried submitting simple programs too, created in GW-BASIC:
Jump-up: The first game I created. DeepWiki created an impressive analysis and visualization of the game character and flow of the game. Didn't expect it to be this good.
Digger: It actually analyzed and visualized how my Digger games improved over time and created nice flowcharts of the monster's AI thinking.
I even submitted iRest, and again, it created a useful visualization.
Since the website is named DeepWiki, I don't think they would be using it only for code. It seems general purpose enough to be used as a deep search for any website. Perhaps even the entire Internet.