01 September, 2014

Unifying Bengali Locales for Mozilla Project

This post is in response to the recent adversities within Mozilla Kolkata Community, regarding the Bengali Localization for Mozilla Projects in general (and Firefox for Android in particular), quality of bn-IN localization & prospects of unified bn locale.

Why do I have to respond? Because unfortunately, I'm probably the senior-most active member, of the Bengali speaking Indian Mozillians, who proudly associates himself with the community. I'll glad to be wrong here on the senior-most part.

Let me start off by offending some people.

I'm not an active member of localization efforts (of any FOSS project). There are three primary reasons for that:
  1. Apart from the professional localizers, the major contributor base of l10n are the volunteers who are not there because they're great at that; they're there because, they're not great with anything else, or, even localization. So to say.
  2. The l10n community is very slow moving on the technology front. So the tools with valid, versatile & kick ass USPs also take hell lot of time to be accepted/used by the communities. So, tooling-contributions is also not a very interesting ground.
  3. Most importantly, I don't support localization; because, Genesis 11. I don't approve of the need of multiple languages, at a high level. But, that's an argument of another day.
Hence, even though my language curiosity ranges from Minion-tongue to Blackspeech - I'll keep my post restricted to the disaster-recovery of the situation in hand - and not get into the technical tidbits of the l10n system itself.

Now that I'm done offending & driving off the unreasonable l10n idealists, and down with a leaner audience, let me split the discussion in four sections:

Communication Gap

In FOSS we have some well accustomed tools for different purposes. Full-duplex discussion goes in IRC, half-duplex discussions, arguments & announcements go into mailing-lists, PR & Promotional contents go to social channels, poop of mind & passive-aggressive attacks go to the personal blog, and semi-spam, semi-infotainment kittens & fail videos go to FB groups. Although, this is "not a directive, more of a guide;" but hey!
Choosing the wrong medium/channel of communication is dragging us down & we need to be careful right now (like, yesterday would've been better kind of right now). Starting the same discussion as a mailing list thread would've had much stronger base, better output & much less juvenile name-calling, feather-tearing pile of mess by the prepubescent imbeciles on a dope.

That's not the only form of miss-communication though; the age (generation gap) is adding more to it. If anything that can help this factor, is by careful moderation & mentoring by the senior members.

Also, please care for the sanctity of information (and hereby, that phrase is a real-thing). Like each and every other action, once a post/comment/status goes live online, it creates a butterfly effect - sometimes not in a very desirable way. But, deleting that doesn't solve the problem; if anything, it adds to the confusion, broken citation & possible misinterpretations.

Meritocracy & Credibility

"I'm not on that boat, and deny all responsibilities, but am up for a tea-time debate" isn't something that can help here. If you care for your language, have good enough exposure on FOSS/l10n, have good insights about the system in place & know well about community building - DO. STEP. IN.

We can't keep ourselves out of touch, not do our part of mentoring, let the kids run around to get shit done, and then complain how it wasn't done properly. Humans are diverse, unorganized species, prone to make mistakes at best - turning mailing lists into event-feed reader & facebook into battleground, among other things. On top of that, Bengalis are one helluva notorious & difficult race, with handle-with-care & this-side-up labels on every butt-cheeks - but deal with it. Tell us the story of how you tried & failed, instead of saying how everything is a goner & can't be helped.

Apart from that, let's all agree here that Mozilla is a Meritocratic organization, and we practice the same (as much as possible) in Mozilla India as well. Hence, not everyone's every comment carries the same value/worth, neither is reputation/credibility an one way street. It's analogous to share-market index at best.

Hence, not every piece of information to be treated with similar importance/passion. Feel free to ignore when an argument or a person doesn't make much sense anymore. Disengage. And if it's not an easy topic to just be dropped, then find a better medium, channel or concerned people to re-initiate the discussion.

bn-BD vs. bn-IN

Le wild shrewd observation: bn-IN is good-to-have, but bn-BD is a necessity.

Not only that Bangladesh officially runs on that language, an incredibly huge part of the country don't know any other language but Bengali. If there has to be any software, services, products, communications, promotions - everything _has to_ be available in Bengali, and qualitatively, it _has to_ be good.

Trying to indicate/prove "we" care/know/use Bengali better than "them" is not only ridiculous, or juvenile, it's blasphemous, baseless & insulting to some fair extent. "They" are the folks who gave their lives for the love of Language/Mother-tongue in past, and "they" are the folks who are giving their time, commitment & academic GPA to integrate Indic language support in Firefox OS in present.

Anybody who'd like to object on this note, back yourself up with data, not prejudice or herd-conformity.

Prospect of Unification

In a FOSS community, if a project looks up on another similar one & takes a learning or two, that should be appreciated, and not frowned upon. I am unaware if any or how much of bn-BD localization effort got copied over to bn-IN - automated scripts give numbers of matching strings in both locales, but one can never be sure how much was parallel effort, and how much was directly copied.

But, in either of the cases, when we're talking about Software interface translation - usually each string being an one/two word phrase - how much difference does bn-IN make compared to bn-BD and vice versa? Cause, either of the redundant parallel effort or (alleged) plagiarism is a huge waste of time, process, commitment & can't/shouldn't be the way to go.

Guys who are working on bn-IN aren't the one who are much aware of the backlog, or have been the key people to split Bengali in the first place. They're just doing it because this is how it has always been done, based on the history as much as they can remember & some misplaced prejudice of language (locale) supremacy. But, does it have to be?

That was (somewhat) the question raised, in a Facebook thread (turned into a puddle) where bn-IN was celebrating the Firefox Mobile in bn-IN release.

A very important & critical question indeed: do we have to go on posing some unnecessary LOC over the language just for the heck of it, or, we can do better and unify our efforts?

As much as I understand, translation/localization of Wikipedia's articles/contents in generic Bengali is wildly more difficult than a quick phrase on a browser-interface button. From that perspective, the challenge with the unification of bn-IN & bn-BD into bn is only as much as the combined unwillingness of bn-IN & bn-BD localizers to work together.

Find a better medium/channel of communication. Take initiatives, and participate (thanks, if you already have). Be proactive to identify & fix issues.

Mozilla BD Mailing List: https://lists.mozilla.org/listinfo/community-bangladesh
Mozilla India Mailing List: https://lists.mozilla.org/listinfo/community-india
Localization Mailing List: https://lists.mozilla.org/listinfo/dev-l10n

P.S: Here's to the 100mins of my life, that I never aspired to spend writing this blog. Cheers!

02 April, 2014

Laying Stones for Mozilla India Developer Engagement v2.0

In this post, I'm gonna briefly raise some key issues & suggest half-baked solutions about events in India. It's heavily focused on developer-events, but some bits are pretty generic. These are from the discussions, experiences and findings under the lights of the following events:
Before I dive in - like a side-note, I'd like to mention - since 2012, we've tried to increase developer contributions in India heavily. Some low hanging fruits, to start with; and they have generated results. Now it's time to take some further steps, and evolve further.

But there are some blockers.

Very real ones.
Most challengingly(!), non-technical ones.

Thoughts on developer-hosted events

  • They are Procedural
    • They can plan properly and execute efficiently. Something that's not vastly common in South Asian region.
  • They are Innovative
    • Given an opportunity, they make a mark with something unique. Aniruddha's Contributor Training Days, Sankha's MozBoot, Avik-Gaurab-Subhashis' ProgramIIEST are the examples. These events set higher bars, and formats/templates for others to follow.
  • They offer quality over quantity
    • Most successful developer events we have now a days, have much less number of participants, yet very high impact in terms of outcomes from them.
  • Deprived of appreciation & support
    • Even though most of them don't enjoy handling the logistics, they do it just as good when they have to.
    • But, instead receiving supports while they're at it, they get last minute budget approvals, budget cut-downs, enforced change of plans, and all sorts of things which make them re-think whether it was a bad idea to conduct an event at the first place.
    • This discussion can go a long way, cutting it short for now.

Organizing Developer Events has to be re-shaped

  • Per City events, instead of per Institute
  • Better screening of the participants
    • When we're talking about city/region wide events, it's obvious that there will be a heck load of participation - along with noises.
    • Thinking about a process to screen the participants which ensures quality, and yet is very efficient at it without requiring tiring efforts
      1. The Events Task Force does the needful to promote the event in a region.
      2. The open-invitation contains a link to a test-paper (in form of a Google Form) with related technical questions (objective/MCQ) & contact info.
      3. The Form-Response will be conditionally formatted to automatically screen as a first pass.
      4. Based on the event's intake-capacity, we send out followup to 1.5x numbers of candidates from the merit list. This followup will contain the ask-for-confirmation of the participant's availability; and some objective (yet not-auto-screenable) questions - such as GitHub profiles, related experience, expectations & focus at the event etc.
      5. Based on the response, final invitation is sent to the 1.2x (top 120, if the venue capacity is 100) candidates. There will always be last minute turn-downs from some candidates. We'll have to tweak the quotient (1.2x) after few trial and errors.
    • The process of tests, registration, followup also ensures the candidates are mentally seasoned & committed to participate, and has the sense of making their way through all the initial applications.
  • Continuous follow-up with attendees
    • Usually, we get 1/2 participants in each event who are pretty quick to learn the mode-of-communications in FOSS-world. Readily swims through IRC, Mailing Lists, figures out how they work & says "hi" to the known nicks.
    • In cases where they don't, we need to actively think through what all options can we explore to have a connection with them, after we leave.
    • There are several suggestions on this; all very obvious, most quite spammy and none very effective.
  • Venue rating system for future events
    • Even if we have major per-city events, there going to be per-institute events as well, we can't totally block that.
    • But we can have a rating-chart for venues where we already have hosted events, how was the experience & what's the prospect of hosting another event in there.
    • We can have pretty objective details, such as:
      • Interests of the faculties
      • Interests of the Students
      • Effectiveness & turnouts
      • Quality of Infrastructure (Lab, Systems, Internet)
      • Quality of Logistics (Travel, Costs, Environment)
      • ...and more

Lesser side-loaded overheads, more deep-dive

  • Stop losing the first half of the event setting up the development environments. That's a big bummer. Everytime.
    • It wastes time
    • It expects developers to be SysOps too
    • Requires good Internet (which, bytheway, is a myth)
    • Requires dealing with unnecessary complexities, which can be abstracted away
    • Once set up on Lab-PC, the student has to go through again on his own system, at home - hitting gotchas, and getting frustrated.
  • Distribute ready-made DevEnvs
    • We've tried giving out setup VMs
      • Works as expected, but
      • Requires setting up VM itself
      • A 20GB image is not quite portable
      • Can't use the full system/processing power.
      • Looooooooooooooooooooooooooong build-times.
  • Distribute Live USB drives
    • How about branded, special-edition pen-drives with ready-to-boot Linux image, and persistent developer-environment (dependencies, cloned sources etc.) in it?
    • A USB 3.0 16GB can have a proper Linux installation in it - and can be readily replicated to as many as required
    • A monthly ISO image of the same, hosted from a trusted source - just like mercurial bundles
    • The participant can use the same thing on the Lab-PC & his laptop back home without losing a thing!
    • The pen-drive itself can be a very useful giveaway.
  • Ready to use OpenStack instances
    • OpenStack can give us an infrastructure to create a couple of identical running systems in seconds
    • In longer run, we can have a beefy OpenStack deployment where we can quickly create pre-setup small VMs for the participants
    • We can also have a couple of build-machine VMs as local-tryservers.
    • A lot of discussion may need to go into it - but this has a prospect of being a cross-project, cross-community, permanent solution for the problem in hand.

Thanks to Avik, Gaurab, Manish, Saurabh, Subhashis, Umesh - everything discussed here are collective decisions (albeit among a small group), in multiple passes.

If you have thoughts regarding/around these - I'd be eager to know.

27 February, 2014

Actualizing Probability, Seizing Night, Feeling Alive

12:30AM last night, gotten done with the meetings & calls - almost worn off - I was about to get my dinner & call it a day (for such long of a day it was).

But what do you know!

Got summoned by my Ingress faction for a call of duty - awkwardly eccentric, insanely probabilistic, extremely difficult, and yet immensely confidential task that needs to get done exactly at 4:30 in the morning, at a place 3hrs by road.

Hence, I grabbed my gears & rushed for the pick up (with a couple of bread-slices in my pocket; because, Dinner) - and there's no looking back.

In simple words - it was a covert operation of ~16 Ingress Agents, to transport an artifact (#2) from the origin portal in Bangalore to the destination portal at Mahabaleshwar (then undisclosable) - lots on XMs were spilled in the process & to defy the Resistance's effort to... well, resist - the process... & keeping it under Enlightened-control, strategically (12hrs) & effectively (4hrs).


Not going into the internal communications, but even on the public channels - the buzz was huge. Check out the official announcement by +Ingress to recognize the successful operation & screenshots of some of the COMM messages! ;)

The grab-n-go, the rushed long-drive to not miss the small time-window, the phonecall-hangout-maps combo to figure the lost roads we've never been before, the trembling portals hacks with shivering fingers in the cold, the first chai upon opening of the chai-shop at 4, the excited nail-bitting announcements-cum-note-to-self - 9 mins to go, 8mins to go... 1mins to go... 30 secs to go, GO GO GO!!! The fanatical deployment of the resonators by all agents within less than 5 seconds of the GO, the crazy-first-sight of the transported artifact gliding on top of the extended astral-projection of the destination, screaming the fuck out of the brain to see the job done against all odds, the after-planning & strategy updates from the control-HQ, boxing & setting up cross-links to secure the mission, watching a rising sun (on the car-mirror), keep talking to the almost dodged-off driver to keep him up... it was nothing but surfing a Tsunami, man!

My life is pretty darn awesome in general, but times like these just sets the bar higher!

10 February, 2014

About: "Co-founder of Mozilla India"

I woke up quite late today, and as usual found myself in the flood of device-notifications.

Swimming through, I couldn't help but notice that there's one recurrent theme against many of those conversations - actively, or passively; which is, me being termed as the "Co-founder of Mozilla India" in my FOSDEM talk's introduction.

Some congratulations, some giving justifications, some asking for justifications, some efforts to clarify the situations, some smug comments & inquiries etc. And I realized, the issue is not as innocent as it first appeared, and something is needed to be done to fix it.

For what it's worth, I am not the one who scripted the introduction. I've had very little to do with it. Clarista is such a nice person, it seemed rude to stop her on stage. I made a little hand gesture, "Please, let it go... I'm not that guy." but anyway, that message didn't pass through.

I've been anonymously volunteering for Mozilla since Q2, 2005. With the handle Debloper since Q2, 2009. Gave that identity a face in Q3, 2010, and by Q3, 2011, I've had to make myself public in the process of joining the Reps' program. In most of the given timeline, I've been more of a lone-wolf, than a community person, may be until this day.

There are many people from India who have been contributing to Mozilla since before me, and there probably will be people still contributing if I ever discontinue. Mozilla India isn't a formal or legal entity, and to find a distinct point of time when it actually formed - more than difficult - it's impossible.

Titles, badges, awards are not something I'm actively rooting for.

I've been in Mozilla Reps' Council, possibly one of the highest volunteer position one can earn in Mozilla, and personally never used that title except for the communications where I needed to send out messages as a Council Member.

My name is not even on the about:credits of Mozilla. One can actually ask questions against even me being just a Mozilla contributor itself, for that - let go off being anything else - and that's okay. It requires me to send an email, requesting recognition, which I can never bring myself to do. I've never even thought of drafting such email.

Sorry Clarista, but I am not the person to whom the title "Co-founder of Mozilla India" is useful. There are people who can make use of that title much better.

I am not that guy.

FOSDEM Fourteen FTW!


For last 2 years, I've been trying to attend FOSDEM, and yet each time found myself to be too late in the process to do anything about it. Missed the last year's Firefox OS awesomeness badly, and thus had my reminder set to wake me up when September October ends.

Facts & Figures

The Campus Map of ULB, along with the Dev-Rooms
FOSDEM (Free and Open source Software Developers' European Meeting) is a developer-centric event, hosted at ULB (loosely translated, Open/Free University of Brussels) that brings together 5000+ geeks from all over the world.

There were quite a few keynotes, main-tracks, and along with that 33 Dev-Rooms - that is project specific focus groups, each diving deep into their topics in separate auditoriums. The entry is walk-in, until/unless the room is full. The event in itself is free of any registration, or other charges.

Mozilla had the Dev-Room UD2.218A on Saturday, and there were 16 awesome talks in total.
You can get more details about FOSDEM from the official source.

FOSS Factions

Rats, I've never missed my red-fedora so damn much... should definitely have brought it. The place is literally swarming with Red Hatters - with the literal meaning of the word literally.

Along side of that, from Mozilla, Wikimedia, Python, Perl, KDE, Gnome, ElasticSearch... to even the Tor project - who wasn't there?!? For the open source enthusiasts, it's THE place to be.

Clarista introducing me making me hide under the podium.
One of these days, I'll start trying to live upto that introduction.

Fuming Fiery Feat

I had a talk on "JavaScript for the Skeptics" in the Mozilla Dev-Room. It's not a Knowledge Transfer, magic show, or a crash course on anything. In front of the FOSDEM audience, I wouldn't dare to pitch myself to be capable of doing that... no.

So my idea was, to give a retrospective & a fresh new perspective on applied JS; also to ring the doorbell of "Worse is Better vs The Right Thing" and run away.

In this year's FOSDEM, JavaScript talks were overly crowded in general, and so was my talk. There had to be a "Room is Full" board put in front of the room even before I got on the stage. I didn't quite notice that I've been speaking in front of 500 who's-who, until the Q&A started - when I suddenly got a quite noticeable cold-feet.

As a speaker, I've tried best to work on the problems I had. Many fixed, some still there. If you're a budding speaker as well - here's the recording, watch this - it may help you:

Fun Factors

  • I dashed around & collected goodies like there's no tomorrow.
  • I often got into conversations, and talked to so many folks from different projects
  • Often those chats took way more than 2 minutes, without me having urge to run away.
  • I said to myself "WHOA!" quite a couple of times, for various reasons.
  • I traveled in bus of Brussels, but the FOSDEM-route felt no different than that in Kolkata.
  • I, along with Sayak, often gotten into Ingress dog-fights with local Resistance agents.
  • I've had beers at the signature spots in Brussels - including, but not limited to - The Delirium Cafe, À la Mort Subite, Le Grand Café et al.

And of course I've taken a hell lot of pictures... check them out from my FOSDEM'14 Flickr set, or maybe just play this slideshow:


Thanks a lot to Brian, Clarista, Benoit and all who actively helped make Mozillians' participation in FOSDEM such a memorable event - I give up on listing all the reasons why. Special thanks to Ziggy & Francisco, for the great job behind the camera, all day long! Thanks to all the Mozillians managing the Mozilla booth, and thanks FOSDEM.

18 December, 2013

Optimizing Fedora Startup Performance

Disclaimer: This isn't a full course meal on the topic - just the main course. I'm concentrating on the low-hanging fruits here & ignoring stuffs which require excessive amount of warnings without significant impact.

In case you're interested about the ignored bits - you may wanna check this blog that covers some of those parts: http://www.harald-hoyer.de/2013/11/13/fedora-boot-optimization/

Update 2: Reviewing the Fedora 20 change-sets, I have a feeling that although following is a generic way of optimizing Fedora startup - there are so many radically awesome changes inbound with Heisenbug, that you should definitely consider a fresh install to get rid of many ghosts of the past (if you can afford to).

To start with

I recently (yesterday) performed a fresh install of Fedora 20 on my test-rig & then onward, rebooting my other system appeared to be considerably slower (compared to it).

This is a system on which Fedora 17 was initially installed & then innumerable amount of packages were installed over the time along with next 3 release upgrades (with FedUp). So you can imagine, a cleanup was long overdue.

How bad?

Well, "yewww!" would be the best adjective, so to say:
[root@debs ~]# systemd-analyze
Startup finished in 2.526s (kernel) + 10.188s (initrd) + 2min 43.299s (userspace) = 2min 56.015s
Damn... Which spawn of devil is screwing up my userspace-startup!
[root@debs ~]# systemd-analyze blame
     1min 1.856s sm-client.service
     1min 1.271s sendmail.service
         15.865s firewalld.service
         13.805s plymouth-quit-wait.service
         11.665s rsyslog.service
          9.543s accounts-daemon.service
          9.293s dnf-makecache.service
          7.995s systemd-cryptsetup@luks<trimmed-volume-guid>.service
          7.024s NetworkManager.service
          6.392s httpd.service
          4.696s rtkit-daemon.service
          4.671s avahi-daemon.service
          4.670s systemd-logind.service
          4.417s gdm.service
          2.839s NetworkManager-wait-online.service
          2.617s polkit.service
          2.573s systemd-cryptsetup@luks<trimmed-volume-guid>.service
          2.361s chronyd.service
          2.003s wpa_supplicant.service
          1.885s systemd-udev-settle.service
          1.353s plymouth-start.service
          1.064s systemd-readahead-replay.service
          1.021s jexec.service
          0.XXXs [trimmed]
John "F" Kennedy!

For me the immediate reaction is: "Why do I even have sendmail... must be the BugZilla test-setup" — but the particulars may vary person-to-person system-to-system.

Update 1: As Sankarshan points out, sendmail has _been_ the default MTA for quite a while — not an after-setup.

What now?

Go through the list before & figure out which nutjobs you wanna kill with fire, which ones simply don't make sense to have around anymore — and remove them.
[root@debs ~]# yum remove xxx yyy zzz
Won't chew the food for you here... if you can't figure out the package-names to remove, you should try different ways to optimize the system (how about a fresh-install, eh! :P).

There are some stuff which you may need, but don't need during startup (NetworkManager, iSCSI, RAID). So removing them isn't a good idea - but you can safely disable them:
[root@debs ~]# systemctl disable xxx yyy zzz
I'm going with systemctl disable instead of systemctl mask because, it's more revertible, in case things go wrong. For brave souls, go ahead with whichever you see fit.

Each time you optimize some certain parts - reboot & repeat.

Not only it gives you the idea how the optimization is going, in case things go wrong, you have less troubleshooting to perform to pinpoint which caused it exactly.

Close Enough!

Once you feel comfortable with the startup speed &  systemd-analyze blame output, then it's time to wrap up.
[root@debs ~]# yum autoremove
This will uninstall the packages which were installed as dependency of other packages, but that main package has been removed (generally, rendering these useless)... completely safe to remove.

Also, the startup depends on the HDD performance. It's better not to use LVM partitioning (at least on the startup disk). Also, make sure to check for file-system errors, bad-sectors & volume usage-percentage. Reclaim some HDD space if required (start with cleaning /var/log/*). Anyway, out of the scope of this post.

I've got my system down to 40sec for a complete startup (of which 50% is decrypting LUKS filesystem — can't do shit about it) — that works for me!

Extra mile...

If you're still not happy, you can go on ahead further optimizing these parts:
  • Remove the leftover scripts from Live Media
  • Disable/remove Plymouth (i.e. GUI Bootscreen)
  • Disable avahi, bluetooth et al. services at startup
  • Disable Firewall, SELinux etc. (bet you know what you're doing)
  • Find the failing processes/services with systemctl --failed and fix 'em
  • ...and the list goes on! (What all did I miss?)

Statutory warning

Always have a fail-proof/alternate kernel to boot to (especially if you're going to mingle with dracut/initramfs-rebuilds). Have a Live USB ready, in case you need to fix /boot (btw, keep a backup of /boot), or need to chroot the installation in case it doesn't boot up.

If your installation doesn't have too much customization, then considering a fresh install is a really good idea (n00b tip: having /home on a different mount point makes it much easy to format the system, even with different distro but still have the user configurations retained).

15 November, 2013

Mozilla India Blog is open-to-all

TL;DR: Now, anyone can register & post on Mozilla India Blog.

Let me be straight here: It's nothing new. It has always been there - but general feedback from the community implies, it isn't always obvious to get... Okay, point taken.


From the very moment of configuring the Mozilla India blog, the new user registrations was set open (OFF, by default) - so that the community members can contribute to it.

The default WP configuration puts the SignUp/LogIn links at the bottom of the sidebar - which may be difficult to notice. Although, if someone searched, would've found it - we needed to make it more vivid to the community, that it's not a obfuscated fine-text sitting there just because it has to. We had to make it more prominent, that if community members have a good point to share & need to have their voices heard - they can use this platform. After all, that's what it's for - right?

So, there you go... The BIG. BLUE. BUTTONS (ahem!) on an unobstructive, yet accessible, corner of the blog at your service. You just CAN'T miss it now... can you?

If you want a relevant post to be published on Mozilla India Blog, then follow these steps:
  1. Log in (or, Sign up)
  2. Draft a post, that you need to have published
  3. Wait for the WP-admins to review & publish it
Upon signing up, one directly gets a "contributor" role (WP-default is just subscriber). General contributors don't have publish rights - to avoid spams - but can make as many drafts, as they want to.

This is all that is in the technical part; I leave the SoP, criteria, relevance, reviewing etc. upto the Engagement Task force to decide & handle.

20 October, 2013

MODS Bangalore 2013

The Event

The Mobile Developers' Summit is an annual event hosted by Saltmarch. This year it was at Bangalore, last 10-11th of October, 2013 at the NIMHANS Convention centre.

I was invited to speak on behalf of Mozilla about the "Firefox OS and the power of HTML5". [Slide Deck]

The Talk

The talk revolved around the idea, how Internet as a Platform changes the game, what myths do we have around it and pointers to what changes in direction we can already see. To some extent, it compared the capabilities of Native vs. Web applications - with little brief on how easy it is to make web applications to be device-compatible, and how the market ecosystem is different & more meaningful than the rest. Showed a couple of demos, insights about the platform & gave some contexts of WebApp development.  In the end, tried to demonstrate the world map, where Firefox OS has already launched, and the opportunities of Indian Freelancers & Startups in the global open app-marketplace.

The Audience

Noticed that the excitement around Firefox OS talk was latent but high. In fact, many of the event-speakers attended the talk as well. The questions asked were substantial & original - eventually, after eating up 5min more than my allotted stage-time quota, I had to call the extended Q&A outside of the conference hall (another 1hr, but who's complaining?).

The Takeaway

For the lack of a proper recording solution from the event hosting team, I fell back to G+ hangout on Air to record the session (& identify my mistakes, as a speaker). Go ahead & check that out... I'm totally okay with public shaming for my mistakes.

Sorry about the crappy recording - that's the best I could do at that instance.

The Postmortem

Personally, I find that this time my style of presentation was kind of set to "class-room" mode, rather than "evangelical" mode. From previous feedbacks, I had planned not to speak in fast pace (with jumbled-up phrases now & then); rather to go with choppy, distinct words/phrases - which worked out.

I need to work a lot on my voice-modulation (which would've automatically be there, if I had some affective-empathy - sadly, I don't). Crash courses on voice-modulation (trainings for RJs, etc.) sounds cheap (and, in reality, they aren't), so I was thinking, some sort of storytelling-to-kids kind of activities can help me on this. Added to TODO list.

Also, I move a lot. Usually, in workshops it's not a problem. It's okay to move around the desks, among the students. But in here, on stage, I look particularly annoying moving in a bee-dance motion. STAND. IN. THERE. GODDAMMIT.

One other thing to mention, although didn't practice time keeping (just had a rough idea - which could no way be followed on stage properly) - the planned 50min content delivery actually sync'd pretty great in realtime.

The Feedback

The twitter-responses & the email-followups I received after the event, were mind-boggling. I won't get into too much of the details, but I feel happy to see such an impact & am ready for more.

02 October, 2013

California, here we come... DinoCo, here we come!

So it begins...

Hundreds of Mozillians from all over the Asia has already started taking off for Santa Clara, California to attend the Mozilla Summit 2013 - the largest Summit we've ever had!

This is historic; THIS IS EPIC! Not because of the numbers, but for the enthusiasm, reach & impact it will create.


There are also two other locations where the summit will be hosted parallel to each other, with (almost) same tracks & schedules - in Brussels & Toronto. Grossly, Mozillians from Europe attending summit in Brussels, Mozillians from Latin America, Africa & Middle East and Canada attending are in Toronto, and the ones from Asia and USA will be rocking at Santa Clara.


According to the list of invitees, Mozillians coming in heavy bunch are from India, Indonesia, Phillipines, Japan, Bangladesh, Taiwan, Sri Lanka etc. which is almost proportional to the strength & activities in those respective Mozilla communities.

There are plenty of people attending summit for the first time, and many veterans are there, who've attended both the summits before. The selection of invitees was generally based upon their recent activities & impact in the community for spreading Mozilla.

Trivia: Santa Clara will be having the most number of Mozilla Reps too - only location to hit three figures on ReMo head-count (of which, almost 40 from only India... yay!).


We've never faced raging border-immigration issues with regional MozCamps - but this time, getting all Asian Mozillians to US, or LaTam, African Mozillians to Toronto is proving to be quite a bit of challenge.

However, from South Asian communities, we'll still be having more than 80% invitees as attendees; whereas the general average of getting visa approved is no about 50-60%. This includes the luck-starved Nepal community, from which only two people will be participating & only one got US visa (you folks are awesome, and we'll sure miss you).

This is all due to the incredible co-operation & support from State.gov officials who helped throughout the visa-application procedure for last couple of months! It worked great to collectively prove the purpose of visit, than letting each of the participants be on their own for that. Thank you very much US Depatment of State!


We are done packing, we're on our way, we're flaunting Mozilla T-Shirts & hogging WiFi & boarding air-crafts in the airports all around the globe, we're restless to have the time of our life, and we're landing soon!

Wait for us...

29 September, 2013

Brace yourselves, a new Mozilla India is coming...

WIP title: Releasing Krakens... an entire army of them!

Peek-a-boo: New visual identity of Mozilla India... Yay!

Well, the idea of Foxy hugging the Ashoka Chakra as the logo had to be thrown into the gutter - too many objections about potential abuse of the country-emblem. Though, I fail to see how hugging your mother can be considered a nefarious act!

Now, to the main topic; TL;DR: The new Mozilla India websites is live & kickin', also it has got some new platform-integration (& underlying infrastructure upgrade). The Mozilla India developers have been at work for a while now & things have started to shape up.

The Platforms & the Infrastructure

I'll be mentioning these two terms way too often below, so I'd rather give a brief:

Platforms: a software stack on an OS, allowing us to achieve some task in particular. Some lose examples would be blogging, content management, documentation, API, content serving etc.

Infrastructure: the hardware with OS & networking, on top of which the platform is stacked & run.

Throughout the blog, I'll be defining platform owners; which means, the person solely responsible for managing the platform & its operations. For any questions/requests regarding the same should be directed to them.

ONLY IF, it's an infrastructural issue, down-time, or the platform-owners fail to resolve the problem, then it should bubble up to me. I will be the infrastructure owner, making sure nothing needs to be bubbled up to me; and if I fail, I'll fall back to Mozilla IT.

New Mozilla India Website

After two and a half years on Drupal, emulating the need of all different platforms (such as blogging, promotion, event management) & doing it quite badly, we finally have a brand new mozillaindia.org!

Thanks Kaustav for leading the development; it's completely HTML/CSS/JS, and without any server-side scripting need.

Also, thanks to Scrollback folks for the microforum widget into the homepage, letting the community members join IRC meetings without needing to setup clients, or check logs without having bouncers.
While we're at it, let's sort out some old accounts:

I don't know the decision of tight-coupling all the community consumable modules (e.g. Sandstone, Tabzilla etc.) into the Bedrock was taken exactly by whom (from Mozilla WebDev team), but FYI - I hate you, and many others from all different communities do. We are now either locked-in to use Python/Playdoh, or waste time on splitting them off of Bedrock for using with other platforms/frameworks.

Using gitmodules, or making them a hosted solution wouldn't have been too much of trouble, would it?
Platform owner: N/A.

Mozilla India Blog

The blog.mozillaindia.org, running WordPress with One Mozilla community theme will be the main announcement channel & noticeboard of Mozilla India.

We're looking into a planet-like solution built into it, to aggregate blogs of community members, but till then anyone is allowed to post. To get user accounts, contact Sayak; for getting posts reviewed, contact Vineel.

Platform Owner: Sayak.

Mozilla India Wiki

The wiki.mozillaindia.org has been set up & handed over to the documentation taskforce a while back.

Expect all information about Mozilla India to be categorized in the Wiki, or feel free to hop in & make it as such.

Platform Owner: Priyanka.

Mozilla India Hive

This month, we also have kicked off our own Mozilla Hive Learning network. The ones who did not attend the MakerParty Bangalore, you missed a lot.

Thanks to Dron Rathore, for all the awesome work he put into for the development of hive.mozillaindia.org.

Platform Owner: N/A.

Mozilla India Bugzilla

In last community-workweek, we've been debating for a better task tracking tool for ourselves; and while there were so many suggestions, practically nothing could beat our good-ol' Bugzilla.

So, our bugz.mozillaindia.org runs a v4.2 deployment of Bugzilla. And is now open to all. \m/

Platform Owner: Me.

Mozilla India Developers

Last, but certainly not the least - the drive for engaging more developers from India is now very high on momentum.

For quite a couple of months of idealization, the Project 300 is finally a GO. Now we have a complete list of Developers from India (with India as country in Mozillians' profile) who have contributed to the Mozilla codebase (which is tracked by BMO). Visit devs.mozillaindia.org to check what I'm talking about.

Thanks a lot to Sankha & Girish for all the efforts they've put in, to turn it from an idea to a reality. Now, if you see any potential for aggressive expansions to our this small operation - be our guest, and send in a Pull Request.

Also, now we have a mailing-list dedicated to Mozilla India developers. No more we have to spam the community list with weird-sort-of discussions - just subscribe to https://lists.mozilla.org/listinfo/community-india-dev and you're all set. WARNING: follow the mailing-list netiquettes.

Platform Owner: Me.

What's next?

Here are a couple of things we'll need to look into in upcoming days:
  • Migrate the platforms to separate infrastructures, even if virtually. Most web-servers running from same infra is risky, less flexible to experiment with & more vulnerable to downtime.
  • Roll out more platforms & community tools - delegate the platform ownerships accordingly.
  • Let's create an ecosystem to engage the community members to find platform issues & report them, platform owners marking/labeling the priorities & complexities of the bugs reported, and get the newcomer-developers started with low-hanging issues to fix, from that bucket.
  • While we have a plenty of developers, we need more ServerOps; especially the ones who can kick me out of my place & take the ownership of the Infra. Come and work with me to understand "the design" underneath, if you're aspiring for it.
  • We need to separate heavy, non-urgent tasks as GSoC projects & mentor for the same from next year onwards.
  • The technical task-force needs expansion - some planning around its next steps would be rad!
  • Proactive collaboration & better communications among the developers.

Overall - in Mozilla India, things are kind of awesome - we just needed to present ourselves better. I'm all-in to help that fact, and comments, feedback, suggestions are more than welcome!