GNU Pem: an amazing tool

Dear PEM developer,

First of all, thank you for this amazing tool!
I use it every day for my personal income/expense tracking, and it is
really easy to use. I really like it: a simple tool for a simple task.

Thank you again for this amazing tool!

I received this yesterday via GNU Pem mailing list. It is always encouraging to receive acknowledgement for your work; But it is truly inspiring when they go all the way to learn a new language(Perl), just to write a patch for your program.

Thank you so much Matthieu! I appreciate it!!

GNU Pem is a handy tool to help you keep track of your personal income and expenses. It is portable across all platforms GNU Linux, MS Windows, Apple OS X, FreeBSD, you name it. On Fedora it’s

        # dnf install pem

Give it a try if you want to know your monthly expenses. :)

FUDCon APAC 2015 – a Memoir


This post has been long overdue. In fact a post here has been long overdue. Much has happened since the last time I wrote here. There are new DNS patches to be merged, the Docker & DNSSEC resolver interconnect, kernel & Qemu issues I’ve been analysing, Fedora Security Team(FST), huh..each would need a separate post. Anyway, it’s good to be back here.

It was this time last year that we began to have lunch table discussions about hosting FUDCon in India. The last time we did was in 2011. A lot had changed since 2011; Old-timers had moved on, new ones had joined hands, many of them with a distant view of the open source, Fedora and FUDCon. But what was still same was the excitement to participate and to host FUDCon. What started as a fond activity for me, had quite a thrilling climax wherein I ended up calling the India’s Ambassador to China in Beijing. :)

We began with scouting for a venue, as the bidding process required us to have confirmed venue & budget arrangements in place. Though FUDCon is a get-together for Fedora contributors, we wanted local community to benefit from this gathering. So a college or university campus was our preferred choice for the venue. All of the campuses we visited were more than welcoming; In fact they wanted us to setup ongoing programs for their students and teachers alike. My observation is, people are convinced of the power of Open Source principles and methodology, but they have no idea about how to participate and take advantage of it. After much deliberations we settled on the MIT College of Engineering for our venue and the bid was proposed.

Shortly after the bid was accepted, I left the city of Pune – the ground zero of FUDCon APAC 2015. And thus began the spell of weekly calls, meetings and updates. As soon as the bid was accepted, we sent out a call for volunteers. We broadly defined the tasks(travel, talks selection & scheduling, marketing, video recording, catering, FUDPub et. al.) and volunteers assumed their responsibilities. I picked to help the delegates with their travel requirements, amongst various other things. When I moved out, I half expected to have diminishing responsibilities towards FUDCon. But in retrospect, it’s intriguing how actively I was involved. I think the first step towards active participation in open source communities is to connect, to join the call, say hello and listen. In my case it was conference calls, but one could just as easily connect over email/IRC/twitter/hangout, either means of communication.

Through these weekly calls and meetings we assessed overall progress on each task, discussed and devised alternative solutions for issues, listened to individual inputs, argued and fought over it, pulled each-other’s legs and had fun all the way. Of course a huge team of volunteers were working relentlessly on ground zero to ensure that all the needed pieces(banners, recording gear, transport, accommodation, vendor billing,…) are put together at the right time. Before I knew, five months had passed and I was on my way to attend ‘FUDCon APAC 2015’. :) Excited to meet old friends, colleagues, and everybody that I’d been communicating with for the past few months. Meanwhile it had almost slipped my mind that I was to present a talk about – Local DNSSEC resolver: F23 Feature.

At FUDCon surroundings were brimming with a familiar energy. It started right at the hotel as delegates arrived from around the world. The peculiar excitement in the hotel lobby when delegates bump into each other is uniquely rewarding. On day one, I was to attend the registration desk and distribute swags. After the first half of doing that, I moved about different sessions catching glimpses at each. Day two was little easier, there was no mad rush of day one. I hitched a ride with a friend to the venue, found a corner in the speaker’s lounge and resorted to prepare for my talk. As the day concluded, it was time for the super electric FUDPub. :) Day three was of workshops, I jumped through couple of sessions and talks and was back again at the front desk to work with the volunteers as they were preparing to wrap-up. Three days went by so fast, before I knew, it was time for the concluding keynote and the vote of thanks. As the delegates bid their good byes, they made plans to catch-up again at the next conference. :)

FUDCon APAC 2015 album:

Going to FUDCon APAC 2015

It’s less than 72 hours to go for the much awaited FUDCon APAC 2015 kick off. International delegates are boarding flights as we speak, while others are packing bags and preparing for the take off. The organising team on ground zero is running full throttle and leaving no stones unturned to ensure smooth sailing. :)

I’m packing my bags and gearing up for my talk “Introduction to DNSSEC – F22 feature“. Do drop in and join the conversation.

See you there…!!! :)

Report – FAD 1 Nov 2014 – theme security


Last weekend I participated in a Fedora Activity Day(FAD) aimed at introducing participants to the Fedora Security Team, its mission and activities. This post is a retrospective review of the day and lessons learned.

Day began with me introducing the participants to the Fedora Security Team, the current security features offered by Fedora and why we need to do much more to make sure that Fedora users are secure by default.

    See ->

This introductory talk was followed by triaging of open security bugs; There are more than 500 of them. Security bugs are marked by Keywords: Security. It means the said bug might have security implications and could facilitate unauthorised/undue access to users. I started triaging with the oldest bugs to figure out why were they open. This in turn leads us to see possible lapses which allow such bugs to remain unattended for longer than they should be.

Why do security bugs stay open and unattended…?

  • Appropriate fixes are unavailable, ie. patches do not exist at all. BZ#864897
  • Appropriate fixes are available, but the maintainer does not know. BZ#782620, BZ#851773, BZ#887451
  • Appropriate fixes are available, but the package is due its retirement, thus ignored BZ#838162. The package is _not_ retired.

These bugs were unattended for more than 2 years and have severe implications like Man in The Middle (MiTM) attack, Arbitrary Code Execution(ACE) and Denial of Service(DoS).

How do we address these lapses…?

The 2’nd and 3’rd case above, wherein the due patches are available, I think we can address them by hounding the maintainers with periodic ‘[NEEDINFO]’ pings till the time they push an update. It won’t be as easy as it sounds, but is an option nonetheless.

It is the 1st case, wherein the due patches are not available, that intrigues and interests me more. So, why aren’t these patches made available? One of the comment BZ#864897#c12 says the fix requires a functionality from OpenSSL 1.1 to be back ported to currently used versions – OpenSSL 1.0.1i. I opened a bug against OpenSSL BZ#1160172, but it was closed(deferred) saying it is not likely to happen any time soon. So the only option is for application to do the TLS certificate validation by itself, which the package maintainer is unable to do. This leads me to an another _grave_ concern that has been cropping up in recent times ie. – dwindling contributor base for some of the widely used & deployed FOSS projects.

This was discussed at Linuxcon last year or the year before; As the average age of subsystem maintainers is rising towards late 30s. At this stage they are likely to be occupied with families and other things in life and hence are unable to spend as much time on their projects. Siddhesh recently mentioned that becoming a parent could drop your productive time by as much as 30%. In yet another conversation I heard this applies to OpenSSL too. Upstream OpenSSL maintainers are well in their 40s and are a close-knit group, which is not welcoming enough to the new entrants(reminds me of Mr drepper and glibc few years ago).

It is high time that we(Fedora) start taking measures towards grooming new contributors and package maintainers. In corporate parlance it is known as succession planning. It should be done by each individual project leader. As for the bugs and tasks that I come across, I have started posting them to the dgplug students list

    See ->

It has a lesser hit ratio, but I hope it improves going forward. If not, we’ll keep dousing the same fire again and again.

    See -> Cybersecurity experts discover lapses in Heartbleed bug fix.

Fedora Activity Day – 1 Nov 2014 – theme Security


    See ->

On 1’st Nov 2014, we plan to host a Fedora Activity Day(FAD) focused at assessing the state of Security in Fedora distribution. The day would start with a brief introduction to Fedora security and progress towards collective security bug triage and other activities. If you are in Pune(India) or plan to be here on 1st Nov, please feel free to drop in and join the action. Note:- we have limited capacity(=~25) for participants, please do register on the wiki page above.

Not too long ago, the Fedora Security Team came to be with the sole intention to improve the state of security in Fedora distribution. Primary goal was to help triage the security bugs and spread awareness.

    See ->

But in the light of the recent upheavals caused by the deadly and the viral security dynamite of the Heartbleed, the Shellshock, and the POODLE[1] flaws, it is only logical to brace ourselves and work towards greater efforts to make Fedora _secure_ by default. Many distributions have taken focused efforts towards this end for decades now,

    Ex ->

Idea is to increase the number of eye balls looking at the Fedora security so that the flaws become shallow. And your poodle’s hearts are saved from bleeding caused by the shocks that are still hidden in the future.

Hope to see you there. :)


Tools update


Recently I pushed these packages to various Fedora repositories. Some of them were not in EPEL, some were missing from EPEL-7, one was not built since long time.

  • GNU Pem:- GNU Personal Expenses Manager
  • Is an extremely simple, yet powerful tool to help you track your income and expenses for next 100 years.

  • LZ4:- Extremely fast compression algorithm
  • Is a widely used fast compression algorithm providing compression speed at 400 MB/s per core and is scalable with multi-cores CPU.

  • PDFCrack:- PDF password recovery tool
  • Is a lightweight tool to recover password and content from PDF files. It comes with no dependencies.

  • Ptrash:- move file(s) to ~/.trash directory
  • Is a handy and competent replacement for ‘rm(1)’ command. I wrote it after accidentally deleting few important files.

  • Python-Unidecode:- ASCII transliterations of Unicode text
  • Is a simple Python module used to transliterate Unicode characters to their ASCII representation.

  • Whereami:- display work location
  • Is a handy tool to know your current work location like host name, working directory, IP address etc.

Please let me know if you face any difficulties. Hope you find them useful. :)

Hello, :)

Last weekend I participated in a workshop organised to mark the 10 years anniversary of the Durgapur Linux user’s group – dgplug. Dgplug which Kushal started to spread the word & awareness about GNU/Linux(Fedora) in his locality, is now spearheading a social change through its flagship Summer Training program.

    see ->

The Dgplug summer training, through its unique methodology, addresses one of the most pressing and severe problem faced by the employment sector in India, that is the dearth of skilled employees -> Less than 20 percent engineers are employable... There is no one way to contain this issue. Greater efforts and more programs are required to arrest the demon of ‘un-employability’.

The workshop was organised by Kushal in association with the National Institute of Technology(NIT), Durgapur, India. We reached the steel city of Durgapur on Thursday evening after a bland flight to Kolkata and a fast bus to Durgapur; the ride was beautiful. Durgapur gives an inviting impression of a charming small town.

Friday began with an English breakfast. We reached NIT campus by 09:00AM and were introduced to Prof Animesh Dutta. The topic of discussion was the same, how do we inspire students to learn and acquire new skills. He said the first two years of college, students show growing interest in doing projects and learning things. But as they reach the 5-6’th semester, their focus entirely shifts towards getting a job by 8’th semester. We had to leave it there and proceed for the workshop. Workshop began with an introductory talk by Kushal about the dgplug and the agenda(‘why’ & ‘how’) of the workshop. He introduced each speaker and we took turns to share bits of our experiences from the FOSS world to convey its importance & value in our career. In the second half of the day, many of the Summer Training participants shared their experiences with other students. It was followed by Praveen with an ‘Introduction to Fedora’. He covered the four ‘f’ of Fedora and various ways in which they can contribute to it. After Praveen I covered the basics of networking and firewall in my ‘Introduction to iptables(8)‘ talk. Though it was relatively technical, they seemed interested in knowing how a packet travels from their non routable IP to a server and back to them. The day concluded with Kushal explaining the agenda for Saturday and prerequisites for the same. It was followed by open discussions and conversations in and around the auditorium. I helped a few to configure an iptables(8) rule to block access to ;)

Saturday again began with an English breakfast. We walked to NIT and reached little past 9:30AM. Auditorium was already bustling with students. Saturday brought many lessons and observations for me. The day began with an ‘Introduction to Python’ session by Kushal. Students were required to bring laptops and try out hands-on exercises. As they did exercises, we toured the aisles. First thing I realised was, Linux was an alien system to them. They had heard about it, maybe had seen it too, but never used it. Quite a few had installed Linux 2-3 days before the workshop. And majority was some obscure Ubuntu Mint distribution, which did not even have a good Vim editor. As result, they were struggling to edit files in the older ‘Vi’ editor, completely distracted from learning Python. First session should have been an introduction to Linux, primarily to the mighty shell. As the day progressed, Kushal proceeded from Python shell to python data structures, indentation, through conditionals and loops to writing small programs. All the while 100+ students diligently struggling to keep up with the pace. The day concluded with most of them looking overwhelmed yet energised from the exercise. There was time for open discussions and free interaction. Many enquired about how they could become contributors, how they could learn Linux and install Fedora.

Fedora mirror: during this interaction we met with the local NIT LUG coordinators who used to maintain the Fedora mirror there. The reason for not having an updated Fedora mirror was that they did not have dedicated hardware. Each time they set-up the mirror, during their vacations or when they are occupied with exams or after they leave college, invariably someone would shutdown the server or reuse it for something else. As temporary solution, Praveen has made the F20 ISOs available over http in their LAN. As an alumnus, he would follow-up with the students to ensure that the latest ISOs are always available. We are exploring if we could have dedicated hardware hosting Fedora mirror at NIT. That would help with lot of the issues we faced during the workshop. Ex. instead of catering to different obscure flavours of Linux, each student could be given a small(<= 32MB) shell account on a remote machine, wherein they could practice programming exercises. That way they'll automatically use shell commands too.

Sunday started without an English breakfast. Early before sunrise I started back for Kolkata, while others(Praveen, Samikshan, Chandan, Ratnadeep and Sayan) stayed for subsequent sessions about application development and documentation using Python. A pleasant ride to Kolkata was followed by a filling lunch at Kushal’s and by evening I was back at the airport waiting for another bland flight back home. Throughout the journey I kept going back to the first unfinished conversation about how could we inspire students to learn, advance their skills and acquire new ones. In the midst of those thoughts I stumbled up on

     Fedora classrooms ->

Overall a great trip! Many thanks to Red Hat Inc for helping me with the travel budget.