Experiences in the community

Just another WordPress.com weblog

Debutsav 2014 Experiences – Day 2

This will be the last post in series on Debutsav 2014 held at Amrita University and consequently will be biggish.

As shared in the last blog post as well, the day started with Anup making sure that all of us were awake and had our bed tea. As most (or almost all) of us had slept late as quite a few of us know/knew each other and wanted to make most of the precious time left to know what is/was happening in each other’s professional and personal lives time had just gone by. Anyways, the early morning was routine as can be said from the day before, we had our breakfast and then reached the University around 9:30 a.m. We had a breakfast and the actual sessions for the day started at 10:00 hrs. The first session of the day was given by Mr. Gokul S. for C-DAC for BOSS GNU/Linux. He shared the desktop and shared a bit about how they have started to use private git repos. within the organization this year itself. I was shocked, flabbergasted to know that a premier institute like C-DAC did this so late, but guess better late than never. Mr. Gokul shared that the new version of BOSS Linux would be available soon, which didn’t make sense of it. I suggested to him to suggest to the C-DAC people to follow Debian life-cycle and support our en-devour of having a short RC cycle so that Debian stable Jessie is soon available to everyone. A shorter RC (Release Candidate bugs removal cycle) would be appreciated by everyone within Debian as well as all those distributions which use Debian as the source. https://udd.debian.org/bugs.cgi?release=jessie_and_sid&patch=ign&merged=ign&done=ign&fnewerval=7&rc=1&sortby=id&sorto=asc&ctags=1&ctags=1&cdeferred=1#results is a good way to work on some of those bugs. Some of the bugs can be worked upon by students of Amrita University as well as anybody else who might have interest in seeing Debian release Jessie faster.

On the security front-end he shared some of the basic steps that can be taken as in having a BIOS password, disabling shadow passwords and other such steps. He was critical of cryptsetup as the encryption is that good that if you manage to lose your pass-phrase then the data is gone. I was thinking he would be talking/sharing about things like RSA algorithm and related encryption, cryptography subjects but that was not to be. There is a lot of work which is still to be done in that area and information at least in India is pathetic, as of now but that’s tale for another day.

The session was a small, quick one. I went out to have a quick cup of tea, coffee and missed the inaugural part of Ishaan’s talk on ‘Change the Rules’. Ishaan tried to frame the issues involved in the context of British rule and does they bringing in some changes and technology justify the rule over us which for some reason unknown, the students didn’t get it. Mr. Arun Kelkar, then on Ishaan’s behalf took the situation and went sharing into the details therein. As Ishaan was unsure, I also had to help out. The main issue which for us is this :-

Let’s say I go to buy a car in India, I can choose to buy it in all colors with the accessories I want (or not), with the option to have a Petrol model or a Diesel model (in future as in west) or an electric one. Now the shop-owner will not deliberately give fewer features to the Diesel one to sell Petrol ones as he is supposed to be neutral whichever sell more. This is exactly what is missing in the laptop market as most lappies which are available in the market with good specs. and good price are bundled with MS-Windows. The ones which are available having either MS-DOS/DR-DOS or any DOS or GNU/Linux distribution are both under-powered (as in specifications viz-a-viz lappies which have MS-Windows pre-installed) and are also pricier without any accountability as to why it’s pricier (should be cheaper right) as compared to the models with MS-Windows integrated.On top of it the version you are getting on the lappy is not free and you are shelling out close to Rs. 3000/- or Rs. 4000/- extra on top of the lappy which is an unnecessary expense. Apart from that, it also makes it harder for people to install other Operating Systems into the system. In fact, some of the hardware vendors would drop support if you install any other Operating System. This is wrong on so many levels. The software that is provided has no warranty which means if something goes wrong you can’t sue the software company and bugs, exploits, viruses are dime a dozen from boot viruses, macro viruses, worms etc. to if you are using MS-Windows. Also, the recovery CD which is sometimes given only works on MS-Windows and that too with a specific license copy. I don’t know if this has changed or not but with the older versions if you had installed/re-installed the OS, once too often, then the license key would refuse to work. All of which work against User and the rights they should have the system.

If we take the car system, then changing the accessories or servicing is often to optimize would make the car refuse to start. This would be unbelievable in hardware such as a car, but somehow is accepted in software environments.

My own example – I can spend Rs. 50k/60k on a good lappy with the latest specs and a deb-based distro. but such lappies don’t have a good graphics card.I want the best graphic card I can get within a certain price range. I could hack/reverse-engineer and get the best drivers working for my lappy but will buy a lappy only when such solutions exist as well as support is available. Something like system76.com for India. There are other issues as what Apple (makers of Macintosh) have been doing, they have been making a single

Me, Praveen and quite a few of us are striving to use and ask people to use h-node.org to see how many people’s lappies work with free software and report it. The idea is to have one or two models which we could tell people as the ideal model where free software works and compel both individuals as well as companies to buy those systems in whichever way we can accomplish. The only way we can reverse the current trend is by doing something like this.

After Ishaan’s talk Balasankar or Bala took the stage. He has been a localization expert as far as I remember/the first time I met him some 4-5 years back. The idea of localization and internationalization is to have the software in as many languages as possible. The basic idea is first to make sure that your software isn’t hardwired to only have software in one language (i18n) and once you have done that, you can invite/ask people to add as many .po files as they want. Most packages have .po files done via poedit. Sharing some lines of a .po file :-

#: ../src/modes/shop/shop_root.cpp:67
msgid "\"Welcome! Take a look around.\""
msgstr "\"¡Bienvenido! Echa un vistazo.\""

This is from a game project I used to contribute (more in QA and ideas though, nowadays don’t simply due to lack of time) called valyriatear . It’s an RPG game and basically the moment the character enters a shop it will trigger the dialogue shared above. For the person who speaks spanish it will instead show that dialogue. Essentially, if you are native language skills are good and can write the language in computing, you can use the same skill-set to translate softwares in your language and make the software being used by more and more people. Sharing list of .po files from a debian package so people know what to look for.

$ dpkg -L python-django | grep '\.po' | more

Frankly speaking, whatever I know about localization is pretty little. The best way to know about it to open a .po file and look at the strings contained in the .po file. The main tool is poedit.

Poeditor 1.6.10 showing python-django hindi translation

As can be seen there is a bit which is not translated as yet. Just uploaded this screenshot just for this purpose (meanwhile also helping screenshots.debian.net in getting a new version of the image.) Getting this window is as simple as :-

$ poedit /usr/lib/python2.7/dist-packages/django/conf/locale/hi/LC_MESSAGES/django.po

You could just go to /usr/lib/python2.7/dist-packages/django/conf/locale/ and just see the number of languages therein. The one which I used shows me 88 languages/locales and 2 files.

The .po file I showed you might be old as I have shown the one in testing, in unstable/sid the version of python-django is different.

$ apt-show-versions -a python-django
python-django:all 1.7-3 install ok installed
python-django:all 1.7-3 jessie http.debian.net
No testing-updates version
python-django:all 1.7.1-1 unstable http.debian.net
No experimental version
python-django:all/jessie 1.7-3 uptodate

You can view the latest/master at any point in time by looking at https://www.debian.org/international/l10n/po/hi to know the latest state of the language you are interested in. For instance this is the link for Indian Malayalam https://www.debian.org/international/l10n/po/ml_IN . As can be seen Indian Malayalam is in much better position than Hindi. I’m sure Bala might have also shared about transifex

I didn’t follow Bala’s talk as I’m not much inclined towards localization and dunno much anyway. The only comment I heard from him when his talk was over that he was unable to show all due to Net slowness. As had shared before, if we have had a debian repo. these issues would not have come up.

Then we broke for lunch. After lunch, Priyanka showcased Scrollback properly this time.

Priyanka Nag showing scrollback properly

I managed to get a sneak-peak at the github code and saw there were lot of back-ends apart from IRC. As this is a web-based service, I suspect one of the big ways they will be thinking of making money is by having exclusive scrollback experience with various sites and having private chats. Whether that and having AI make decisions on tags and binding conversations to those tags would be a hit or miss would only be known in the long-run. As a concept I liked it, would like to see it develop much further.

Then after a while, Krishnakant a.k.a. KK, Mr. Arun Kelkar and Ishaan from Digital Freedom Foundation unveiled GnuKhata version 1.0 at debutsav. They were having some last-minute niggling issues and hence instead  of launching it via the shell, it was launched from inside Eclipse. Mr. Kelkar tried his best to share about financial accounting practices but as nobody other than yours truly has been a B.Com graduate, it went above most C.S. students. The UI could be more pretty and hovering should have explanations, apart from that it looked cool. I wished Mr. Kelkar could have got access to people having Accounts background so they could have a fruitful discussion and also wished KK had given more of behind-the-scenes code which makes all of it possible but that was not to be. He would have probably required 2-3 hours and most of the Speakers, i.e.  me, KK, Praveen, Bala etc. also wanted to hear presentations of students so we cut short our presentations so the students could also talk about whatever projects or bug-fixes they had done.

From Amrita side, the first presentation was given by Darshana on Git for humans. There are and were quite a few gaps in their understanding as well as explanation of DVCS versus centralized way of development. One of the main reasons why git and mercurial have been standard tools that each person can fork an existing project and do development. The social skills which were needed in the old model to get your patch accepted in the main tree are not there much. If some members of a project are not happy with the processes, procedures or personality/ego clashes they can fork and do their own development and at times still share code with each other. While there are many notables in this area, the LibreOffice fork from OpenOffice would be the first one that comes to mind in recent memory. There were other issues as how internally git manages objects and trees but didn’t feel inclined to correct her. I’m sure in due course she would find how things actually work.

What I did object and sort of made her understand why branching is done in git (another great feature) and merging those to the main/master/trunk tree . This is again so cheap. Both of these concepts were unclear and I did help clear it up. The simplest example could be you have a program which counts for e.g. how many transactions are entered into a spread-sheet. Now, this is a linear operation. What if the number of transactions become more than the processing can be done by the program, so you could make a branch where you could code and try to figure out if parallel processing of the transactions can happen and if that works out you merge it to main tree/trunk/master. In this way other development on the main tree/trunk/master does not stop and if the feature doesn’t work out, you can simply throw it away keeping the code-base small. I am sure there are other examples that people can use to show how branching works/ed for them in their various projects as well.

The next one which I was able to get was ‘Contribution to Linux Kernel’ by Tina Johnson. While I could see that she understood the process of how a new version of a kernel is churned out every 3 months and how work is segregated between each subsystem maintainer, I was turned off quite a bit with her offishness about the presentation. She tried to share Coccinelle and was 50-50 in that. A good explanation of what Coccinelle can do can be seen in this somewhat dated post shared on lwn.net years ago.   The best way for her to realize what she was doing wrong would probably to have a friend video record the talk so she could see how her body language was during the talk/presentation.

The next presentation that followed was ‘Why ZSH is better than BASH’ . The Z Shell came to public consciousness in a big way only when the Shellshock bug was discovered about couple of months back. It was a good presentation as she shared about the oh-my-zsh repo. She was decent. She showed some of the git commands which are integrated in the shell itself as well showed colored shell-prompt. I wish she had shared some more differences between bash,dash and ZSH but even then it was ok.  The only thing I wish she was a bit more aggressive, bit more passionate about whatever they were presenting. If you have the passion that everybody in the world should be using ZSH that brings up discussions, rants and whatever which makes the overall presentation a much nicer experience for everybody.

Then next we continued with our session from the first day. I was supposed to give some info. about the Debian BTS, how to file bugs etc. and was under the delusion still that the audience in front of me did know of some GNU/Linux basics. I asked about the file layout structure in GNU/Linux. I was met with pin-trop silence. I repeated it couple of times hoping to meet with some success but not a single voice went up. I hadn’t prepared for showing off the file-layout structure both in matter of time and viz-a-viz relationships with MS-Windows. I showed up / and showed up what contains in each sub-directory but didn’t really have time to be thorough.

:/$ ls
bin   data  etc   initrd.img  lib32  lost+found  mnt  proc  run   srv  tmp  var
boot  dev   home  lib         lib64  media       opt  root  sbin  sys  usr  vmlinuz

I did share that lib64 (or lib32) has the maximum .so library files which is similar to MS-Windows .dll files and things like that. If I had some idea before-hand, it would have taken me 10 minutes of reading to get the MS-Windows relationships figured out. I have been away from MS-Windows that have forgotten which files are kept where. If I knew I would have done some changes in each of the sub-directories (edit some files) and they would have understood how things work. I dunno how many people might have got the packaging part when they didn’t know basic Linux directory structure, file ownership and permissions and generally know where is what.

After the sort intro. how packages enter the repo., the baking/bug-reporting time and then finally moving to unstable/sid and then testing/next release. We started with the same installation session of diaspora pod on local machines and couple of the students in due course were able to get the pod running. We weren’t able to check if the pod was connecting as all of this was being on VM. We could have bridged the connection between the host and the guest OS but all of us were feeling extremely lazy. We used the info. that everything worked and they were able to have the database up, the daemon was running and everything was looking smooth at the server end. We didn’t have to say anything as people had realized by themselves why packaging is so important.

Then Praveen started the Packaging session. As I feeling a bit tired by this time, went for a break again and came to know that a certain Sarup Banskota was taking a ‘Contributing to Fedora’ session. I went to his session as I wanted to see what the fedora community was upto. Me and Sarup had just met just that day and I had known that he liked to work at UI/design and we knew some of the people in the community whom we thought were great for the contributions made by them from a design perspective and just being good cross-community people. I was surprised when he shared that github was the first to have a bug-ticketing system and everything that github did was innovation. I was embarrassed but had to correct him. Bug-ticketing was way before github got the action. People forget that there was freshmeat, sourceforge.net and quite a few others which did all that github does. What github innovated was in the visualization a bit, not anything else. The bug-ticketing system that Sarup is/was proud of is way below par as it needs markdown and doesn’t have a GUI toobar till date.

A good bug-tracking system would be something like Reportbug and add some sort of tagging to it. Tags are great way specially in complex software like libreoffice, 0ad, iceweasel,mediawiki etc. and other such software which need a myriad number of components for it to work smoothly. This would be in-line how stack sites work today and it would definitely be easier to get more eyes on a certain feature/topic than most of the existing tools and systems allow. While sourceforge.net, bugzilla went one way with categories and all (making it complex for people who don’t know the tools) github went the other way and tried to simplify it a bit too much without taking into account the sort of softwares that might be using it services one day.

Anyways, after that session, we had a closing remarks session where both me and Praveen some things we would like the students to participate and do. One of the things is obviously running their own pod, Amrita pod so they could do all their fun press releases while having complete control over what content they want to pass over third-parties which is next to impossible with social media sites like Facebook and others alike.

We had a small presentation ceremony as well where Amrita University presented some momentos as well as we presented a couple of T-shirts to people who were able to complete the pod (as in get the service running even though we were unable to connect to check from client side) . I was hoping to share the blog post last week, were hoping some photos will materialize but that seems not to be happening. I hope some students enhanced their understandings about Debian and FOSS even though it would have been loads better if we had thought that students would probably not know the basics😦

Notes :-

a. The photos are courtesy Priyanka Nag (Evangelist at scrollback, Mozilla Rep. and a friend), and Anup Kumar (student, a Mozilla contributor, photographer and a friend.) . I have asked both of them to share the photos are under CC-SA-3.0 Unported license but that’s upto them.

b. Thanks to Debian.org for sponsoring my travel to and fro for the event.

c. Thanks to the various sponsors, C-DAC , ICFOSS, NIXI for making the event happen. It wouldn’t have happened without your generous support.

d. Thanks to Mr. Vipin (although we couldn’t meet), Mr. Bipin, Miss Aishwarya (both staff at Amrita) and the whole volunteer team at Amrita, they also played a huge-role in making sure that we were fed, on-time and generally didn’t make a nuisance of ourselves (at least I hope so🙂.

That’s it from Debutsav at Amrita University🙂

Single Post Navigation

4 thoughts on “Debutsav 2014 Experiences – Day 2

  1. Hi Sarup,
    sorry haven’t been coming on wordpress due to work constraints and other things hence your comment was in the pending queue and over-looked by me. I think you nailed it in the last part in the comment you made, yes, for me it’s not visualization that matters as much as something which is stable and works.

  2. You have completely misunderstood me. First off, there was context behind what I said, unlike how you have put it up on your post here. I brought up the topic of GitHub issues to indicate what someone doing a GitHub-like project (GlitterGallery) would have to build over just a visual interface to files on a Git-backed project. An attendee can argue why one needs GitHub when there’s something like http://git.zx2c4.com/cgit/? You’ll naturally tend to talk about stuff like GitHub Issues and Pull Requests. To save my pride, that’s the first two things on their features page: https://github.com/features.

    I tried explaining this to you at the event but you won’t stop to listen. I never claimed GitHub invented the concept of bug tracking or todo lists (my grandfather had them) – I was speaking more along the lines of GitHub inventing “Issues” (they brand it that way), which is IMO awesome in terms of overall experience.

    “The bug-ticketing system that Sarup is/was proud of is way below par as it needs markdown and doesn’t have a GUI toobar till date.”

    If you’re talking about GitHub’s bug-ticketing, it has supported markdown for as long as I can remember. Heck, even their Pages platform supports Markdown. Oh,did I mention GFM? I’m not sure which GUI toolbar you’re referring to.

    “What github innovated was in the visualization a bit, not anything else.”

    I have the impression you appreciate scrollback.io. Is it fair to conclude “all they do” is make IRC look more cute? I’ll be honest and admit I have *never* used anything other than GitHub/BB, but I can tell you reasons why I love GitHub. Maybe that’ll help you realize why you had to say “…there was freshmeat, sourceforge.net and…”

    I’m on http://sourceforge.net/create/ and looking at “Integrated Issue Tracking” and whatever follows. I’m not sure which of those features GitHub lacks?
    Coming to some cool stuff GitHub has to offer (might not interest you, or even me, but it definitely matters to a lot of people): GitHub for Windows & Mac, GitHub jobs, the GitHub API. Various IDEs now have plugins to deal directly with it. What’s not to like?

    Yeah, you’re of course free to argue about how the GitHub Issues/PR experience works for you – that’s a matter of personal choice (see: http://sourceforge.net/blog/github-collaboration-and-haters/). But it’s immature to demean a fantastic product and company based on whether or not it works for you. It definitely has worked great for me, and I’m sure many will agree. That’s why stuff like this happens: http://bit.ly/1sqL9dx

    BTW, why no markdown support on your blogpost comments?😉

    • Umm.. you are mis-understanding things all over again and are also mis-representing some facts (perhaps unknowingly) . The term ‘ITS’ or ‘Issue Tracking System’ was way way before in the public domain rather github ‘inventing’ them. See https://www.google.com/search?q=Issue+Tracking+system&safe=off&client=iceweasel-a&rls=org.mozilla:en-US:unofficial&channel=sb&source=lnt&tbs=cdr:1,cd_min:1/1/2000,cd_max:1/1/2007&tbm=#safe=off&rls=org.mozilla:en-US:unofficial&channel=sb&tbs=cdr:1%2Ccd_min:1%2F1%2F2000%2Ccd_max:1%2F1%2F2007&q=Issue+Tracking+system

      So as can be seen OpenLDAP and roundup.net were one of the first users who used the words ‘Issue tracking system’ rather than github.com. Github.com came much later to the scene 2007.

      Also see http://www.w3.org/wiki/index.php?title=TrackingIssues&action=historysubmit&diff=36045&oldid=35998 which also tells that ‘issue tracking’ was there in 2k4, way before github.com came on scene.

      As far as ‘features’ on pull requests are concerned, as shared before this was there from starting . See Linus Notes on the same at http://thread.gmane.org/gmane.linux.kernel/293914

      What I was saying is that github.com FORCES me to use markdown, there is no other choice. If I’m a non-developer I would not be able to write the issue correctly if I don’t know markdown. I also meant there is an absence of the GUI toolbar http://www.ocad.com/en.wiki/images/6/6f/Toolbars.png . If you have seen it while making an issue/bug on github please let me know as I haven’t seen it.

      As far as scrollback is concerned, they are not JUST making IRC look cooler they are also having other backends, like facebook, twitter, in future xampp and jabber and few more. In essence, it would be similar to pidgin but with more features and in more platforms. So the idea is more grander than what appears atm. There was a deliberate attempt on my part to highlight the IRC part as it’s an open standard.

      Also I was not saying github lacks features vis-a-vis sourceforge.net. What I was saying is that almost ALL of the features that github.com has were done by sourceforge.net before. The idea they did something ‘unique’ as features I’m not so sure about.

      Now as far as having an API is concerned, then why not look at gitlab.com . There even the website of gitlab is made is open-source which github.com doesn’t give as well. Also you will see gitlab.com has been longer than github.com in the market.

      As far as moving repositories from some source-control to the other or from one site to the other is concerned, it depends on many variables. I do admit that github has managed to be popular and do share the fact that they made visualization better as well but that’s as far as I would go alongwith it and not further.

      I don’t want to use ‘Markdown’ for comments as I don’t find markdown particularly interesting but that’s my opinion.

      • Argh. I’m probably not communicating correctly (with my use of the word invent), so let me try an analogy:

        If I said “Facebook invented Messenger in 2012″, I’m referring to the specific product’s overall experience, more than the literal “they brought the concept to the world first”. You’d argue that the concept of messenger existed long before that (and I agree), but I’m not referring to that.

        Similarly, I give you all the credits for the ITS – yes it has been around forever. Based on http://en.wikipedia.org/wiki/Comparison_of_issue-tracking_systems, I could spot a couple of 1992’s there. But I’m not playing the “who came to the playground first” game at all. I’m talking about how GitHub brought a nice (albeit minimal) ITS for many of us – of course, if you’re used to another tracker because it provides you with a feature you need, that’s great, it works for you. But for the crowd (which includes me), they’ve done a good job. I need a set of features and I have them.

        Similarly about the PRs. I’ve read the Linus thread before – I’m nowhere close to him in terms of how much code management and PR reviewing I need to do, so he’s probably right. You’re much elder to me and I’m sure you have seen more stuff come and go, so I value your opinion too. I’ve contributed to few projects, most of them on GitHub, the issues/PR workflow has worked good for me. Many folks I know started doing any form of collaboration with GitHub (so much that for so many, understading the difference between Git and GitHub seems superfluous), and they’re happy. Fairly well opinionated companies like HasGeek (https://github.com/hasgeek) do all of their collab work with the same workflow.

        Similar to how my usage of the word “invent” affects you, I’m uncomfortable with your usage of the word “visualization”. I think of “visualization” as a major feature in itself. For example, you could compare Cleartrip/Kayak with MakeMyTrip/Cheapoair and find out who did the cheapest/smartest fare thingy first and give them a trophy. But I look at Cleartrip and Kayak as folks who build the one feature that traps me into using them – the experience. It matters – it almost seems like they want you to enjoy booking your tickets instead of just throwing cheap fares at you and making you book them. Cleartrip even ships a .passbook file, which I haven’t seen another Indian OTA do – it’s not just a feature thing, it’s a design process. That’s where scrollback is going – they’re creating a new experience, not a pidgin.

        I think our misunderstanding is with the me using the word “invent” for a product which didn’t invent new features and created a fresh interface, and you hinting (or at least, that’s what it implies to me) that “visualization” is a nice-to-have and not core.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: