Reflections from IndiaFOSS 2026
I attended IndiaFOSS 2026 this weekend (and Friday). I have been attending this festival (not a conference) since IndiaFOSS 2.0 in 2022. Every year the event keeps getting bigger. It's my favorite tech event of the year because of the people this event is able to bring together. It's always a joy reconnecting with old friends and meeting new FOSS hackers in the hallway.
This year felt a lot bigger. Felt, because when I told this to Rahul, he was quick to point out that this year only had 200 more checkins than last year. This is great, IndiaFOSS has really grown into a festival. There were so many wonderful booths. I only got to seeing a few of those because the talks and the people I was meeting in the hallway were super amazing and that's where my time went.
This delta is the visible effect of the hard work that the FOSS United team and volunteers are putting in. I keep discussing with Ansh about their sponsorship work. I saw the care and attention they put in maintaining relationships at my previous organisation Gooey.AI, who came back as a repeat sponsor this year. So did other organisations. This is despite the sponsorship being non-traditional. There are more verticals and efforts that I am less aware of where great, continuous improvement is happening: devrooms, public interest tech, 1-rupee fund, design & comms, student clubs, community partnerships, and so on. The organisation's actions carry the wisdom of the past several years.
OCaml Workshop
This year, I was attending with my team at FPL. Naturally, we ran an introductory workshop on the best programming language: OCaml. We did this on Friday, 25th September -- with Alina, Smayan, and Vimala.
Teaching is hard. What we presented as a 3-hour workshop was the product of several weeks of iteration and the labour of more than just the 4 of us. Having conducted and attended OCaml workshops earlier, this one was probably the smoothest. The notebook format we chose helped towards this in a couple of important ways:
- No installation needed: all attendees could work from their browser. While everyone had laptops, this meant that they could also do it on their phones if they wished. As KC mentions in the best talk of this event, earlier workshops have taken up to 1/3rd the allotted time just for installation. A standard environment solves this.
- Self-paced option: while we went over slides and asked attendees to scroll and solve exercises from time to time, attendees who wished to also had the option to read the material on their own and go faster than us. I saw a couple of attendees jump through to solving the games -- which was the last of our 4 sections. There are always a few advanced learners: I like this approach where they can go ahead and we as instructors focus on the average learner.
I also really liked our learners - there were about 25 of them and all of them sat through more than 3 hours of instruction. Some of the attendees - likely those who had seen some functional programming ideas before - were absorbing the concepts and solving exercises quickly. Most were slightly confused by the end and I could see the the mental homework they were carrying as they were saying their byes and leaving the room. This is great. This means we gave them something new to think about and they are in the process of learning.
That said, there are several places where we could've done better. In one of the more difficult exercises, I underestimated the difficulty of a solution and probably ended up passing my confusion on to one of the innocent learners. Exercises and their solutions can have badly written (confusing) code - especially when work gets offloaded to Claude. With some more improvements on our existing material, I think we can be even better at teaching OCaml to the average non-FP attendee.
With the volume of OCaml programmers that we have within our lab, and with who we are able to teach, I think we are working towards a small ecosystem in India that can support long-term projects written using OCaml and other related methodologies (for example, formal methods). I say this with the opinion that such techniques are here to stay alongside AI.
AI and teaching
A very interesting learning was how just bad Claude is at teaching. As I remember discussing later briefly with KC, this limitation has been faced by him and others too. I was reminded during our discussion that Khan Academy got access to GPT-4 (then the cutting edge) for a limited pilot program and not much has come out of it until now in terms of AI-generated content. I have reached a point where any "explanatory" text written by AI is immediately repulsive. Most AI generated READMEs are incomprehensible. The only place where I see it being useful for humans is when AI answers pointed questions with pointed answers. It is incredibly convoluted otherwise.
We had to do lots of re-writing in places where AI had generated examples. Maybe this will change but it is surely a hard problem.
Day 1
I got to meet ex-colleagues from my previous organisations -- Anand from Pipal, and almost everyone from Gooey.AI.
It was my time with Anand and at lambda retreat that drew me to functional programming first, where I met Sudha who initially mentored me through learning OCaml, and which led up to me working at FPLaunchpad now.
IndiaFOSS is also very much an excuse for meeting up with old friends who travel from different geographies and make time to be there :)
Favorite talks from Day 1:
- KC's talk on OCaml notebooks: I am really liking this format for instructions. I have used browser-based instructional formats ([https://kaustubh.page/joy](for joy)) and seen Jupyter notebooks in action for this. x-ocaml notebooks that KC mentions in the talk are an improvement on both. I am sure that this format will catch on in other similar instructional formats.
- Panel on DPI to PDI: This brought a unique format. I have done some work towards PDI with SAFAR, and some on PDGI. I really like their approach to solving problems.
TODO: add more thoughts on the DPI-PDI panel. more talks I liked from Day 1. then, about Day 2.