On 13th September 2023, Abraham Raji from Kerala, an active member of FSCI, died in a water accident during a trip in the DebConf 2023.
Abraham was a passionate Free Software evangelist and an active member of various Free Software related communities. The revamped website theme of FSCI is his labour of love.
He was also a Debian Developer and led the design team of DebConf23 and helped in organizing several other local events in recent years. The DebConf23 website, t-shirt, badge were all designed by him.
Following projects paid their respects to Abraham Raji by dedicating their latest releases to him:
I had worked with Abraham when we were migrating FSCI’s website to hugo. He was a very curious person & had attention to detail on how the new website should look. We used to ocassionally chat about nerdy stuff. The sudden news about his tragedy left me speechless & it took me some time to realize that he’s no more. His passion towards FOSS was amazing, We lost a potential individual who could positively impact FOSS in India.
– karthik
I met Abraham during FOSSMeet 2023 in NIT Calicut. He was a very calm and curious person and was also a great presenter!
– aryak
I met Abraham in mini debconf palakkad.Then after one month In villupuran(district in Tamil nadu) planned to conduct mini debconf in tamil nadu that time weekly once we have connected in jitsi meet regarding mini debconf plan. He was such a kind and responsible person. he alway gave respect to all person words. Jan,2023 he came to villupuram for mini debconf That time we discussed more about the foss and how we can spread foss in each and very corner of the society.
I recently bought an HP Chromebook from Abhas who had already flashed coreboot in it. I ran a fresh installation of Debian 12 (Bookworm) on it with KDE Plasma.
Right after installation, the Wi-Fi and bluetooth were working, but I was facing two issues:
Playing a music file or any audio file does not give any audio.
Keyboard buttons like the ones for brightness and audio adjustment were not working (alphabet keys were working).
Fixing audio
I ran the script mentioned here and that fixed the audio.
The instructions from that link are:
git clone https://github.com/WeirdTreeThing/chromebook-linux-audio
cd chromebook-linux-audio
./setup-audio
Fixing keyboard
I asked my friend Alper for help on fixing the keyboard as he has some experience with Chromebooks. Thanks a lot Alper for the help. I am documenting our steps here for helping others who are facing this issue.
Note: This works in X11. For wayland, the steps might differ.
To set system-wide keyboard configuration on Debian systems:
$ sudo dpkg-reconfigure keyboard-configuration
Choose “Chromebook” as the “Keyboard Model”.
Each DE should default to the system configuration, but might need its own configuration which would similarly be available in their GUI tools. But you can check and set it manually from the command line, for example as in this thread.
Man, you’re no longer with us, but I am touched by the number of people you have positively impacted. Almost every DebConf23 presentations by locals I saw after you, carried how you were instrumental in bringing them there. How you were a dear friend and brother.
It’s a weird turn of events, that you left us during one thing we deeply cared and worked towards making possible since the last 3 years together. Who would have known, that “Sahil, I’m going back to my apartment tonight” and casual bye post that would be the last conversation we ever had.
Things were terrible after I heard the news. I had a hard time convincing myself to come see you one last time during your funeral. That was the last time I was going to get to see you, and I kept on looking at you. You, there in front of me, all calm, gave me peace. I’ll carry that image all my life now. Your smile will always remain with me.
Now, who’ll meet and receive me on the door at almost every Debian event (just by sheer co-incidence?). Who’ll help me speak out loud about all the Debian shortcomings (and then discuss solutions, when sober :)).
It was a testament of the amount of time we had already spent together online, that when we first met during MDC Palakkad, it didn’t feel we were physically meeting for the first time. The conversations just flowed.
Now this song is associated with you due to your speech during post MiniDebConf Palakkad dinner. Hearing it reminds me of all the times we spent together chilling and talking community (which you cared deeply about). I guess, now we can’t stop caring for the community, because your energy was contagious.
Now, I can’t directly dial your number to listen - “Hey Sahil! What’s up?” from the other end, or “Tell me, tell me” on any mention of the problem. Nor would I be able to send reference usage of your Debian packaging guide in the wild. You already know how popular this guide of yours. How many people that guide has helped with getting started with packaging. Our last telegram text was me telling you about guide usage in Ravi’s DebConf23 presentation. Did I ever tell you, I too got my first start with packaging from there. I started looking up to you from there, even before we met or talked. Now, I missed telling you, I was probably your biggest fan whenever you had the mic in hand and started speaking. You always surprised me all the insights and idea you brought and would kept on impressing me for someone who was just my age but was way more mature.
Reading recent toots from Raju Dev made me realize how much I loved your writings. You wrote
‘How the Future will remember Us’, ‘Doing what’s right’ and many more. The level of depth in your thought was unparalleled. I loved reading those. That’s why I kept pestering you to write more, which you slowly stopped. Now I fully understand why though. You were busy; really busy helping people out or just working for making things better. You were doing Debian, upstream projects, web development, designs, graphics, mentoring, free software evangelism while being the go-to person for almost everyone around. Everyone depended on you, because you were too kind to turn down anyone.
Man, I still get your spelling wrong :) Did I ever tell you that? That was the reason, I used to use AR instead online.
You’ll be missed and will always be part of our conversations, because you have left a profound impact on me, our friends, Debian India and everyone around. See you! the coolest man around.
DebConf23, the 24th annual Debian Conference, was held in India in the city of Kochi, Kerala from the 3rd to the 17th of September, 2023. Ever since I got to know about it (which was more than an year ago), I was excited to attend DebConf in my home country. This was my second DebConf, as I attended one last year in Kosovo. I was very happy that I didn’t need to apply for a visa to attend. This time I submitted two talks - one on Debian packaging for beginners and the other on ideas on sustainable solutions for self-hosting. I got full bursary to attend the event (thanks a lot to Debian for that!) which is always helpful in covering the expenses, especially if the venue is a five star hotel :)
My friend Suresh - who is enthusiastic about Debian and free software - wanted to attend it too. When the registration started, I reminded him about applying. We landed in Kochi on the 28th of August 2023 during the festival of Onam. We celebrated Onam in Kochi, had a trip to Wayanad, and returned to Kochi. On the evening of the 3rd of September, we reached the venue - Four Points Hotel by Sheraton, at Infopark Kochi, Ernakulam, Kerala, India.
Suresh and me celebrating Onam in Kochi.
Hotel overview
The hotel had 14 floors, and featured a swimming pool and gym (these were included in our package). The hotel gave us elevator access for only our floor, along with public spaces like the reception, gym, swimming pool, and dining areas. The temperature inside the hotel was pretty cold and I had to buy a jacket to survive. Perhaps the hotel was in cahoots with winterwear companies? :)
Four Points Hotel by Sheraton was the venue of DebConf23. Credits: BilalPhoto of the pool. Credits: Andreas Tille.
Meals
On the first day, Suresh and I had dinner at the eatery on the third floor. At the entrance, a member of the hotel staff asked us about how many people we wanted a table for. I told her that it’s just the two of us at the moment, but (as we are attending a conference) we might be joined by others. Regardless, they gave us a table for just two. Within a few minutes, we were joined by Alper from Turkey and urbec from Germany. So we shifted to a larger table…but then we were joined by even more people, so we were busy adding more chairs to our table. urbec had already been in Kerala for the past 5-6 days and was, on one hand, very happy already with the quality and taste of bananas in Kerala…and on the other, rather afraid of the spicy food :)
Two days later, the lunch and dinner were shifted to the All Spice Restaurant on the 14th floor, but the breakfast was still served at the eatery. Since the eatery (on the 3rd floor) had greater variety of food than the other venue, this move made breakfast the best meal for me and many others. Many attendees from outside India were not accustomed to the “spicy” food. It is difficult for locals to help them, because what we consider mild can be spicy for others. It is not easy to satisfy everyone at the dining table, but I think the organizing team did a very good job in the food department. (That said, it didn’t matter for me after a point, and you will know why.) The pappadam were really good, and I liked the rice labelled “Kerala rice”. I actually brought that exact rice and pappadam home during my last trip to Kochi and everyone at my home liked it too (thanks to Abhijit PA). I also wished to eat all types of payasams from Kerala and this really happened (thanks to Sruthi who designed the menu). Every meal had a different variety of payasam and it was awesome, although I didn’t like some of them, mostly because they were very sweet. Meals were later shifted to the ground floor (taking away the best breakfast option which was the eatery).
This place served as lunch and dinner place and later as hacklab during debconf. Credits: Bilal
The excellent Swag Bag
The DebConf registration desk was at the second floor. We were given a very nice swag bag. They were available in multiple colors - grey, green, blue, red - and included an umbrella, a steel mug, a multiboot USB drive by Mostly Harmless, a thermal flask, a mug by Canonical, a paper coaster, and stickers. It rained almost every day in Kochi during our stay, so handing out an umbrella to every attendee was a good idea.
Picture of the awesome swag bag given at DebConf23.
A gift for Nattie
During breakfast one day, Nattie expressed the desire to buy a coffee filter. The next time I went to the market, I bought a coffee filter for her as a gift. She seemed happy with the gift and was flattered to receive a gift from a young man :)
Being a mentor
There were many newbies who were eager to learn and contribute to Debian. So, I mentored whoever came to me and was interested in learning. I conducted a packaging workshop in the bootcamp, but could only cover how to set up the Debian Unstable environment, and had to leave out how to package (but I covered that in my talk). Carlos (Brazil) gave a keysigning session in the bootcamp. Praveen was also mentoring in the bootcamp. I helped people understand why we sign GPG keys and how to sign them. I planned to take a workshop on it but cancelled it later.
My talk
My Debian packaging talk was on the 10th of September, 2023. I had not prepared slides for my Debian packaging talk in advance - I thought that I could do it during the trip, but I didn’t get the time…so I prepared them on the day before the talk. Since it was mostly a tutorial, the slides did not need much preparation. My thanks to Suresh, who helped me with the slides and made it possible to complete them in such a short time frame.
My talk was well-received by the audience, going by their comments. I am glad that I could give an interesting presentation.
My presentation photo. Credits: Valessio
Visiting a saree shop
After my talk, Suresh, Alper, and I went with Anisa and Kristi - who are both from Albania, and have a never-ending fascination for Indian culture :) - to buy them sarees. We took autos to Kakkanad market and found a shop with a great variety of sarees. I was slightly familiar with the area around the hotel, as I had been there for a week. Indian women usually don’t try on sarees while buying - they just select the design. But Anisa wanted to put one on and take a few photos as well. The shop staff did not have a trial saree for this purpose, so they took a saree from a mannequin. It took about an hour for the lady at the shop to help Anisa put on that saree…but you could tell that she was in heaven wearing that saree, and she bought it immediately :) Alper also bought a saree to take back to Turkey for his mother. Me and Suresh wanted to buy a kurta which would go well with the mundu we already had, but we could not find anything to our liking.
Selfie with Anisa and Kristi.
Cheese and Wine Party
On the 11th of September we had the Cheese and Wine Party, a tradition of every DebConf. I brought Kaju Samosa and Nankhatai from home. Many attendees expressed their appreciation for the samosas. During the party, I was with Abhas and had a lot of fun. Abhas brought packets of paan and served them at the Cheese and Wine Party. We discussed interesting things and ate burgers. But due to the restrictive alcohol laws in the state, it was less fun compared to the previous DebConfs - you could only drink alcohol served by the hotel in public places. If you bought your own alcohol, you could only drink in private places (such as in your room, or a friend’s room), but not in public places.
Me helping with the Cheese and Wine Party
Party at my room
Last year, Joenio (Brazilian) brought pastis from France which I liked. He brought the same alocholic drink this year too. So I invited him to my room after the Cheese and Wine party to have pastis. My idea was to have them with my roommate Suresh and Joenio. But then we permitted Joenio to bring as many people as he wanted…and he ended up bringing some ten people. Suddenly, the room was crowded. I was having good time at the party, serving them the snacks given to me by Abhas. The news of an alcohol party at my room spread like wildfire. Soon there were so many people that the AC became ineffective and I found myself sweating.
I left the room and roamed around in the hotel for some fresh air. I came back after about 1.5 hours - for most part, I was sitting at the ground floor with TK Saurabh. And then I met Abraham near the gym (which was my last meeting with him). I came back to my room at around 2:30 AM. Nobody seemed to have realized that I was gone. They were thanking me for hosting such a good party. A lot of people left at that point and the remaining people were playing songs and dancing (everyone was dancing all along!). I had no energy left to dance and to join them. They left around 03:00 AM. But I am glad that people enjoyed partying in my room.
This picture was taken when there were few people in my room for the party.
Sadhya Thali
On the 12th of September, we had a sadhya thali for lunch. It is a vegetarian thali served on a banana leaf on the eve of Thiruvonam. It wasn’t Thiruvonam on this day, but we got a special and filling lunch. The rasam and payasam were especially yummy.
Sadhya Thali: A vegetarian meal served on banana leaf. Payasam and rasam were especially yummy!Sadhya thali being served at debconf23. Credits: Bilal
Day trip
On the 13th of September, we had a daytrip. I chose the daytrip houseboat in Allepey. Suresh chose the same, and we registered for it as soon as it was open. This was the most sought-after daytrip by the DebConf attendees - around 80 people registered for it.
Our bus was set to leave at 9 AM on the 13th of September. Me and Suresh woke up at 8:40 and hurried to get to the bus in time. It took two hours to reach the venue where we get the houseboat.
The houseboat experience was good. The trip featured some good scenery. I got to experience the renowned Kerala backwaters. We were served food on the boat. We also stopped at a place and had coconut water. By evening, we came back to the place where we had boarded the boat.
Group photo of our daytrip. Credits: Radhika Jhalani
A good friend lost
When we came back from the daytrip, we received news that Abhraham Raji was involved in a fatal accident during a kayaking trip.
Abraham Raji was a very good friend of mine. In my Albania-Kosovo-Dubai trip last year, he was my roommate at our Tirana apartment. I roamed around in Dubai with him, and we had many discussions during DebConf22 Kosovo. He was the one who took the photo of me on my homepage. I also met him in MiniDebConf22 Palakkad and MiniDebConf23 Tamil Nadu, and went to his flat in Kochi this year in June.
We had many projects in common. He was a Free Software activist and was the designer of the DebConf23 logo, in addition to those for other Debian events in India.
A selfie in memory of Abraham.
We were all fairly shocked by the news. I was devastated. Food lost its taste, and it became difficult to sleep. That night, Anisa and Kristi cheered me up and gave me company. Thanks a lot to them.
The next day, Joenio also tried to console me. I thank him for doing a great job. I thank everyone who helped me in coping with the difficult situation.
On the next day (the 14th of September), the Debian project leader Jonathan Carter addressed and announced the news officially. THe Debian project also mentioned it on their website.
Abraham was supposed to give a talk, but following the incident, all talks were cancelled for the day. The conference dinner was also cancelled.
As I write, 9 days have passed since his death, but even now I cannot come to terms with it.
Visiting Abraham’s house
On the 15th of September, the conference ran two buses from the hotel to Abraham’s house in Kottayam (2 hours ride). I hopped in the first bus and my mood was not very good. Evangelos (Germany) was sitting opposite me, and he began conversing with me. The distraction helped and I was back to normal for a while. Thanks to Evangelos as he supported me a lot on that trip. He was also very impressed by my use of the StreetComplete app which I was using to edit OpenStreetMap.
In two hours, we reached Abraham’s house. I couldn’t control myself and burst into tears. I went to see the body. I met his family (mother, father and sister), but I had nothing to say and I felt helpless. Owing to the loss of sleep and appetite over the past few days, I had no energy, and didn’t think it was good idea for me to stay there. I went back by taking the bus after one hour and had lunch at the hotel. I withdrew my talk scheduled for the 16th of September.
A Japanese gift
I got a nice Japanese gift from Niibe Yutaka (Japan) - a folder to keep papers which had ancient Japanese manga characters. He said he felt guilty as he swapped his talk with me and so it got rescheduled from 12th September to 16 September which I withdrew later.
Thanks to Niibe Yutaka (the person towards your right hand) from Japan (FSIJ) gave me a wonderful Japanese gift during debconf23: A folder to keep pages with ancient Japanese manga characters printed on it. I realized I immediately needed that :)This is the Japanese gift I recieved.
Group photo
On the 16th of September, we had a group photo. I am glad that this year I was more clear in this picture than in DebConf22.
I attended the training session for the video team and worked as a camera operator. The Bits from DPL was nice. I enjoyed Abhas’ presentation on home automation. He basically demonstrated how he liberated Internet-enabled home devices. I also liked Kristi’s presentation on ways to engage with the GNOME community.
Bits from the DPL. Credits: BilalKristi on GNOME community.Abhas' talk on home automation
I also attended lightning talks on the last day. Badri, Wouter, and I gave a demo on how to register on the Prav app. Prav got a fair share of advertising during the last few days.
I was roaming around with a QR code on my T-shirt for downloading Prav.
The night of the 17th of September
Suresh left the hotel and Badri joined me in my room. Thanks to the efforts of Abhijit PA, Kiran, and Ananthu, I wore a mundu.
Me in mundu. Picture credits: Abhijith PA
I then joined Kalyani, Mangesh, Ruchika, Anisa, Ananthu and Kiran. We took pictures and this marked the last night of DebConf23.
Departure day
The 18th of September was the day of departure. Badri slept in my room and left early morning (06:30 AM). I dropped him off at the hotel gate. The breakfast was at the eatery (3rd floor) again, and it was good.
Sahil, Saswata, Nilesh, and I hung out on the ground floor.
From left: Nilesh, Saswata, me, Sahil
I had an 8 PM flight from Kochi to Delhi, for which I took a cab with Rhonda (Austria), Michael (Nigeria) and Yash (India). We were joined by other DebConf23 attendees at the Kochi airport, where we took another selfie.
Ruchika (taking the selfie) and from left to right: Yash, Joost (Netherlands), me, Rhonda
Joost and I were on the same flight, and we sat next to each other. He then took a connecting flight from Delhi to Netherlands, while I went with Yash to the New Delhi Railway Station, where we took our respective trains. I reached home on the morning of the 19th of September, 2023.
Joost and me going to Delhi
Big thanks to the organizers
DebConf23 was hard to organize - strict alcohol laws, weird hotel rules, death of a close friend (almost a family member), and a scary notice by the immigration bureau. The people from the team are my close friends and I am proud of them for organizing such a good event.
None of this would have been possible without the organizers who put more than a year-long voluntary effort to produce this. In the meanwhile, many of them had organized local events in the time leading up to DebConf. Kudos to them.
The organizers also tried their best to get clearance for countries not approved by the ministry. I am also sad that people from China, Kosovo, and Iran could not join. In particular, I feel bad for people from Kosovo who wanted to attend but could not (as India does not consider their passport to be a valid travel document), considering how we Indians were so well-received in their country last year.
Note about myself
I am writing this on the 22nd of September, 2023. It took me three days to put up this post - this was one of the tragic and hard posts for me to write. I have literally forced myself to write this. I have still not recovered from the loss of my friend. Thanks a lot to all those who helped me.
How to Map Physical USB ports to Device Names on GNU/Linux lsusb command$ lsusb Bus 002 Device 004: ID 04b3:3025 IBM Corp. NetVista Full Width Keyboard Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 003 Device 123: ID 0951:1666 Kingston Technology DataTraveler 100 G3/G4/SE9 G2/50 Bus 003 Device 002: ID 2109:0815 VIA Labs, Inc. USB3.0 Hub $ lsusb -t /: Bus 06.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 10000M |__ Port 2: Dev 2, If 0, Class=Hub, Driver=hub/7p, 5000M /: Bus 05.
Earlier this year, gandi.net’s ownership changed and it was acquired by Total Webhosting Solutions. My domain and email were both hosted by this provider. Since I didn’t agree with the ownership change, I decided to switch my email provider. After discussing with Sahil, Snehal, Praveen, Nilesh, I shortlisted two email providers to choose from for ravi at ravidwivedi.in. One was purelymail and the other was mailbox.org. Since purelymail($10 per year) was cheaper than mailbox(€36 per year), I decided to give it a try. If this does not work out, I thought, I will switch to mailbox later.
Below are my steps on how I did it. The steps will be same in principle for any other provider you would like to switch to. So the guide will be helpful to you if you want to switch to any other email provider other than purelymail.
Be sure to read docs of the email provider you want to switch to in addition to this guide.
Step 1: Create an account on purelymail.com
First, I signed up on purelymail and created an account (like something@purelymail.com). They charged $10 upfront for creating this acount.
Step 2: Add your domain to your purelymail account
Sign in to your purelymail account and click on Domains section on the top and you will see a page like the screenshot below:
Click on ‘Add new domain’ as in the above screenshot.
Step 3: Enter domain name
Enter your domain name (like example.com) to the page which you got after clicking ‘Add new domain’ in last step.
Step 4: Create an MX record
Create a new MX record in your gandi.net portal or whatever domain registrar you bought your domain from. Use your mail provider docs to obtain these values and plug in.
Type
Host
Value
MX
(Empty)
mailserver.purelymail.com. (this is a sample value, you should put the value recommended by your email provider. dot at the end of the value is important.)
Step 5: Add an SPF record
Create a new SPF record as you did in Step 4. Again, use your mail provider docs to obtain these values and plug in.
Type
Host
Value
TXT
(Empty)
v=spf1 include:_spf.purelymail.com ~all (this is a sample value, you should put the value recommended by your email provider)
Step 6: Add a TXT record to prove that you own the domain
I am not sure if this step is necessary for other email providers or even for purelymail, but since it was recommended by their docs I added this value from my gandi.net portal. It is a TXT record like this:
Type
Host
Value
TXT
(Empty)
Redacted
Step 7: Add DKIM signatures
DKIM signature is for the email receiver to verify whether the email has indeed been sent by the domain owner. It is highly recommended. You can read more about DKIM signature here. Read your docs of your email provider and put the respective values.
Below is a sample taken from my steps:
Type
Host
Value
CNAME
purelymail1._domainkey
key1.dkimroot.purelymail.com.
Note: the dot at the end is important.
I added two other CNAME records in this step as suggested by purelymail docs.
Step 8: Add DMARC record
Create a DMARC record (check your provider docs for values) as you created other records in previous steps.
Type
Host
Value
CNAME
check your docs
check your docs
Step 9: Check your DNS records
Now we verify whether our records point to our new provider. Purelymail portal has a button ‘Check DNS records’ and it can find whether records you entered are correct. It takes a few minutes and sometimes a few hours for the DNS records to propagate.
Purelymail portal showing all DNS records were entered correctly.
Step 10: Create account on new provider
After all the records have been correctly added, create an account on purelymail by clicking ‘Users’ button at the top and create a new user. I created ravi@ user on my domain from there.
Step 11: Import data from gandi.net email
purelymail has an option to import data, like emails, calendar and address book from previous account. Use that option to import emails from gandi.net. Or you can use IMAP to login to your new provider in an email client like Thunderbird and manually copy all the emails to your new account.
Step 12: Delete gandi.net email and DNS records
Delete gandi.net email from the gandi.net portal and remove all the previous records which point to gandi.net for email(like MX, SPF, DKIM).
You are done. Enjoy your new email provider and let me know which one you switched to and why :-)
I installed FreeBSD 13.2 with KDE today on my Dell Inspiron 5482. I have heard good things about FreeBSD primarily as an operating system for servers, but the project claims that it works well for desktop users as well. So, I thought I will give it a try. There were some things I had to figure out during the installation which I will note in this post for future reference. And I had to uninstall FreeBSD within hours of installation, due to issues I faced so it didn’t went well. I am going to list them here and how I figured out some things.
Regdomain selection during install
During install, the installer asked me to select a regdomain. I figured out that the default option – FCC/United States of America worked for me.
Xorg didn’t startup
Post installation, I installed xorg in FreeBSD and added a file /usr/local/etc/X11/xorg.conf.d/20-intel.conf as per the example 1 in the official handbook. But startx command wasn’t working, so I ran the command:
Xorg -configure
and then
cp /root/xorg.conf.new /usr/local/etc/X11/xorg.conf followed by editing the file /usr/local/etc/X11/xorg.conf by changing Driver value to "i1915kms" under the Section “Device”.
Managing brightness during startup
When using FreeBSD, my keyboard’s brightness buttons were not working. To decrease brightness, I used the preinstalled backlight utility.
I couldn’t manage the brightness to be automatically low at startup. It was at 100% after very time I booted.
Crashed frequently
The system crashed frequently and wasn’t stabled at all. It automatically reboots after some time. I tried to debug and fix, but couldn’t. So, for now I have uninstalled FreeBSD.
Snikket is a server side software for XMPP chat communications. This guide is for anyone who wants to set up a Snikket server behind nginx. The operating system on the server is debian in my case. My guide is based on the official guide.
Run all the commands mentioned below as root.
Point your domain to server’s IP address
Install curl for debian
apt install curl
Now run:
curl -4 ifconfig.co
The output of the previous command is the IP Address of the server you are using.
Create an A record corresponding to the domain you want to use. Since I have domain ravidwivedi.in, I will deploy my chat server at the subdomain chat.ravidwivedi.in.
Create CNAME records for groups.chat.ravidwivedi.in and share.chat.ravidwivedi.in so that they point to chat.ravidwivedi.in
Open required ports
Open required ports if you are behind a firewall like ufw. The official Snikket docs list which ones you have to allow.
Docker and snikket configuration
Install docker and docker-compose packages on your server. The commands for debian are:
apt install docker docker-compose
Snikket configuration
Create a snikket config file and download docker-compose.yml file prepared by the Snikket project.
mkdir /etc/snikket
cd /etc/snikket
curl -o docker-compose.yml https://snikket.org/service/resources/docker-compose.beta.yml
Create a file named snikket.conf in the /etc/snikket directory with the following contents (replace appropriate fields according to your domain and email):
# The primary domain of your Snikket instance
SNIKKET_DOMAIN=chat.ravidwivedi.in
# An email address where the admin can be contacted
# (also used to register your Let's Encrypt account to obtain certificates)
SNIKKET_ADMIN_EMAIL=your-email@ravidwivedi.in
Nginx config and HTTPS
For nginx setup, we follow Snikket project’s reverse proxy docs. We will also setup HTTPS certificates using certbot. Let’s install nginx and certbot:
Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/chat.ravidwivedi.in/fullchain.pem
Key is saved at: /etc/letsencrypt/live/chat.ravidwivedi.in/privkey.pem
This certificate expires on 2023-10-23.
These files will be updated when the certificate renews.
Certbot has set up a scheduled task to automatically renew this certificate in the background.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
If you like Certbot, please consider supporting our work by:
* Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
* Donating to EFF: https://eff.org/donate-le
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
We want nginx to listen at ports 80 and 443. So, let’s direct Snikket to bind to ports 5080 and 5443 to avoid conflict with nginx. To do this, add these lines to /etc/snikket/snikket.conf:
Now create a file /etc/nginx/sites-available/chat.ravidwivedi.in and add the following contents to it, followed by replacing ravidwivedi.in with your domain name and specifying correct ssl_certificate path to the location of your certificates.
server {
# Accept HTTP connections
listen 80;
listen [::]:80;
server_name chat.ravidwivedi.in;
server_name groups.chat.ravidwivedi.in;
server_name share.chat.ravidwivedi.in;
location / {
proxy_pass http://localhost:5080/;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# This is the maximum size of uploaded files in Snikket
client_max_body_size 104857616; # 100MB + 16 bytes
}
}
server {
# Accept HTTPS connections
listen [::]:443 ssl ipv6only=on;
listen 443 ssl;
ssl_certificate /path/to/certificate.pem;
ssl_certificate_key /path/to/key.pem;
server_name chat.ravidwivedi.in;
server_name groups.chat.ravidwivedi.in;
server_name share.chat.ravidwivedi.in;
location / {
proxy_pass https://localhost:5443/;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# REMOVE THIS IF YOU CHANGE `localhost` TO ANYTHING ELSE ABOVE
proxy_ssl_verify off;
proxy_set_header X-Forwarded-Proto https;
proxy_ssl_server_name on;
# This is the maximum size of uploaded files in Snikket
client_max_body_size 104857616; # 100MB + 16 bytes
# For BOSH and WebSockets
proxy_set_header Connection $http_connection;
proxy_set_header Upgrade $http_upgrade;
proxy_read_timeout 900s;
}
}
In the above config, we need to specify path to our certificates created by certbot in an earlier step of this guide. Locate the following lines:
The output of my certbot command earlier told me that the certificates are at /etc/letsencrypt/live/chat.ravidwivedi.in/fullchain.pem and ssl_key is at /etc/letsencrypt/live/chat.ravidwivedi.in/privkey.pem
So we change the above mentioned two lines in the nginx config at /etc/nginx/sites-available/chat.ravidwivedi.in to:
Snikket project has a page mentioning additional lines you can add to your snikket config file, like for example, setting limit on size of each attachment. Also, check out the upgrade page on how to keep snikket software updated.
If you are using Snikket, be sure to donate to the Snikket project to support them.
We are pleased to announce that we got a grant from FOSS United worth ₹1 lakh, which helps us in maintaining the existing various services we provide which includes, but not limited to poddery.com, codema.in etc. Our funds are managed by non-profit Navodaya Networks as we are not a registered organization.
We thank FOSS United and Navodaya for their support. Thanks to contributions like these, due to which we are able to run privacy respecting services for the general public. Consider donating to FSCI today to keep our services running. You can see how we spend this money at the accounting page.
For two years 2023 and 2024, we targeted ₹1,50,000 as amount for crowdfunding campaign. Getting ₹1,00,000 from this grant means our target from donors is reduced to ₹50,000 for these two years.
We thank all the people who donate to us and volunteer time to run these services. Without them it would not have been possible. We are always looking for new people to volunteer and if you are interested, talk to us. Here is list of services we provide. Feel free to use them!
Help us through your donations so that community backed privacy respecting services continue running.
You might have already read my blog titled ‘Running PostmarketOS on my
phone’. After running pmOS on phone, my mind kept talking “run
Debian”. So I started preparing for that.
At the moment no straight way tool exist in Debian like
postmarketOS’s pmbootstrap. Well I can compile what is already available,
do debootstrap rootfs. But I don’t know how to build the final image
that can be flashed from recovery.
One crooked idea I had is, extract the pmOS image, find the packages
and its configurations. For eg: usbmodem package in postmarketos are
configured to connect to host network when plugged.
I deboostrap’ed the rootfs, compared with postmarketos and installed
extra packages and copied configuration. I repacked and compressed to
new image. Then flashed with twrp.
The phone was booting. So I connected the usb cable and run,
ssh abhijith@172.16.42.1
abhijith@172.16.42.1's password:
Linux arm64 3.10.107-Cherry #1-postmarketOS SMP PREEMPT Sat Dec 18 13:08:52 UTC 2021 aarch64
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
abhijith@arm64:$
Yay!. I have a working Debian phone. I quickly installed lxde and that is
working perfectly.
Recently, I read news about Karnataka state government announcing free bus rides for women in the state. It was in the Indian National Congress’ pre-election guarantee, so no big surprise on the announcement. I wondered what changes this announcement makes in terms of people’s lives, even when the Delhi government announced such a scheme earlier. I thought such a decision is far from attaining any real goals of women safety and is only an easy way for politicians to earn some goodwill in the name of gender equality, rather than doing any long term work for gender equality. Earlier when I saw advertisements of providing free bus tickets by the Delhi government, they never mentioned any claims on what this move is intended for. One thing I could infer was that greater number of women going out may impact safety, but I was overall not sure on what this policy achieves.
I got a new perspective on the issue when, a couple of days ago, I read an article by The Guardian on the same topic. Then I found another article with similar arguments in the Indian Express. Later I read a report in the Times of India on how free bus ride scheme helped women in Chennai. These writeups shed light on the benefits of free bus rides to women which I could not think of myself (shows my ignorance:( ).
You can click on the links of the articles and read them there. But I will summarize here: In India, many women rely on family males for money (which is also used as a form of control) and so they have to rely on their savings to travel. I also had misconception, due to the scheme’s counterpart in Delhi, that the fares of city buses are not much to make a real difference. But in the Karnataka case they are. I know from my experience that Karnataka’s capital city Bengaluru has expensive public transport compared to other Indian cities. For example, bus fare from Bengaluru Airport to Satellite Bus station, which is also in Bengaluru, was 246 Indian Rupees six years ago, and I have never seen such a high price in a city bus run by government within any other Indian city. Also, due to scheme being available in the whole state, which I somehow overlooked, women will be able to get free rides for which they would have to pay huge amount otherwise. This will boost their savings, ease travel for women, increase the number of women in public transport leading to even more women travelling in buses. It is also expected to increase women participation in labour which matters in a country where women labour participation is very low. Obviously, such a scheme also needs to be evaluated in terms of economic terms and bigger picture of state finances, but the point is that the scheme has a lot of potential and upsides, where I struggled to find any.
DebUtsav Kochi 2023 was held on June 17th, 2023, at Model Engineering College, Thrikkakara, Kochi. This was organized by the team at FOSSMEC with help from Abraham Raji.
I first heard about DebUtsav when, in our DebConf India team meeting, Abraham, mentioned that a college in Kochi wants to host a Debian event. As most folks were already engaged in DebConf related stuff, it was mostly he who helped and guided them for the event. Though, in the meeting, Abraham and Kiran joked around on the line that we might have someone coming from Gurugram (referring to me). Back then, I had no plans of attending the event; I didn’t know how things would change eventually, and I, along with Ravi were going to attend the event eventually and speak at it too.
The concept of DebUtsav was conceived in the Debian India community on the premise that it’s not possible to have all talks directly related to Debian and/or Free Software. The first of DebUtsav’s was also held in Kochi in 2017. Later, DebUtsav Goa and Delhi also took place. You can check out DebUtsav website archives here. Looking at this archive, it seems DebUtsav predates DebUtsav Kochi 2017. Maybe someone who attended those can shed some more light on the origin.
Coming back to DebUtsav Kochi 2023, seeing that the event is on a Saturday and remembering how fun Debian IRL events are, I eventually decided to attend the conference anyhow. I asked Ravi if he wanted to join, and he agreed. On learning about this later, Abraham called and asked if I could give a talk on the Debian community, as I actually came through the community route, doing community stuff to become a Debian Developer. I agreed without much thought (I usually agree to all speaking engagements at Debian events somehow; I speak too much sometimes :)), as I was in train then. Eventually, I had the (in my mind, brilliant) idea to name my talk “How I Became a Debian Developer, and you could too”.
As usual, Ravi and I met directly at the Delhi airport, from where we had our Kochi flight. Due to busy days preceding the conference, I hadn’t fully prepared my presentation uptil the day of the conference. We landed a day before in Kochi, but I was too tired to be up for completing the presentation, so I asked Ravi to wake me up at 6 in the morning, which he indeed did. I managed to cobble together the final presentation and structure in 1.3 hours. Then we walked to the venue, which was some 900 meters from our hotel, where we met my speaker POC, Arjun, who was a first-year and core team member of FOSSMEC there. He helped me with various things during the conference, for which I’m grateful. Then I got busy meeting old and new friends.
This was my debut on an event standee. Image stolen from Kurian's blog :P
The conference started with a lamp lighting ceremony, followed by a panel discussion on the topic “Introduction to Debian: Exploring the Foundations of Open Source.” . Abraham, Abhijit, Bilal and I were on the panel with a moderator. In the first segment, an already prepared set of questions was posed to us, which turned out a bit formal. The team had arranged for the audience to pose their own questions, which were in turn displayed on screen. In the next segment, the moderator helped us go through the questions, which ranged from how stable releases are managed to opinions on Snap and AppImage to what desktop environment we run. This turned out to be an interesting discussion. Following this, attendees moved to their respective talk venues. I had my talk in set 1, so I went there. My talk was preceded by Andrew Bastin’s talk on “A journey in the world of sync systems”. He presented the talk like a story, where he mentioned the name of the project first and walked us through the journey before concluding with revealing the full name, which directly correlated with the journey. Andrew did a great talk, filled with quirky anecdotes, humor, and technical facts that essentially held my attention throughout the time he was speaking at the dias. I really looked up to his delivery and the ease with which he gave the talk. It essentially made me nervous for my own talk. His talk gave me multiple pointers to work upon for improving my talks. Thanks, Andrew.
Abraham and me during the panel discussion
Me presenting my DD journey
Next came my talk, which turned out better than I had anticipated, and I did manage to speak for 30 minutes straight without knowing as I didn’t have any clock in sight. My talk, “How I became a Debian Developer, and you could too” chronicled my journey of becoming a Debian Developer, non uploading. When Abraham called me to present a talk on the Debian community, I thought about how the Debian community functions. But as I gave the topic some thought, I found that just telling the audience what and how things work on Debian would be uninteresting. Making a story about it would spice things up a little. Then the idea of telling my journey and connecting it with how things are done in the Debian community came to me, which I formulated into the talk. My talk was followed by a small Debian quiz and then Kurian’s talk on “AI with Malayalam Computing” which was dense with facts and AI, which isn’t my area.
The good folks at FOSSMEC sent some pictures as well, so I have more photos than usual to share here.
This time around, we did manage to roam around the city for some sightseeing. We managed to cover Marine Drive, Kochi Water Metro, Fort Kochi and Jew Town, which were beautiful and colorful. Going around Kochi Water Metro, with large windows through the backwaters, was real fun. I had never thought a metro-like service could be implemented for daily commutes; it would be a real good use of the water bodies of a city built around water.
A Street in Jew Town, Kochi
Kochi Water Metro
Overall, it was a fun and productive trip. I also got to know the geography of Kochi before coming back here for DebConf.
OpenStreetMap (OSM) is a free, open geographic database which is community maintained and directly or indirectly used by corporations and common folks alike. It’s mostly used by privacy centric users, who don’t want to use Google Maps. I’m an avid fan of OpenStreetMap since 2020 and love tracing roads and adding missing areas for it. The idea to have a mapathon in Chandni Chowk came from seeing many unmapped banks and ATMs there. I had never attended an OSM mapathon before and had no idea how things work out in one other than just getting people together and map to improve Chandni Chowk map. Had this discussion with contrapunctus (Kashish) when we first met. contrapunctus has been mapping public transport (and other stuff) in Delhi since a very long time. He’s the reason, we have most of the Delhi-NCR bus routes in OSM in navigable state. contra and I, met and deliberated on how we’ll organize this while mapping Nehru Place, He also had some experience teaching newcomers OSM mapping due to his present work.
It was decided that the mapathon cum meetup would be held on 11th June with venue being Kacha Bagh. Invites were sent on OSM-IN channels, mailing list and other free software aligned places. 11 folks showed interest (which was 8 more than we anticipated). After, Ravi and I showed up at the park. We got to know that the park remain close on Sundays, which was a bummer. We scrabbled to find an alternate meetup spot, as we wanted shade for the initial hour or so to sit and know all the attendees and zeroed in on Company Bagh, which was not the most ideal place to sit and talk due to multiple cricket matches going around. In total 6 folks showed up. Ravi, contrapunctus, Kuber, Hari, muzirian (Kelvin) and me. We had a small meet and greet and then discussed our motivations for using and contributing to OSM. Then contra did an introductory session on contributing through Vespucci. I used to find Vespucci too complicated and use to stick to StreetComplete and OSMand for my mobile contributions. Post the session, got a basic idea of how things work out in Vespucci. Then we proceeded to the main street of Chandni Chowk together for mapathon. We divided who would do what nodes. I started added surveillance cameras, banks and ATMs, Ravi started added dustbins, muzirian did mostly shop, while contra, Hari and Kuber mostly did freestyle edits. We mapped for almost an hour and did around 500 meters covering streets from Company Bagh till Fathepuri Masjid. Though we weren’t able to cover more ground, it is anyhow progress towards a better OSM.
It was a fun and interesting meetup, and we plan to continue holding these mapathon-meetups in various parts of Delhi.
Mapathon participants group photo. Click to enlarge From left - Kuber, Hari, me, muzirian, Ravi and contrapunctus.
As the tradition dictates, we at Debian India organised an online release party for the next stable release of Debian, codenamed bookworm on 10th June. The initial discussion started a while back, but we had a planning meeting just 3–4 days before the release party date. As most of us were busy with DebConf or DebUtsav Kochi stuff, we didn’t have time to explore new ideas for events . The consensus was to have a technical overview of changes, a Debian trivia quiz and ending with SuperTuxKart gaming event. As we used to keep discussion improvements to Debian, we decided to hold a discussion on What Debian lacks/need to improve. This was later taken up by Akshay. A call for proposal was sent along with announcement on debian-dug-in mailing lists and Debian India channels, though no one took that offer.
As Jitsi usually fumbles with large crowds with camera on. We choose to have the party on BigBlueButton. Like last year, Abhas generously supported us with a room on his BigBlueButton instance, and we created a redirect behind 12.debian.org.in to this room.
On 10th, the release party started around 7:45 PM IST. As usual, the mood was light and fun. Around 16 people joined the party at it’s highest. Abraham started with a technical overview covering changes in bookworm. A major highlight for me was the inclusion of non-free firmware on official ISOs, which would essentially ease one of the biggest pain point for new user on-boarding. Now, I would be able to directly recommend Debian to new users, rather than Linux Mint, due to getting the firmware right. Sidenote, I too personally struggled with getting the drivers right for almost a month when I started using Debian way back in 2020. Coming back, technical overview was followed by Debian trivia by Anupa. Initially I was confident about the quiz, though the questions Anupa brought were harder than I had anticipated and taught quite a few things about Debian. This was followed by Akshay’s “Discussion - What Debian lacks/need to improve” session. Akshay, being an Arch user, had some insights to highlight where Debian can improve. He had collected statements and walked us through the viewpoints. Meanwhile, Abraham also gave a quick overview of a draft re-design for debian.org.in website to ease user onboarding, which he mentioned we lack. Then we took the group photo and moved onto the SuperTuxKart gaming party, which was fun as always. We did record the party, but I have no ETA when this would be available.
I’m yet to upgrade servers under my management to bookworm, as I usually wait it out a few days after a release so that teeny-tiny bugs are reported and iron-ed out and for cooling down of download mirror loads. Maintaining a Matrix instance through synapse has made me cautious about not being on the bleeding edge of new releases. Recently, also got a new perspective that with the now omni-present mix-match usage of third party repositories, waiting a little more bit for them to be up to speed with new stable would remove much of the troubles post updates.
Good then, and see you in DebUtsav Kochi and/or DebConf Kochi :)
Movim is a federated blogging and chat platform that acts as a web frontend for the XMPP protocol.
The project’s web UI for xmpp (jabber) is really good & also mobile friendly.
Imposter syndrome, a struggle experienced by many, has been a constant presence in my life. Despite my coding skills and technical knowledge, there are times when I can’t help but feel like a fraud, merely faking my way through. But I’ve come to realize that imposter syndrome is a common phenomenon, and I am not alone in this battle. Through self-reflection and embracing my true abilities, I’ve learned to navigate these feelings and grow both personally and professionally.
A writ petition has been filed on the matter by Praveen and Kiran on behalf of FSCI with the assistance of lawyers from SFLC.in in the Kerala High Court.
As per media reports, 14 apps including Free Software ones like Element and
Briar are banned in India as of 3rd May 1. As per reports the
reasoning behind the ban seems to be, “These apps do not have any
representatives in India and cannot be contacted for seeking information as
mandated by the Indian laws”. This statement indicates to us that there are gaps
in understanding on how federated services work (see Notes section
below for a detailed explanation).
There is a lack of clarity on the manner in which the ban will be implemented.
We assume that the applications will be de-listed from the app stores.
Element, the company behind Element app, has put out a statement 2
explaining their position on the ban. We get to know that Indian authorities
have contacted them in the past to which they have responded constructively
which goes against observed reasoning for the ban. Element also had to know
about the ban from media reports since there was no communication informing them
of the ban.
While Element never compromises end-to-end encryption or user privacy, we have
been contacted by Indian authorities in the past and addressed them in a
constructive fashion (typically responding same-day).
As we understand it, Indian government officials claim to have approved the
ban due to Element (and other apps) not having representatives in India.
That is a bit of guesswork on our part, because we did not receive any prior
notice of the decision; clarification from the Ministry of Electronics and
Information Technology would be most welcome.
There seems to be a lack of understanding on part of the government on how these
P2P software as well as federated apps work. These applications have been
crucial for communication during disasters and are used regularly as
communication medium in workplaces.
The ban, we believe, will not serve the purpose as there are many anonymous
alternate apps that can be used by terror outfits to fill their purpose.
Federated, peer-to-peer, encrypted, Free Software apps/software like Element and
Briar, should be promoted. They are key to our national security as they provide
means to enable sovereign, private and secure communication to citizens of
India. Element has been embraced by Governments of France 3,
Germany 4 and Sweden 5 which should be an example for
India.
Notes:
Email is federated, has existed for a long time, and the logic which they
applied to banning Element would apply to K-9 Mail, a Free Software client app
for email, as well. Email service is provided by many service providers like
Google, Microsoft and many others who don’t have any representatives in India.
Matrix, like email, is federated and is the protocol behind the service. Element
is just one of the matrix clients and matrix.org is just one of the matrix
service providers. Banning all instances, clients and implementations of matrix
is similar to banning all email service providers, email clients and whole email
infrastructure, which would be nearly impossible for the government and a new
service provider and/or client can come up very easily rather quickly.
Similar to how Matrix is federated, Briar is a P2P (peer-to-peer) app which
means it does not even have a service provider and users who use it need to be
online concurrently. Also it does not require internet connection and can be
used over a bluetooth or wireless connection. It is useful in emergency
situations like natural disasters where all other media for communications
become offline.
We had to share the archive links to all element.io website links since it’s already
blocked by multiple ISPs in India.
Ever since I saw elementary os sporting the very legible Inter font for its UI and site, I wanted to make it part of my desktop too. The only problem was any font I'd choose got a little blurry. Not any more!
Open up /etc/environment and then add the following line to the end of it.
I attended FOSSASIA 2023 summit held
at Lifelong Learning Institute,
Singapore. A 3 day long parallel talk filled conference. Its my second
time attending FOSSASIA. The first one was 2018 summit. Like
last time, I didn’t attend much talks but focussed on networking with
people. A lot of familiar faces there. PV Anthony, Harish, etc.
I vounteered to run Debian Booth at the exhibition hall distributing
stickers, flyers. Rajudev also helped me at the booth. Most of the
people there used debian or its derivates or know debian already, its
easier for me that way, that I don’t have do much explaining compared
to other booths. Thanks to Parth for looking after booth in my breaks.
Sometimes our booth also act as cloak room :). Ours was close to
the entrance door and we may be similar faces to folks. So people come
and drop their bags before they go to talks.
One thing I love about the such conference is that people have very
different hardwares that I never able to see otherwise. I remember KDE
booth had a Steam Value portable gaming board running KDE plasma. Then
a person have this eyeglass which act as a monitor. Then the usual
DJI drones but custom programmed. It was very lovely to meet and play
around with exotic hardwares.
Clear sky, little hot and humid. The weather was quite nice for me
except the surprise rain and small thunderstorms. Comparing to my
place’s temperature, its wonderful.
RSS and atom feeds are new love for me, just like how a teenager newly discovers Instagram.
I discovered using RSS and atom feeds only some months ago, so the concept is very new to me. But, being immersed in Linux and related technologies, I quickly caught up using them.
(Indians: it's not that RSS you thinking about 🤪)
Coming to know about minimal web and feeds
Though, I may have seen various minimal sites before, in my life. But I started appreciating their concept only recently. It mostly started with seeing bugswriter's YouTube channel and later his website. I started appreciating the concept of minimal utilities and programs. Minimal websites are mostly written with plain HTML and minimal CSS and JavaScript. They are lightweight, mostly adaptive and work goodly with almost any browser, even terminal browsers like Lynx, Links.
What did I use earlier?
Although i used to read articles on Internet very much earlier; but my workflow for them was not very organised. Some of them came up when I searched for something on search engines, or some of them Google News suggested me.
Google News suggested a lot of normie articles to me, so I had to keep scrolling to find good articles. Finding articles to read through search engines was also limiting as I would be limiting my reading material to what I search only.
How are feeds better?
RSS and atom feeds provide a way to me check new articles on diverse websites in a single way. The website may be a minimal website, or a bloated website. Even YouTube and Reddit have hidden working RSS feeds. While Youtube or Reddit may not show you all the stuff you have subscribed to, feeds provide you all the entries without any algorithm. So you can subscribe to content that way and never miss some updates.
Also this way, I don't need to use the bloated websites, or even check for my favourite stuff on multiple different websites, and can see them all in one place.
Feeds are a minimal concept
Coming to collaboration of minimal websites and feeds; Feeds are the best combination with minimal websites, as they themselves are minimal delivery mechanism for updates. However big or complex a site is, feeds are standardised and most sites would follow the same standards, either atom (RSSv1) or RSS (RSSv2) feeds. The standards are quite minimal and satisfactorily complete at the same time: providing basic entries like uploaded date, modified date, unique ID, author, language, brief description, external link, etc.
How to receive feeds?
You need to use some specialised program to interact feeds. There can be multiple solutions for that:
Some programs or browsers like Thuderbird, Vivaldi may come with an inbuilt feeds reader.
There are multiple websites, like Feedly, available; providing you web apps for a feed reader, along with a mobile app for syncing.
There are multiple CLI programs, like Newsboat that you can use to receive feeds.
Also there are multiple native GUI apps for feeds, like Liferea, NewsFlash, etc.
There are also multiple self hosted solutions like TinyRSS, FresRSS, miniflux. They all come with an adaptive website, so you can view feeds on all your devices, and sync your read and favourites history. These self hosted solutions also come with open API's and numerous open source apps can connect with those to provide a native experience. All the apps on all your devices would connect to same instance to sync the data, but you would still be using native apps. For example, miniflux can be connected with newsboat (a CLI feed reader), Newsflash (a Libadwaita based GUi feed reader, supporting multiple hosted solutions), Miniflutt (a minimal android feed reader, designed to work with Miniflux), ReadYou (a new in-develoment Material You android app supporting multiple hosted solutions)
Love for feeds and minimal web
Using feeds give me the same vibes as how an Indian teenager (or any other teenager) recently discovers vast world of social media, particularly Instagram. Though we may despise Instagram due to privacy issues and stuff, I still remember the first time I started using Instagram: it was a new kind of excitement, discovering something new on Internet. The same excitement I get through using feeds and minimal web. Whenever I come across some interesting profile (be it GitHub, LinkedIn, YouTube channel, Mastodon profile), I always search for a personal website. Many of them contain blogs and I always look for a feed link, and add it it immediately to miniflux . Whenever I get a new update, whenever I check my feeds daily in the Newsflash or Miniflutt app, I get excited to read the newly available article. Being master of what I read and control it fully is a liberating experience.
Request
So all the Linux and tech people, please have a personal website (it need not be hosted on your own domain) and atleast write something. It would improve your writing, and communication skills, while also creating content for yourself, which would fill your website and make it look like atleast you have done somethinga and you know something in your field. In case you are looking for feed link from my website: it is https://hemish.net/posts/atom.xml
I wrote this to provide others an aggregated view to how to solve this problem, and not lurk in multiple formus or threads to find the solutions.
I have a Dell Latitude 5490 and since the time I had bought this, I had this problem, both in Windows and Linux distros: When I would click Sleep/Suspend it would try to suspend, but the power LED light will remain there and would freeze, and it wouldnt respond to keyboard or mouse actions, and the only way to wake it up was to hard power off it by holding the power button for 5 seconds and booting again. This was not good as it would often lead to minute data loss, or sometimes disk errors.
There was a simple workaround: to turn off the auto sleeping and just power off the laptop. But that defeated the whole purpose of having a laptop.
Another workaround I found out was that the sleep worked fine if it was initiated with administrator priveleges. At Windows' side, I enabled the Administrator user and set it as default working user. In Linux, I used to do sudo systemctl suspend to suspend with administrative powers. It worked for most of times, but casually had the same problem also.
I lurked across various forums including Ubuntu forums, Arch forums, Reddit and found out a lot of solutions which I am all aggregating here.
To fix suspend not working on Dell Latitude 5490 and other laptops in the 54xx series, you should do all the following steps:
Add your user to power group by the command:
sudo usermod -a -G power $USER
Update your firmware using either CLI using fwupd or just using a frontend like GNOME Software Center.
I don't know which one of this does the trick, but putting all of them does no harm and suspend works gracefully and has not failed since I used them all.
If you are a technical user and know the internals, you already know how to use these kernel parameters, but here is a guide for those who don't know:
To add these kernel parameters in your bootloader in distros like Ubuntu, Fedora, you can follow these steps:
Open the terminal and type:
sudo nano /etc/default/grub
Find the line that starts with GRUB_CMDLINE_LINUX_DEFAULT and add your kernel parameters to it.
Save and exit by pressing Ctrl+X, then Y, then Enter.
Update GRUB entries by typing sudo update-grub
If you’re using a bootloader other than GRUB, you can add these kernel parameters by following similar steps specific to your bootloader. Like I use EFISTUB (which is infact not a bootloader, it is Linux Kernel loading itself into memory), I just greate new entries for my kernel.
I am sure that if you perform all these steps, suspending would work beautifully. Thanks, I hope this would help.
Cumulated to this day, after working here for 1 year, 10 months, 4 days, I would type “In office” for the last time. Now on, I wouldn’t get the opportunity to skip the incoming metro to grab an extra five minutes of book reading time on the station. No working in the massive and beautiful DLF Epitome tower, right next to Phase II metro station. No office lunch and post lunch walks at parking level 6 or parking level 5 or finally parking level 4 :P
Maybe the move was long time coming or the opportunity in hand aggrieved it or the fear of layoffs in tech sector or maybe my thought of not regretting trying and experimenting profile switch decades from now made me do it. MMT was the first company I started with as a full time employee right after college. It made me understand the corporate world, the way it functions. It made me realize that corporate is one large college project (albeit with folks with more experience) working towards the common project submission under different categories.
Letting folks know that I have taken the next opportunity, and we wouldn’t be seeing each other daily, was harder than even filing my notice. The feeling of telling them and seeing them sad was heart-wrenching. This kept on happening till today.
My story at MMT wouldn’t be complete without mention of a few folks who I look upto and/or loved hanging around. This whole thing wouldn’t happened lest Roubal hadn’t referred (and encouraged) me to the job when I was a bit helpless with direction I would take in terms of professional life. Being here helped me grow and find stuff I like and would like to pursue further and gave the financial stability along the way, so thanks man! I cherish your friendship a lot; since we met in first year of college 6 year back (man! We know each other since 2017, that’s long :D). I started with Desktop/PWA team in MMT, and Vidit helped me stand on my feet, patiently guiding me through how stuff work, within and without company. We eventually became roommates when we moved to Gurugram, and then I learned a whole different aspect from you on how to live independently. It was my first time living away from home and you being there helped ease the transition a lot. Next was Muskan, who I usually text starting with arey muskan. Muskan you’re a strong woman, aggressive and composed when required and fun to be to talk to. Never had any doubt around your abilities to handle situations when I usually fumble and didn’t know how to manage the situation. Our talks (in office and around) are always fun, and you have more potential than you realize. Also, you being the first person and know about my decisions to move forward with this opportunity. (man now that I’m writing, I’m feeling I have so much to say to folks).
Ab baat karte he Digi sir ki, Digivijay sir se sir bolna sikha :D. It feels good (not sure why) sometime using sir saluations with friends. Had hell lots of discussions, which I’m sure I couldn’t have with anyone else, with you. Fun ki paribasha ho sir aap. Learned how to enjoy life with you (and partying hard). We need to meet soon na. Then came Aditi, college junior from my own college. Now, she being two year younger always made me feel like an elder brother to her. How can we forget all the dance moments we shared. Going to miss those a lot. Only few folks can match my dance stamina, na :D. No doubt, you’re mature, and I have high hopes from you.
Next came my folks in Kitaabe. I never did share such passionate group around books ever, and the impromptu decision to form Kitaabe was for the best. Folks here became my go-to folks for arcades, movies, parties, trips and formost books; loads of book exchanges and discussions. Special shoutout to A Man Called Ove by Fredrik Backman, which started it all, which almost all of us devoured one after another by passing the copy.
Telling Aviral and Mohita that I’m leaving, was probably the hardest amongst the lot. You both know why. We started connecting more towards the end of my period here, which was sad becuase we could have way more fun if we had connected and known each other better, earlier. Aviral, I just love the conversation we share and I can’t thank you enough for all the food for thoughts and expanding my worldview, it’s been a while since I had these kinds of conversation with someone, questioning my own biases and thoughts on a deeper level, which I always feel the world lack on many levels. I’m probably the biggest fan of your writings and word play (in good sense). I couldn’t ever match the word usage and the beautiful sentences that came out of those words ever, even now when I have been doing this since almost three years on this blog itself. Looking forward to hearing your thoughts (in written), on your blog. Mohita ji, you are quite senior to us, about 47 years IG :P. Just kidding, 78 is the right age gap :D. But we had lots of fun teasing you on this. You were a guiding person in the chaos(es) we faced, which we couldn’t even comprehend, thanks a lot for this. I’m always amazed at your knowledge, speaking truth to superiors and hunger to learn and grow.
In later part of stint here, I shifted to Kartikeya boi’s team when my notice period started and boi o boi, he’s one hell of an optimistic and humorous person, inserting a punchline everywhere make the even serious conversation sound like fun little banters. And Ankur, the person who never says no to Gol Gappa outings (though spicy Gol Gappas are always better, sweet bad), someone matching my Gol Gappa appetite. Don’t know why our Metro, public transport and civic infrastructure talks keep coming to my mind while writing about you (which too I can talk to very few folks about). Lastly Shivam sir, we shared less time together due to your marriage and then my eventual team change, but your experience and strong opinion for how things should be around workplace helped me orient stuff.
A TED talk, I listened to a while back, by a Harvard researcher on the secret to long life is human relationships. Being on notice period and realizing the connect I shared with folks genuinely made a realize how happy they made me feel. I cherish those relationships, no longer co-workers but friends. All in all, I would hope for the best for all of you and only suggest to experiment. I have learned how monotonous life is, and how we can radically change it with experimentation. Be the change. That is my two cents for you all.
DLF Epitome Tower, as seen from DLF Phase II metro station
In conclusion, henceforth whenever I’ll pass the Epitome tower or someone mentions MMT, I’ll have the good feeling that I use to work there. Would I miss my collegues, no! because those who matter would still be in touch. I would miss the environment, the times together with those mates and everything that came out of those moments.
PS: The sticker on my Mac isn’t from an anime, it’s the logo for Debian Project, which I’m associated with since a while.
Thanks to Vinay who helped me in fixing this. It took some time and it is common to run into this error, I was told. So, I am documenting what worked for me.
We will use quilt and Rapahel has written a good article on how to use it to patch. You will need to setup quilt first which is explained in the article.
—————Run all these commands in debian unstable environment—————————–
Since I had already pushed my changes to salsa.debian.org, I had to clone the repository. We do this by using:
Before running sbuild, I had to import tar files in parent directory
uscan --verbose -dd --download-current-version
Check if sbuild is successful.
sbuild -d unstable (where to run this command depends on how you setup sbuild and your debian unstable)
—————–Run above commands in debian unstable environment————
If the sbuild was successful, then commit and push your changes. I usually commit in my host system as signing the commits does not work for me inside chroot or the unstable environment I setup using systemd-nspawn.
I am excited to share with you all that I have recently become a Debian maintainer!! Thanks to amazing debian community.
It all started with Software Freedom Camp, ravish my college super senior (we were a part of college linux club) introduced me to software freedom camp organized by FSCI, since then i was a noob hopping between various distro’s from kali linux to other debian based distros to arch !
Earlier this month, I gave a presentation introducing Prav along with my friend Arun. Many people got curious and asked various questions about the project. But I was surprised nobody asked about the operation of a privacy messaging service in India where privacy laws are getting weaker. The conference I presented in had at least two talks/discussions on policy/law side of technology. Even outside the conference, I was not asked that question, which I thought was a critical one.
So I think people are not yet aware of the new IT rules and their impact.
Update on 27 May 2023: This question was asked later on social media. And I got reminded that a similar question asked once here before writing this post.
I was standing on an elevated metro platform, looking at high rise office buildings. People were walking in the small park nearby, few were working in the office, unbeknown to the one event that I have been actively looking forward to. These high rises office spaces and people returning from work, again made me realize how small I am. The thought that I’m becoming a Debian Developer (non-uploading) and none of the folks I’m looking at would ever know, wouldn’t care, was a humbling feeling.
Starting with series of broken Pop!_OS and Ubuntu OS installations to one month long hit and trials to get my Debian installation right, to DebConf20 happening online, to India winning the bid to host DebConf, meeting the Debian India community, to a bunch of other events finally lead to me becoming a DD.
Back in 2020, I had dreamed of becoming a Debian Developer before DebConf23 Kochi. That squarely gave me three years for becoming a DD. After almost three somewhat not so successful attempts at packaging, I had almost forgotten about that dream of becoming a DD and just went about helping in Debian conferences.
Initially, I wanted to grab sahil@debian.org because I’m fascinated with emails, and this was one heck of a cool email address to give around. I was also excited about getting a LWN.net subscription as an added benefit to DDs. No one covers Linux and Free Software news better than LWN.net. Though on later discussions, I got to know that outgoing email delivery on @debian.org isn’t good and LWN.net subscription benefit was trimmed down.
Looking back, I’m grateful to all the people who make Debian and the surrounding community happen. They have impacted many lives (including mine) greatly positive direction. If Debian wasn’t there, I wouldn’t have got the opportunity to meet so many interesting folks and my enthusiasm to attend all these events. Debian is one of the few tech communities where I belonged :)
Going forward, now I would have a slightly bigger part to play in Debian (and with complete access to -private to keep me company ;)) I’ll continue volunteering for various community and technical activities as usual, as becoming a DD changes nothing. Tomorrow again, the sun would rise. I’ll wake up, get ready, go to work, see people and nothing would change. But there would be an inner joy that finally I have become a DD indeed :)
I would like to conclude with a few lines from Robert Frost’s Stopping by Woods on a Snowy Evening
’..The woods are lovely, dark and deep, But I have promises to keep, And miles to go before I sleep, And miles to go before I sleep.'
PS - Now you can mail me at sahil@debian.org
PPS - Just looked at db.debian.org today, and it seems I’m one of the fourteen DDs in India. Cool!
I have recently learnt about Poetry, which is an advanced dependency management & packaging tool for python.
The features which i have found impressive is that, by default it installs the project’s dependencies in a seperate virtual environment.
My hunt for a plain markdown capable Notes app is stopped. Why was I searching a good notes app to fit my workflow even though there are countless offline and online notes available?
The problem
There are a lot of notes app available out there, with syncing capabilities. But, what are the problems with them?
Vendor lock-in
Most of notes services have vendor lock in. If I use something like OneNote, Simplenote, Evernote; I am bound to use their service through their apps and website and services. There is no way I can use the software I like for notes.
Syncing
There are some good offline note applications available, but they can't sync. I am a great sucker for syncing capabilities. If I change something on my mobile, I want to be be reflected back on my laptop, and also backed up on cloud. While online services come with syncing, they have vendor lock in, as discussed in previous point.
Standards? huh...
There are really no standards for a notes app. All the apps and services just implement their own wheel, thus leveraging vendor lock in and making moving between services hard. It is a recent phenomenon that some notes services provide you a way to write your notes in markdown format, but they still their own methods to store that data in the databases, thus again vendor lock in. There are some apps I found which work great and just store notes in markdown, but still they use some metadata with markdown, some use +++ to start and stop metadata tags, some use --- and some just append tags in this metadata, some just use folder categories.
Native apps
While most notes app on Android and IOS work pretty natively, a lot of good apps on Desktop side are really just electron apps. Though I am not opposed to electron, I am not a fan of it. I am ok with running 1 or 2 apps with Electron like VSCodium, but everything in Electron, hell no!
The solutions
Vendor lock-in
The most easiest solution to vendor lock in is to make notes in a standard format, like markdown.
Syncing
The most easiest solution for syncing is to just use markdown, and use Syncthing to sync the notes between devices, you may even use some self hosted cloud server, or any other cloud solution, in my case I use MEGA until i start earning and get my own self hosted server.
Standards?
It would be good to not use any specific or niche features. Just use plain markdown things like links, bullets, headings. That's pretty much it. For categorising the notes, just organise them into different directories.
Native apps
The only good solutions I found are QOwnNotes and Paper. QOwnNotes is made in Qt while Paper is made in GTK4/Libadwaita. Although these apps may use some of their own data in the folder of your notes, you may just ignore syncing it. Like Paper generates a .trash folder, just don't use trash in Paper and you would be good to go. QOwnNotes may store markdown metadata or make a sqlite database to store metadata, but they still use plain markdown for storing notes directly into filesystem tree. Just don't use specific features like tags and use directories to cagtegorise your notes and you are good to go. So, currently I use Paper, for the sake it is good to look at, and is adaptive (this may help if I start using a Linux Mobile phone some day; or it is also helpful when using a tiling window manager).
But what for Android? The most worth I have found are Epsilon Notes and Obsidian. Both store the notes in a plain markdown format in the filesystem. Though Obsidian saves tags in markdown metadata, you can just get away with it by not using tags and just using directory based categories. If you do not use tags, it just does not append any metadata. You can optionally include date in markdown metadata, but if you do not use it, it just works like that.
But why not <insert app>
Just because I am very specific in choosing stuff for my usecases, I can't even tolerate something missing that I want. I am a sucker for native GUI apps, plus apps storing data in plain formats, that are easily grepable or manipulatable via standard command line tools. Syncing is an important aspect for me, as I keep switching between my phone and laptop and want access to my data at the instant.
Conclusion
So, I spent a lot of time and installed and uninstalled a lot of apps, and I have finally found the tools which work for me. Thanks for reading my rant.