This is a simple Pomodoro timer which i wrote some time ago in elisp while using doom emacs!
The code is based on systemcrafters pomodoro example. I have customized it a bit more to support pause & resume! š
|
|
This is a simple Pomodoro timer which i wrote some time ago in elisp while using doom emacs!
The code is based on systemcrafters pomodoro example. I have customized it a bit more to support pause & resume! š
|
|
11 Nov 2023
Let's say all we want to do when our laptop boots up is to input the password for unlocking the disk and be straight away taken to your wayland or X11 desktop. Well then, let's go!
We are not going to be using a display manager like gdm3 or lightdm. So, when a user logs in into tty1
, normally one would run sway
or startx
shortly after.
We can the use the shell the automate this for tty1
alone.
# automatically login into sway if [ -z $DISPLAY ] && [ "$(tty)" = "/dev/tty1" ]; then exec sway # exec startx fi
Put this snippet at the very end of your $HOME/.zprofile
or $HOME/.bash_profile
. Now when you log out and log back in, you should be presented with your desktop.
Run sudo systemctl edit getty@tty1
and then add the following snippet between the indicated comment lines in the file.
In my case, there was a line that said Anything between here and the comment below will become the new contents of the file
. Paste the snippet there.
[Service] ExecStart= ExecStart=-/sbin/agetty --autologin joe --noclear %I 38400 linux
Remember to replace joe
with the username that you'd want to use for autologin.
This step is optional. If you dont want to see the GRUB boot screen everytime your computer boots up, open up /etc/default/grub
as root and then change the value of GRUB_TIMEOUT
to something less than 5. I have it set to 1
.
... GRUB_TIMEOUT=1 ...
Then proceed to apply the change with
sudo update-grub
Reboot and enjoy!. If you've put 0
for the timeout, pressing the Shift
key(for BIOS) or Esc
key(for UEFI) when the system boots will bring up the GRUB menu.
Happy Hacking & have a great day!
I have recently came across this amazing website https://clig.dev/ which contains very useful guidelines for developers who wish to create a new CLI tool.
Not just that, They also curated a list of the popular CLI libraries for many programming languages.
I found this website very resourceful to code my first CLI tool go-ifsc which is built in Golang.
Software Freedom Law Center, India, also known as sflc.in, organized an event to celebrate the Software Freedom Day on 30th September 2023. Me, Sahil, Contrapunctus and Suresh joined. The venue was at the SFLC India office in Delhi. The sflc.in office was on the second floor of what looked like someoneās apartment:). I also met Chirag, Orendra, Surbhi and others.
My plan was to have a stall on LibreOffice and Prav app to raise awareness about these projects. I didnāt have QR code for downloading prav app printed already, so I asked the people at sflc.in if they can get it printed for me. They were very kind and helped me in getting a color printout for me. So, I got a stall in their main room. Surbhi was having an Inkscape stall next to mine and gave me company. People came and asked about the prav project and then I realized I was still too tired to explain the idea behind the prav project and about LibreOffice (after a long Kerala trip). We got a few prav app installs during the event, which is cool.
Sahil had Debian stall and contrapunctus had OpenStreetMap stall. After about an hour, Revolution OS was screened for all of us to watch, along with popcorn. The documentary gave an overview of history of Free Software Movement. The office had a kitchen where fresh chai was being made and served to us. The organizers ordered a lot of good snacks for us.
I came out of the movie hall to take more tea and snacks from the front desk. I saw a beautiful painting was hanging at the wall opposite to the front desk and Tejaswini (from sflc.in) revealed that she had made it. The tea was really good as it was freshly made in the kitchen.
After the movie, we played a game of pictionary. We were divided into two teams. The game goes as follows: A person from a team is selected and given a term related to freedom respecting software written on a piece of paper, but concealed from other participants. Then that person draws something on the board (no logo, no alphabets) without speaking. If the team from which the person belongs correctly guesses the term, the team gets one step ahead on the leader board. The team who reaches the finish line wins.
I recall some fun pictionaries. Like, the one in the picture below seems far from the word āWireguardā and even then someone from the team guessed that word. Our team won in the end \o/.
Then, we posed for a group picture. At the end, SFLC.in had a delicious cake in store for us. They had some merchandise - handbags, T-shirts, etc. which we could take if we donate some amount to SFLC.in. I āboughtā a handbag with āBan Plastic, not Internetā written on it in exchange for donation. I hope that gives people around me a powerful message :) .
All in all, a nice event by sflc.in :)
For years, Iāve been the self-appointed guardian of my familyās digital treasures, diligently backing up everything on trusty 128 GB SanDisk USBs. You name it, from family photos to important documents, it was all meticulously stored on those little drives. But hereās the kicker: I wanted a cloud solution, something that could offer the same level of security and accessibility without breaking the bank.
I scoured the internet for options, but to be honest, most cloud services were way out of my budget range. Sure, they boasted top-notch security, but they lacked the flexibility and affordability I needed. I mean, come on, a budget-conscious student like me couldnāt justify shelling out big bucks for a rigid, overpriced cloud service that didnāt quite fit the bill.
Then my friend Pirate Praveen suggested rsync.net.
It was like finding a hidden gem in a sea of overpriced clouds.
So basically, Rsync.net is a cloud storage service that stands out for its emphasis on privacy, data security, and flexibility. Essentially, it provides users with an empty UNIX filesystem accessible through various SSH tools, built on the reliable ZFS file system known for itās fault tolerance. This platform allows users to execute a range of backup operations, including rsync, sftp, scp, borg, rclone, restic, and git-annex, making it a versatile and comprehensive solution for a wide array of backup needs.
Oh, and get this: I told them I was a broke student, and they totally hooked me up! They offered me a sweet educational discount rate of just 0.6 cents per GB, per month. Sure, I had to pay annually, but with a 250 GB minimum, itās only 18 bucks a year. Talk about a steal! As a student, every penny counts, and this was simply awesome.
And they have a really quick support team. Most queries get resolved within minutes or max 24 hrs. When I was struggling with sluggish upload and download speeds, these legends didnāt waste a second. They set me up with test accounts all over the globe to figure out which spot had the smoothest routes to my place.
So yeah, https://rsync.net is a huge thumbs up :)
I have recently read a blog post describing some choices debian made to provide an high quality operating system, both technical & ideological aspects. I enjoyed reading it.
Personally, I like the debian social contract which prioritizes openness & users, which a lot of linux operating systems lack. We saw the consequences users/companies/projects have to face, because of the way how redhat flipped
their policies regarding disclosing the source code of packages.
I have some thoughts on debianās package policy though. Below are some sentences i am quoting from the blog post:
If Debian werenĆ¢ā¬ā¢t self-contained, it would be at the mercy of any of the tens of thousands of packages it has, and all their dependencies, being available when an urgent security fix needs to be released. This is not acceptable to Debian, and so Debian chooses to do the work of packaging all dependencies.
Technially, This is a very good choice & reflects the projectās upmost concern on security & stability.
That means, of course, that for Debian to package something can be a lot of work.
This is also true. Not just debian, But GNU/Guix, Another amazing operating system by the GNU project, has similar packaging policy.
I have packaged/updated a few debian packages in the past. Itās time taking, particularly with language ecosystems like node, ruby, Go. For example, packaging Gitlab requires a dedicated team of people, since it has hundreds of packages to maintain.
My thought is whether we can find a good balance between package security & reduction in packaging time by reducing the number of dependencies to package. I am no expert in this aspect. But, There are many experts in the debian community who could have a good idea.
A trip full of hitchhiking, beautiful places and welcoming locals.
Kochi is a city in the state of Kerala, India. This yearās DebConf was to be held in Kochi from 3rd September to 17th of September, which I was planning to attend. My friend Suresh, who was planning to join, told me that 29th August 2023 will be Onam, a major festival of the state of Kerala. So, we planned a Kerala trip before the DebConf. We booked early morning flights for Kochi from Delhi and reached Kochi on 28th August.
We had booked a hostel named Zostel in Ernakulam. During check-in, they asked me to fill a form which required signing in using a Google account. I told them I donāt have a Google account and I donāt want to create one either. The people at the front desk seemed receptive, so I went ahead with telling them the problems of such a sign-in being mandatory for check-in. Anyways, they only took a photo of my passport and let me check-in without a Google account.
We stayed in a ten room dormitory, which allowed travellers of any gender. The dormitory room was air-conditioned, spacious, clean and beds were also comfortable. There were two bathrooms in the dormitory and they were clean. Plus, there was a separate dormitory room in the hostel exclusive for females. I noticed that that Zostel was not added in the OpenStreetMap and so, I added it :) . The hostel had a small canteen for tea and snacks, a common sitting area outside the dormitories, which had beds too. There was a separate silent room, suitable for people who want to work.
We had lunch at a nearby restaurant and it was hard to find anything vegetarian for me. I bought some freshly made banana chips from the street and they were tasty. As far as I remember, I had a big glass of pineapple juice for lunch. Then I went to the Broadway market and bought some cardamom and cinnamon for home. I also went to a nearby supermarket and bought Matta brown rice for home. Then, I looked for a courier shop to send the things home but all of them were closed due to Onam festival. After returning to the Zostel, I overslept till 9 PM and in the meanwhile, Suresh planned with Saidut and Shwetank (who met us during our stay in Zostel) to go to a place in Fort Kochi for dinner. I suspected I will be disappointed by lack of vegetarian options as they were planning to have fish. I already had a restaurant in mind - Brindhavan restaurant (suggested by Anupa), which was a pure vegetarian restaurant.
To reach there, I got off at Palarivattom metro station and started looking for an auto-rickshaw to get to the restaurant. I didnāt get any for more than 5 minutes. Since that restaurant was not added to the OpenStreetMap, I didnāt even know how far that was and which direction to go to. Then, I saw a Zomato delivery person on a motorcycle and asked him where the restaurant was. It was already 10 PM and the restaurant closes at 10:30. So, I asked him whether he can drop me off. He agreed and dropped me off at that restaurant. It was 4-5 km from that metro station. I tipped him and expressed my gratefulness for the help. He refused to take the tip, but I insisted and he accepted.
I entered the restaurant and it was coming to a close, so many items were not available. I ordered some Kadhai Paneer (only item left) with naan. It tasted fine. Since the next day was Thiruvonam, I asked the restaurant about the Sadya thali menu and prices for the next day. I planned to eat Sadya thali at that restaurant, but my plans got changed later.
Next day, on 29th of August 2023, we had plan to leave for Wayanad. Wayanad is a hill station in Kerala and a famous tourist spot. Praveen suggested to visit Munnar as it is far closer to Kochi than Wayanad (80 km vs 250 km). But I had already visited Munnar in my previous trips, so we chose Wayanad. We had a train late night from Ernakulam Junction (at 23:30 hours) to Kozhikode, which is the nearest railway station from Wayanad. So, we checked out in the morning as we had plans to roam around in Kochi before taking the train.
Zostel was celebrating Onam on that day. To opt-in, we had to pay 400 rupees, which included a Sadya Thali and a mundu. Me and Suresh paid the amount and opted in for the celebrations. Sadya thali had Rice, Sambhar, Rasam, Avial, Banana Chips, Pineapple Pachadi, Pappadam, many types of pickels and chutneys, Pal Ada Payasam and Coconut jaggery Pasam. And, there was water too :). Those payasams were really great and I had one more round of them. Later, I had a lot of variety of payasams during the DebConf.
So, we hung out in the common room and put our luggage there. We played UNO and had conversations with other travellers in the hostel. I had a fun time there and I still think it is one of the best hostel experiences I had. We made good friends with Saiduth (Telangana) and Shwetank (Uttarakhand). They were already aware about the software like debian, and we had some detailed conversations about the Free Software movement. I remember explaining the difference between the terms āOpen Sourceā and āFree Softwareā. I also told them about the Streetcomplete app, a beginner friendly app to edit OpenStreetMap. We had dinner at a place nearby (named Palaraam), but again, the vegetarian options were very limited! After dinner, we came back to the Zostel and me and Suresh left for Ernakulam Junction to catch our train Maveli Express (16604).
Maveli Express was scheduled to reach Kozhikode at 03:25 (morning). I had set alarms from 03:00 to 03:30, with the gap of 10 minutes. Every time I woke up, I turned off the alarm. Then I woke up and saw train reaching the Kozhikode station and woke up Suresh for deboarding. But then I noticed that the train is actually leaving the station, not arriving! This means we missed our stop. Now we looked at the next stops and whether we can deboard there. I was very sleepy and wanted to take a retiring room at some station before continuing our journey to Wayanad. The next stop was Quilandi and we checked online that it didnāt have a retiring room. So, we skipped this stop. We got off at the next stop named Vadakara and found out no retiring room was available. So, we asked about information regarding bus for Wayanad and they said that there is a bus to Wayanad around 07:00 hours from bus station which was a few kilometres from the railway station.
We took a bus for Kalpetta (in Wayanad) at around 07:00. The destination of the buses were written in Malayalam, which we could not read. Once again, the locals helped us to get on to the bus to Kalpetta. Vadakara is not a big city and it can be hard to find people who know good Hindi or English, unlike Kochi. Despite language issues, I had no problem there in navigation, thanks to locals. I mostly spent time sleeping during the bus journey.
A few hours later, the bus dropped us at Kalpetta. We had a booking at a hostel in Rippon village. It was 16 km from Kalpetta. On the way, we were treated with beautiful views of nature, which was present everywhere in Wayanad. The place was covered with tea gardens and our eyes were treated with beautiful scenery at every corner.
Rippon village was a very quiet place and I liked the calm atmosphere. This place is blessed by nature and has stunning scenery. I found English was more common than Hindi in Wayanad. Locals were very nice and helped me, even if they didnāt know my language.
After catching some sleep at the hostel, I went out in the afternoon. I hitchhiked to reach the main road from the hostel. I bought more spices from a nearby shop and realized that I should have waited for my visit to Wayanad to buy cardamom, which I already bought from Kochi. Then, I was looking for post office to send spices home. The people at the spices shop told me that the nearby Rippon post office was closed by that time, but the post office at Meppadi was open, which was 5 km from there.
I went to Meppadi and saw the post office closes at 15:00, but I reached five minutes late. My packing was not very good and they asked me to pack it tighter. There was a shop near the post office and the people there gave me a cardboard and tapes, and helped pack my stuff for the post. By the time I went to the post office again, it was 15:30. But they accepted my parcel for post.
Kanthanpara waterfalls were 2 km from the hostel. I hitchhiked to the place from the hostel on a scooty. Entry ticket was worth Rs 40. There were good views inside and nothing much to see except the waterfalls.
We had a booking at Zostel Wayanad for this day and so we shifted there. Again, as with their Ernakulam branch, they asked me to fill a form which required signing in using Google, but when I said I donāt have a Google account they checked me in without that. There were tea gardens inside the Zostel boundaries and the property was beautiful.
Later in the evening, I went to Karapuzha Dam. I witnessed a beautiful sunset during the journey. Karapuzha dam had many activites, like ziplining, and was nice to roam around.
Chembra Peak is near to the Zostel Wayanad. So, I was planning to trek to the heart shaped lake. It was suggested by Praveen and looking online, this trek seemed worth doing. There was an issue however. The charges for trek were Rs 1770 for upto five people. So, if I go alone I will have to spend Rs 1770 for the trek. If I go with another person, we split Rs 1770 into two, and so on. The optimal way to do it is to go in a group of five (you included :D). I asked front desk at Zostel if they can connect me with people going to Chembra peak the next day, and they told me about a group of four people planning to go to Chembra peak the next day. I got lucky! All four of them were from Kerala and worked in Qatar.
The date was 1st September 2023. I woke up early (05:30 in the morning) for the Chembra peak trek. I had bought hiking shoes especially for trekking, which turned out to be a very good idea. The ticket counter opens at 07:00. The group of four with which I planned to trek met me around 06:00 in the Zostel. We went to the ticket counter around 06:30. We had breakfast at shops selling Maggi noodles and bread omlette near the ticket counter.
It was a hot day and the trek was difficult for an inexperienced person like me. The scenery was green and beautiful throughout.
While returning from the trek, I found out a shop selling bamboo rice, which I bought and will make bamboo rice payasam out of it at home (I have some coconut milk from Kerala too ;)). We returned to Zostel in the afternoon. I had muscle pain after the trek and it has still not completely disappeared.
At night, we took a bus from Kalpetta to Kozhikode in order to return to Kochi.
At midnight of 2nd of September, we reached Kozhikode bus stand. Then we roamed around for something to eat. I didnāt find anything vegetarian to eat. No surprises there! Then we went to Kozhikode railway station and looked for retiring rooms, but no luck there. We waited at the station and took the next train to Kochi at 03:30 and reached Ernakulam Junction at 07:30 (half hours before trainās scheduled time!). From there, we went to Zostel Fort Kochi and stayed one night there and checked out next morning.
On 3rd of September, we roamed around in Fort Kochi. We visited the usual places - St Francis Church, Dutch Palace, Jew Town, Pardesi Synagogue. I also visited some homestays and the owners were very happy to show their place even when I made it clear that I was not looking for a stay. In the evening, we went to Kakkanad to attend DebConf.
The story continues in my DebConf23 blog post.
Twenty-four is a big number. More than one/fourth (or more) of my life is behind me now. At this point, I truly feel like I have become an adult; mentally and physically. Another year seem to have gone by quickly. I still vividly remember writing 23 and Counting and here Iām writing the next one so soon.
Probably the lowest I felt ever on my birthday; with loss of Abraham and on the other hand, medical issues with a dear one. Didnāt even felt like birthday was almost here. The loss of Abraham, taught me to care for people more and meet cherish everyone. Iām grateful for all the people who supported and cared for me and others during times of grief when things went numb. Thank you!
Also, for the first time ever, I went to office on my birthday. This probably would become a norm in coming years. Didnāt felt like doing anything, so just went to office. The cake, wishes and calls kept coming in throughout the day. Iām grateful for the all people around for remembering :)
This year marked my first āofficialā job switch where I moved from MakeMyTrip to Unmukti as a GNU/Linux Network Systems engineer (thatās a mouthful of a job role, I know) where I do anything and everything ranging from system admin, network engineering, a bit of social media, chronicling stuff on company blog and bringing up new applications as per requirement. Moving from MMT to Unmukti was a big cultural shift. From a full-blown corporate with more than 3 thousand employees to a small 5-person team. People still think I work for a startup on hearing the low head count, though Unmukti is a 13 year old organization. I get the freedom to work at my own pace and put my ideas in larger technical discussions, while also actively participating in the community, which Iām truly grateful of. I go full geek here and almost everyone here is on the same spectrum, so things technical or societal discussions just naturally flow.
The months of August-September again marked the Great Refresh. For reasons unforeseen, I have had to pack my stuff again and move, albeit to just next door for now, but that gave me the much need opportunity to sift through my belongings here. As usual, I threw a boatload of stuff which was of no use and/or just hogging space. My wardrobe cupboard finally got cleaned and sorted, with old and new clothes getting (re)discovered. The Refresh is always a pain with loads of collating stuff in carry worthy bags and hauling stuff but as usual, thereās nothing else I can do other than just pack and move.
This year also culminated our four plus years of work for organizing annual Debian conference, DebConf to India. DebConf23 happened in Kochi, Kerala from 3rd September to 17th September (including DebCamp). First concrete work to bring conference to India was done Raju Dev who made the first bid during DebConf18 in Hsinchu, Taiwan. We lost but won during the next year bid at DebConf19 Curitiba, Brazil in 2019. I joined the efforts after meeting the team online after DebConf20. Initially started with the publicity team, but we didnāt need much publicity for event, I was later asked to join sponsors/fundraising team. That turned out to be quite an experience. Then the conference itself turned to be a good experience. More on that in an upcoming DebConf23 blog post, which will come eventually.
After seeing how things work out in Debian in 2020, I had the goal to become a Debian Developer (DD) before DebConf23, which gave me almost three years to get involved and get recognized to become a DD. I was more excited to grab sahil AT debian.org, a short email with only my name and no number of characters after it. After, quite a while, I dropped the hope of become a DD because I wasnāt successful in my attempts to meaningfully package and technically contribute to the project. But people in Debian India later convinced me that I have done enough to become a Debian Developer, non uploading, purely by showing up and helping around all for the Debian conferences. I applied and got sponsored (i.e. supported) for my request by srud and Praveen. Finally, on 23rd Feb, I officially became part of Debian project as 14th (at the moment) Debian Developer from India. Got sahil AT debian.org too :) For some grace, I also became a DD before DebConf23. Becoming a DD didnāt change anything much though, I still believe, it might have helped secure me a job though.
Also, worth mentioning is my increased interest in OpenStreetMap (OSM) mapping. I heavily mapped this year and went around for mapathon-meetups too. One step towards a better OSM and more community engagement around it.
Looking back at my blog, this year around, it seems mostly dotted with Debian and one OSM post. Significant shift from the range of topics I use to write about in the past year but blogging this year wasnāt a go-to activity. Other stuff kept me busy.
Living in Gurugram has shown me many facades of life from which I was shielded or didnāt come across earlier. It made me realize all the privileges which has helped me along the way, which became apparent while living āalmostā alone here and managing thing by oneself.
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:
Following are memories shared by people who knew 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.
ā viji, VGLUG Foundation
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).
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
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.
To check the keyboard model Xorg-based DEs:
$ setxkbmap -print -query | grep model:
model:Ā Ā Ā pc104
To change it temporarily, until a reboot:
$ setxkbmap -model chromebook
If itās not there in KDE settings that would be a bug, To change it persistently for KDE:
$ cat >>.config/kxkbrc <<EOF
[Layout]
Model=chromebook
EOF
This thread was helpful.
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.
In memory:
PS - Just found you even had a Youtube channel, you one heck of a talented man.
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. 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 :)
For the conference, I submitted two talks. One was suggested by Sahil on Debian packaging for beginners, while the other was suggested by Praveen who opined that a talk covering broader topics about āfreedomā in self-hosting services will be better, when I started discussing about submitting a talk about prav app project. So I submitted one on Debian packaging for beginners and the other on ideas on sustainable solutions for self-hosting.
My friend Suresh - who is enthusiastic about Debian and free software - wanted to attend the DebConf as well. 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.
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? :)
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).
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.
During breakfast one day, Nattie (Belgium) 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 :)
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 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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
I then joined Kalyani, Mangesh, Ruchika, Anisa, Ananthu and Kiran. We took pictures and this marked the last night of DebConf23.
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.
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.
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.
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.
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.
PS: Credits to contrapunctus for making grammar, phrasing, and capitalization changes.
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.
First, I signed up on purelymail and created an account (like something@purelymail.com). They charged $10 upfront for creating this acount.
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.
Enter your domain name (like example.com) to the page which you got after clicking āAdd new domainā in last step.
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.) |
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) |
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 |
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.
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 |
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.
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.
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.
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 :-)
Vue refs come handly when we want to access DOM elements directly. You can read more about vue refs here
In this case, we want to reset a form. So, letās assign a html attribute named ref to a <form>
tag
A simple example:
|
|
Now we can apply DOM methods to an element like reset()
on this form by calling this.$refs.myForm.reset()
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.
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.
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ā.
When using FreeBSD, my keyboardās brightness buttons were not working. To decrease brightness, I used the preinstalled backlight utility.
backlight -f /dev/backlight/backlight0 10
Credits to this answer.
I couldnāt manage the brightness to be automatically low at startup. It was at 100% after very time I booted.
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.
If you know any of the fixes, please let me know.
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.
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 if you are behind a firewall like ufw. The official Snikket docs list which ones you have to allow.
Install docker
and docker-compose
packages on your server. The commands for debian are:
apt install docker docker-compose
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
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
:
apt install nginx python3-certbot-nginx
Obtain certificates for all the subdomains
certbot certonly --standalone -d share.chat.ravidwivedi.in -d groups.chat.ravidwivedi.in -d chat.ravidwivedi.in
The output for me was:
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
:
SNIKKET_TWEAK_HTTP_PORT=5080
SNIKKET_TWEAK_HTTPS_PORT=5443
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:
ssl_certificate /path/to/certificate.pem;
ssl_certificate_key /path/to/key.pem;
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:
ssl_certificate /etc/letsencrypt/live/chat.ravidwivedi.in/fullchain.pem;
ssl_certificate_key //etc/letsencrypt/live/chat.ravidwivedi.in/privkey.pem;
After making these changes to file, save it. Now, create symlink to /etc/nginx/sites-enabled/chat.ravidwivedi.in
file by running the command:
ln -s /etc/nginx/sites-available/chat.ravidwivedi.in /etc/nginx/sites-enabled/chat.ravidwivedi.in
Restart nginx:
systemctl restart nginx
You can also check if nginx syntax is correct by running
nginx -t
If the output of this command indicates an error, you need to fix that error before moving on.
Go back into /etc/snikket
directory by running:
cd /etc/snikket
Now run:
docker-compose up -d
After the command run is complete, visit chat.ravidwivedi.in and you will see a login page as in the screenshot below.
If you donāt see this login page, there is some error in your setup.
If you are able to see that login page, create an account with admin privileges by running the command:
docker exec snikket create-invite --admin --group default
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.
Itās very easy to keep track of a github projectās release from the linux CLI using just curl
& jq
.
An example of getting latest release from the razorpayās ifsc repo:
curl -s https://api.github.com/repos/razorpay/ifsc/releases?per_page=1 | jq -r '.[0].name'
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.
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.
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.
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 :)
Goup photo. Click to enlarge
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. I have observed that the project does not have a CI/CD setup so far & thought of adding one. I have added basic CI/CD work for the movim repository on github with github actions. For every commit & pull request to master branch, the app is built in the pipeline & if successful, a docker image is uploaded to movimās repositoy on docker hub.
The team had given me feedback during the implementation & i had a chance to explore new concepts in docker image building & some bash scripting as well! I have also planned to automate the docker image building for stable releases, But the team preferred to do it manually.
Summary of my commits:
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.
Imposter syndrome has haunted me, causing self-doubt and fear of being exposed as a fraud, even when I have evidence of my accomplishments and experience. My friend Akshay S Dinesh during a discussion recently said
āSee, imposter syndrome - many suffer from. One part of it maybe real. But those with imposter syndrome usually overcompensate by building lots of skill. Now, the false part of it goes away only when you work in a company with others and realize how stupid most others are.ā
Acknowledging my own coding skills and technical knowledge has been a crucial step in overcoming imposter syndrome. Iāve come to realize that the countless hours Iāve invested in honing my craft and the continuous learning I pursue are worthy achievements. Itās important to give ourselves credit for the progress weāve made and recognize that genuine expertise is a result of consistent effort, learning, and problem-solving.
Itās easy to believe that everyone around me possesses unwavering knowledge and proficiency, which can make my own accomplishments seem insignificant. But the truth is, we are all constantly learning and growing. The tech world, like any other field, is vast and ever-evolving. Understanding that even experienced professionals have moments of uncertainty and a desire for more knowledge has helped me put my imposter syndrome into perspective. Learning is a lifelong journey, and oneās willingness to adapt and acquire new skills is a testament to oneās dedication and passion.
Being part of a team or a community has been a transformative experience in my battle against imposter syndrome. Engaging with like-minded individuals has exposed me to diverse perspectives, skill sets, and experiences. Collaborating and sharing knowledge has shown me that even those I once considered superior also have their moments of doubt. Embracing the support and mentorship available within my community has reminded me that we all start somewhere, and itās the collective journey of growth that propels us forward.
While imposter syndrome still lingers at times, I am learning to celebrate my achievements and embrace my unique journey. I am not defined by my doubts or insecurities. Instead, I am defined by my perseverance, my ability to learn and adapt, and my passion for technology. Each step forward, no matter how small, is a testament to my growth and dedication.
Update on 15 May 2023: Several media outlets, rights groups and Free Software projects have published articles based on this writeup to spread the word. The ones we know about are- Scroll.in, Internet Freedom Foundation, The Register, MediaNama, Mountain Valley Kashmir (print version), Tutanota and Indian Pirates. Internet Freedom Foundation has also filed RTI requests to obtain more information.
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.
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.
1: https://indianexpress.com/article/india/mobile-apps-blocked-jammu-kashmir-terrorists-8585046/
05 May 2023
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.
FREETYPE_PROPERTIES="cff:no-stem-darkening=0 autofitter:no-stem-darkening=0"
This enables stem-darkening for all fonts. This just makes fonts a little bit bolder on smaller screens. This makes a heck of a difference for Inter.
Reboot your machine and enjoy beautiful fonts.
Here's a before
And an after
Happy Hacking & have a great day!
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.
Kurian whom I met during a Debian packaging workshop in Kerala was a speaker at FOSSASIA. He presented a talk titled āOpenAI Whisper and itās amazing power to do finetuningā. I was his unofficial PR guy, taking pictures :).
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 🤪)
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.
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.
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.
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.
You need to use some specialised program to interact feeds. There can be multiple solutions for that:
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.
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:
sudo usermod -a -G power $USER
Update your firmware using either CLI using fwupd or just using a frontend like GNOME Software Center.
Add these kernel parameters:
i915.enable_psr=0 mem_sleep_default=deep snd_hda_intel.dmic_detect=0 intel_idle.max_cstate=1 i915.enable_dc=0
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.