news

2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 FOSS conference devops documentation emacs fedora foss freedom gnome haskell install laptop lisp photo ruby travel verilog vhdl vlsi workshop xmonad


The Shaastra team has been trying to get me to speak at their event for many years. This year I wanted to make it, and as part of the Hackfest at Shaastra 2011, September 28 to October 2, 2011 at IIT-Madras, Chennai, India I had presented the talk on i-want-2-do-project. tell-me-wat-2-do.

Audience

Most of the students were interested in participating in the Google Summer of Code program. I was also able to meet and talk with past Google Summer of Code students, who had already been introduced to this presentation.

I visited the IITM Research Expo at the K V grounds on campus where students had presented their research work. There were quite a few interesting papers on MEMS. I also attended the Paper and Poster presentation by students at the IITM Research Park. A small memento that I received:

momento

In preparation to FUDCon, Pune 2011, we had organized a Fedora Activity Day (FAD) I at Red Hat, Pune, India on Saturday, September 24, 2011.

Introductions

Rahul Sundaram started the proceedings with a session on how to contribute to Fedora, and how people can get involved with the community. I showed the various communication channels that people need to use to connect with the large Fedora community.

Understanding Fedora

We then proceeded to do a hands-on session on RPM packaging. We used the GNU Hello RPM packaging example from the fedoraproject.org wiki. Rahul and I explained each section of the .spec file, and showed them how to use rpmbuild. The participants learnt to write the .spec file, and also built, installed, and tested the hello package.

We then took a break for lunch following which I presented a hands-on session on git using the di-git-ally managing love letters presentation. Siddhesh Poyarekar then took an introductory hands-on session on autotools.

Autotools session

All the presentations are available in the FAD wiki page. Thanks to Red Hat for letting us use their facility, and for sponsoring the pizza! They were able to arrange for ten laptops with Fedora 15 installed for participants who didn’t have laptops.

Thanks also to Kashyap Chamarthy, Kushal Das, Siddhesh Poyarekar for their help to the participants during the workshop sessions.

I had presented From Python to Silicon: python-myhdl talk at PyCon India 2011, September 16-18, 2011 at Symbiosis, Pune, India.

PyCon India sponsors

The first day of the (un)conference was filled with tutorials. I attended the Functional Programming with Python talk by Anand Chitipothu. He had illustrated list comprehensions, recursions, higher-order functions, iterators and generators in Python with numerous examples.

On the second day, I attended the keynote by Raymond Hettinger on What Makes Python Awesome. It was a very informative talk illustrating the key characteristics of Python, and the community that surrounds it.

I also attended the Python on Android talk by Sajjad Anwar, who gave simple examples using android-scripting. The Emacs as a Python IDE talk by Noufal Ibrahim had useful tips and tricks on using Emacs for development work, and issue tracking using org-mode. I also attended the Decorators as Composable Abstractions by Sidhant Godiwala which was an introduction to using decorators in Python.

On the final day of the event, I attended Network Programming with Umit Project by Narendran Thangaranjan who gave demos on network protocol implementation, and testing in Python using the Umit project. Jivitesh Singh Dhaliwal gave a demo of using PySerial to control robots in the Python in the Real World: From Blinking LEDs to Advanced Robotics talk.

My presentation slides are available. Thanks to Christopher Felton for his valuable feedback.

Few photos taken during the event are available at my /gallery.

Released Packaging RPM (Packaging Red hot, Paneer (butter) Masala) presentation 1.7. The LaTeX sources are available at gitorious.org.

~~~~ {.shell} $ git clone git://gitorious.org/packaging-red-hot-paneer-butter-masala/mainline.git ~~~~

I had presented GNU Make, Dum Ka Biryani, Make for each other at ICE-FOSS 2011, August 26-27, 2011 at Federal Institute of Science and Technology, Angamaly, Kerala.

FISAT

The conference had talks, hands-on workshops, and project demos. There were interesting projects displayed at the stalls by the students varying from Arduino-based hardware projects, to Python mobile application development to games, and applications developed using opencv. Pamphlets were made for each project, and given to the visitors at the stall. I reviewed the projects that were demoed and gave them feedback. The Institute is in the process of migrating their servers, so we should (hopefully) see the sources made available online.

I also had a chance to meet Anvar K Sadath, Executive Director at the IT@School project. They have trained nearly 2 lakh teachers on F/OSS over the years. Their new initiative is animation training using free/open source software.

The Institute does have a cluster setup called “Dakshina” which is used by students, and the faculty. They also do allow other nearby colleges to use the facility on request.

Dakshina cluster

Thanks to the Management of FISAT, for sponsoring my travel and for the wonderful hospitality. Photos taken during the trip are available at my /gallery.

I had conducted a session on test driven, behaviour driven development on Saturday, August 20, 2011 at Pune Institute of Computer Technology, Pune, Maharashtra, India using Ruby, Cucumber, and Rails with examples from Diaspora.

Thanks to Praveen Arimbrathodiyil for initiating this workshop and Shreyank Gupta for helping the students during the hands-on session.

Participants were new to Ruby, and we started off with Ruby in Twenty Minutes. Using interactive ruby (irb) students were able to understand the language syntax and its usage. We then moved on to writing tests in Ruby, and writing them first before writing code.

irc session

User stories were introduced with explanation on understanding how features, and step definitions are written. Cucumber was used to run through the features with simple examples. We then moved on to using cucumber with Rails illustrating an example of a Rails blog application. I had setup Diaspora on my laptop, and had then given them a visual demo of how cucumber runs feature tests with selenium webdriver. Photos taken from Shreyank’s camera are available.

ERC is a modular, extensible Emacs Internet relay chat client. It is available as part of GNU Emacs. You can use it to connect to irc.freenode.net (for example) chat server using:

;; .emacs
(load "/path/to/secrets.el")

;; erc
(defun erc-freenode-connect ()
  (interactive)
  (erc :server "irc.freenode.net" :port 6667 :full-name "<Firstname Lastname>" 
   :nick "<your-nickname-here>")
  (require 'erc)
  (require 'erc-match)
  (setq erc-keywords '("<your-nickname-here>"))
  (setq erc-current-nick-highlight-type 'nick)
  (setq erc-track-exclude-types '("JOIN" "PART" "QUIT" "NICK" "MODE"))
  (setq erc-track-use-faces t)
  (setq erc-track-faces-priority-list
	'(erc-current-nick-face erc-keyword-face))
  (setq erc-track-priority-faces-only 'all)
  (setq erc-input-line-position -2)
  (setq erc-echo-notices-in-minibuffer-flag t)
  (setq erc-autojoin-channels-alist 
	'(("freenode.net" "#fedora-india" "#fedora-devel" "##linux-india" 
            "#edev" "#fedora-arm" "#fedora-haskell" "#fudcon-planning" "#gcc"
  	    ))))

(defun nickname-freenode-after-connect (server nick)
  (when (and (string-match "freenode\\.net" server)
	     (boundp 'irc-freenode-nick-passwd))
    (erc-message "PRIVMSG" (concat "NickServ identify " irc-freenode-nick-passwd))))
(add-hook 'erc-after-connect 'nickname-freenode-after-connect)

The secrets.el file loads your encrypted files that contain passwords:

;; secrets.el
(load-library "~/pass.el.gpg")

A sample pass.el.gpg file:

;; pass.el.gpg
(set 'irc-freenode-nick-passwd "your-password")

The first time you load the above, you will be prompted to create a password for the encryption. Remember it. Whenever you start Emacs thereafter, or when you try to modify the .gpg files, you will be prompted for the password. To initiate connection to irc.freenode.net within Emacs, you can use:

M-x erc-freenode-connect

It should connect to the server, join you to the channels, and identify yourself to NickServ! Each channel is a buffer, and thus Emacs buffer commands work. Whenever someone sends you a message using your nick, you will get a notification in the Emacs status bar. For more ERC commands and options, please refer the ERC user manual.

I had conducted a one-day hands-on “Introduction to Python” programming workshop at Maharashtra Institute of Technology, College of Engineering, Kothrud, Pune, India on Saturday, August 6, 2011.

The participants were engineering students who had some programming experience but were new to Python. I wanted to do a hands-on session so I could help them along the way. I decided to use the presentation Python: Introduction for Programmers by Bruce Beckles and Bob Dowling from the University Computing Service, University of Cambridge. I had requested permission to re-use the slides giving credit to the authors, for which they agreed.

Two software labs (I and II) were made available at the venue. Remote desktop was setup so the slides were visible on both the lab projectors. A speaker system was arranged so people could hear me from either lab. Gedit was used to write simple programs.

Software Lab I

Thanks to Prof. Reena D. Pagare (MIT, College of Engineering) for working with me during the last few weeks in organizing this workshop.

More photos taken at the venue and during the workshop are available at my /gallery.

EasyPG, a GnuPG interface is available from Emacs 23 which provides automatic encryption of .gpg files. You can list all the required encrypted .gpg files to be used by Emacs in a secrets.el file (for example):

;; secrets.el
(load-library "~/pass.el.gpg")

You can then load this file in your Emacs initialization file:

;; .emacs
(load "/path/to/secrets.el")

The first time you load the above, you will be prompted to create a password for the encryption. Remember it. Whenever you start Emacs thereafter, or when you try to modify the .gpg files, you will be prompted for the password.

Emacs-a-day-keeps-the-vi-zing-away, a GNU Emacs reference card is now available under the GNU General Public License. You can get the LaTeX sources from:

~~~~ {.shell} $ git clone git://gitorious.org/emacs-a-day-keeps-the-vi-zing-away/mainline.git ~~~~
« OLDER POSTSNEWER POSTS »