Planet dgplug

May 08, 2017

Kushal Das

Conference travel for speakers

In Free and Open Source Software culture, conferences became an important part of the community. Most of the projects or communities do the work over this beautiful thing known as the Internet, people are taking part from the warmth of their home. Conferences are the only time when we all get a chance to meet, discuss new ideas, share the knowledge among ourselves. Conference speakers are generally the volunteers who agree to spend a lot of time to prepare and then give the talk, do the QA session. This also involves a lot of travel, for any mid-sized to a big conference, you will always find at least couple of speakers traveling half of the world to give those talks.

We, the organizers of many of these conferences can do a few things which helps the speakers to have a trouble free mind.

Inform the talk selection result as soon as possible(aka. visa takes time)

We should inform the speakers about the talk selection result as soon as possible. International traveling still requires visa for many countries, and generally, they are difficult to obtain in less time. For example, I am an Indian, and for getting a visa for most countries, I will have to submit my last three years income tax documents, last 6 months bank statements, office leave letters, and many other documents. Obtaining the documents take time, and we should make sure that the speakers have plenty of time to get this done.

Help with the travel timings

The organizers are local to the conference host city, it is better you provide some insight about travel timings to your conference speakers. They may not want to take a redeye flight, or maybe taking that early morning will provide a much better experience by skipping all the city traffic.

Be in touch during local travel

For all the conferences we organized in Pune (FUDCon 2011, 2015, PyCon Pune 2017), many of the international speakers landed in Mumbai, and then we organized cabs to pick them up, mostly all of these are between 12-4AM. They had to travel next 4 hours in the cab, we made sure to club at least 2 of the speakers in each cab, and also making sure that the drivers can speak English. Remember the language problem, as not every country speaks English fluently, and that goes same to all speakers too. If the speakers are coming on their own from the airport, make sure that they have all the details, and please try to have someone waiting for them at the airport. It is better that you introduce your volunteer to the speakers before the conference. That way when the speakers come out of the airport, they will see a familiar face waiting for them.

One of our tactics was to operate the whole speakers travel from the same hotel speakers were staying. I was awake for the 2 nights and started talking to the speakers as soon as they entered their cabs. We also talked to them during their trip to make sure that everything is okay, and they don’t uncomfortable. Only sad part was that due to lack of light many missed the beautiful view of Mumbai-Pune expressway.

During the conference days, before or after, we make sure that we have enough local volunteers to provide any help as required to the speakers. Many times it happens that the speakers prefer to visit some of the tourist locations before or after the conferences. As hosts, it goes also to our list of responsibilities, helping with the cab booking or providing suggestions for the sightseeing.

I remember the long list of speakers, and the checkbox(s) beside their names to mark that the speaker has boarded safely in the flight for their return journey. Our job is not done till the time they reach back to their home, and we make sure to keep an eye for any emergency. Many of the ideas also go to the speakers who are coming for the first time to the city from other parts of the country. In a country like India, where we have 24 official languages, it is difficult for most of Indians to understand or speak the local language in any state other than their own.

Previously, we had experiences where someone felt sick during the conference, and we have to take them to visit doctors, and making sure to check that they are okay. Telling that we have a large conference, and we can not take care of all of the people is easy, but remember the amount of effort these speakers are putting to make your conference as their own, and providing a great experience to the conference attendees.

by Kushal Das at May 08, 2017 05:22 PM

May 01, 2017

Shakthi Kannan

GNU Emacs Lisp

[Published in Open Source For You (OSFY) magazine, June 2016 edition.]

We have covered a lot of ground in our quest to learn the intricacies of GNU Emacs and we trust that you have found your long journey fulfilling. This is the last article in the series.

Introduction

The GNU Emacs editor is written using Emacs Lisp and the C programming language. You can use GNU Emacs as an editor without knowing Emacs Lisp, but, being familiar with it will help you customize it or extend it to your needs. Emacs Lisp is a dialect of the Lisp programming language and is inspired by Maclisp and Common Lisp. The source files end with the filename extension .el and the byte-compiled files end with the .elc filename extension. You can also write scripts using Emacs Lisp and execute them as a batch operation. The code can thus be executed from the command line or from an executable file. Byte-compiling the source files can help you speed up the execution.

Comments

All comments begin with a semi-colon. An Emacs Lisp file usually has the following sections in the code, specified with three semi-colons. These always start in the left margin as shown below:

;;; Module --- Summary

;;; Commentary:

;;; Code:

;;; Module ends here

All comments outside functions begin with two semi-colons. The contents of the scratch buffer, shown below, are an example:

;; This buffer is for notes you don't want to save, and for Lisp evaluation.
;; If you want to create a file, visit that file with C-x C-f,
;; then enter the text in that file's own buffer.

Comments inside functions use a single semi-colon, and if they span multiple lines, they must be neatly aligned. For example:

...
(let* ((sexp (read (current-buffer)))    ; using `read' here
                                         ; easier than regexp
                                         ; matching, esp. with
                                         ; different forms of
                                         ; MONTH
 ...
 ))

Literals

The basic data types are available in Emacs Lisp. Numbers can be represented by integers or floats. Integers can have their sign representation before the digit (+1, -2). Floating point numbers can be represented using a decimal point (3.1415) or with an exponent (314.15e-2). A character (S) is represented by its integer code (83), while a string is a list of characters enclosed within double quotes (“A string”).

A symbol is an object with a name. A keyword symbol is one that starts with a colon (:). A vector is an array and can contain different types ([1 “two” :three]). The Boolean values for true and false are ’t’ and ‘nil’ respectively. A cons cell is an object with two slots. The first slot is called the CAR (Contents of the Address part of the Register number) and the second slot is called the CDR (Contents of the Decrement part of the Register number). A list is a series of linked cons cells. For example, in the list ‘(A B)’, the CAR is A and the CDR is B.

Sexp

Emacs Lisp uses prefix notation which consists of an operation followed by operands (arguments). All programs are represented as symbolic expressions (sexp). For example, the ‘+’ operation is applied to its arguments ‘1’ and ‘2’ in the following sexp:

(+ 1 2)

If you copy the above code in an Emacs buffer, you can evaluate the same by placing the cursor at the end of the expression and using the C-x C-e shortcut. The output ‘3’ will be displayed in the minibuffer.

You can also have nested sexps, wherein the innermost expressions are evaluated first.

(+ 1 (* 2 3))

Similar to the ‘+’ operation, you can use pre-defined keywords or functions in Emacs Lisp programs. The format function is similar to your printf statement in the C programming language.

(format "Hello, World!")

You can store a value in a variable using the setq operation as shown below:

(setq IST "Indian Standard Time")

IST     ; No enclosing parenthesis!
        ; produces "Indian Standard Time"

You can find the data type, using the type-of function. A few examples are shown below:

(type-of 1)                ; produces integer

(type-of 3.1415)           ; produces float

(type-of "A string")       ; produces string

(type-of :foo)             ; produces symbol

(type-of t)                ; produces symbol

(type-of '(1 2))           ; produces cons

(type-of [1 "two" :three]) ; produces vector

In the Bash shell, you can escape evaluation by using the backslash. Similarly, you can prevent the Emacs Lisp interpreter from evaluating an expression using quotes. For example:

(+ 1 2)     ; produces 3

'(+ 1 2)    ; produces the list (+ 1 2)

progn

The progn statement is used to execute several sexps. For example:

(progn
  (setq title "Introduction to Emacs Lisp")
  (setq author "Robert J. Chassell")
  (format "%s by %s" title author))  ; produces "Introduction to Emacs Lisp by Robert J. Chassell"

Functions

You can define your own function using the defun built-in keyword. The ‘say’ function simply prints the string “Hello, World!”" in the following example:

(defun say ()
  (format "Hello, World!"))

In order to execute the function, invoke it inside parenthesis as shown below:

(say)    ; produces "Hello, World!"

Arguments can be passed to a function. The ‘square’ function is demonstrated below:

(defun square (x)
  (* x x))

(square 3)  ; produces 9

You can also store a list of names and retrieve them using the car and cdr functions as illustrated below:

(setq teams '("GL" "DD" "KKR" "MI" "SRH" "RPS" "RCB" "KXIP"))

(car teams)       ; produces "GL"

(cdr teams)       ; produces "DD" "KKR" "MI" "SRH" "RPS" "RCB" "KXIP"

(car (cdr teams)) ; produces "DD"

let

The let statement allows you to bind a value to a variable in a local context. GNU Emacs 24 has lexical binding support. An example is given below:

(defun hello (name)
  (let ((new-name (concat "Hello " name)))
    new-name
      ))

(hello "Mark")   ; produces "Hello Mark"

Conditions

Conditions can be checked using the if and cond statements. The if statement takes a condition, and if the condition evaluates to true, the sexp immediately following the condition is executed. Otherwise, the else-form is evaluated. The syntax is

(if condition then-form else-form)

An example:

(if t
    (format "True")
  (format "False"))  ; produces "True"

The when condition statement is a variant of the if statement written as a macro. Macros are an important feature of Lisp programming that allow you to extend the language. They are primarily code generators. If the ‘when’ condition is true, then it evaluates the then-forms. The syntax and an example are given below:

(when condition then-forms)

(when t
  (print "Abracadabra!"))  ; produces "Abracadabra!"

Looping

You can use the while statement to perform looping in Emacs Lisp. The body of the ‘while’ loop is executed as long as the condition is true. An example that prints the numbers 0 to 4 is shown below:

(progn
  (setq i 0)
  (while (< i 5)
    (print i)
    (setq i (+ i 1))))

The dolist and dotimes macros can also be used for looping. The other approach is to use recursion. A literal definition in Emacs Lisp for computing the Fibonacci series is given below:

(defun fib (n)
  (cond ((= n 0) 0)
        ((= n 1) 1)
        (t (+ (fib (- n 1))
              (fib (- n 2))))))

The cond control structure takes a series of clauses, each has a condition and a body-form. If any condition evaluates to true, the body-form is executed. Otherwise, it proceeds to the next clause.

An iterative version of the Fibonacci series is given below:

(defun fib (n)
  (fib-helper n 0 1))

(defun fib-helper (n a b)
  (if (= n 0)
      a
    (fib-helper (- n 1) b (+ a b))))

(fib 10) ; produces 55

The Emacs Lisp Cookbook is very handy https://www.emacswiki.org/emacs/ElispCookbook.

You are encouraged to read ‘An Introduction to Programming in Emacs Lisp’ at https://www.gnu.org/software/emacs/manual/eintr.html and the Emacs Lisp Reference Manual at https://www.gnu.org/software/emacs/manual/elisp.html.

May 01, 2017 06:15 PM

Anwesha Das

FOSSASIA 2017, my homecoming

Ohh you guys came alone, no Py this time?

No Py this time; missing all the noise and fun around.

(How can you miss the noise? It is supposed to be a disturbance.)

These were some introductory reactions from friends meeting us at FOSSASIA 2017.

Kushal and I learned our lesson last year. So, this year we decided not to take Py (who has only grown to be 1000 times more mischievous than she was the last year). But when the time came to leave her with my mom and go to the airport, I wasn’t very sure. The intelligent me took a backseat as the mother took over. It is an overcompensation I have to go through every time I take a step which does not include her directly.

Attending the FOSSASIA summit is always like a homecoming for me. It is the conference where I delivered my first talk. It is the conference where I found my way, direction in the legal field of the open source ecosystem. It is a place where I meet my best of friends. To cut a long story short, I am in love with FOSSASIA summit.

Meeting the Speakers

FOSSASIA Summit is a conference that is truly diverse in character, almost 200 speakers from over 20 countries. The organizers, every time arrange a speaker's introduction session wherein speakers can actually get together and know each other. This year the meeting had been organized in the Microsoft office. We had the chance to meet other speakers. I had planned the talks to attend. We were also given a nice tour of the Microsoft office and got an opportunity to peep into the workspace of the Microsoft employees.

Day 0 is for PyLadies

September 2016, Hong came to Pune. She conducted a session in PyLadies Pune (love her for that). In a conversation with Hong, I shared with her the PyLadies Pune's journey.
I asked Hong if we PyLadies Pune could be at FOSSASIA. She readily agreed and Pyladies began its journey to FOSSASIA.

I arrived a bit early to set up on Day 0 at Science Center, the conference venue to arrange and set up our PyLadies table. I carried the stuff to set up the booth. Pooja also came in early. We quickly set everything up before the morning coffee break. Kiwi needs to be thanked profusely for all his help.
Our table was ready before the morning coffee break. The crowd poured in. Mostly the regular ones. There were questions.

  • What is PyLadies?
  • Is it only for ladies?
  • What am I (being a lawyer) doing in PyLadies?
  • How to join Pyladies?
  • Do we have an SG chapter?

We answered them. But there was a question that struck me. A Grade student asked, "Do we actually need a woman-friendly environment (to work) in today's day and age?" I was stunned, shocked, sad and happy at the same time. The first three emotions were because I thought how unfortunate it was that she never had any idea about what people outside her sphere has to face. I was happy at the same time that they (if we consider her as the representative) do not have to face what we have to as women.

Among all the props, I carried our famous PyLadies Pune Umbrella that stole all the attention. I was delighted to see people taking photos with that.

Kushal and I wanted to attend a talk - "Let's Make Technology more Inclusive" by Bunnie Huang. Last year, I missed his talk, thanks to Py's treasure hunt. This time, I didn’t want to. But someone has to be there with Pooja at the booth. Pravin and Siddhesh helped.
The talk was truly informative. The after-talk discussion with Bunnie about hardware patent and copyright opened up a new avenue to explore for me. Bunnie has written a book called Hardware Hackers. We managed to get a copy of the book signed by him.

Day 1: PyLadies and talk by legalese

I reached a tad late for the conference because of the new treasure chest I found that was Bunnie's book. I was reading the book till early morning. The book has opened up a new world for me. It gave me the idea of something I wanted to know for a long time - "How hardware is being made?". The community and culture of hardware makers have been pictured beautifully.

The booth has been moved from the place it was on Day 0. I joined Pooja in the booth. Surprisingly, people were less inquisitive about the fact if PyLadies was only for women that day, in fact for the rest of the conference. Maybe the presence of Pravin, Siddhesh, and others echoed the true intention of PyLadies that it is for women and friends.

The next thing on my to-do list was to know how software is eating contract drafting by V.G, legalese. I shared this idea with my lawyer friends. From that very moment,
they have abandoned me. My friends are scared of the job scarcity and competition. I guess this will assure them that software will make your life (typing the whole large document) easy. It can never take away the expertise we have as a lawyer. You may hate me for saying this but this is the future. I was curious to know how the future of the legal business/system will look like.

The Python track was going on in the lab. I did attend a talk and a workshop on MicroPython over there. It is amazing how every time I blink a led by writing something on my laptop.

Day 2: PyLadies and my talk

I went to the PyLadies table for some time in the morning. The curiosity to join PyLadies and to click a picture with the umbrella continued. I met a friend I made last year. She, with her whole family, was the attending this time as well. I loved the fact that she really liked the conference and was attending this year too.

Then it was the time for my talk. It was scheduled for after lunch. So, after a quick lunch, I went to my room - the internet, society and Politics room. My talk was on the trends of choosing licenses in the Python ecosystem.

Projector ready, speaker's view set, ready (I love being perfect and on time), I braced myself and boom, the projector went off. The husband understanding that his wife was approaching paranoia and was in a jolted state, helped me. It could not be fixed. The slides were up but not my speaker's view! There was little time to worry about it though and the scared me began the talk. I discussed different licenses, showed licensing scenarios in Python ecosystem and most importantly the best practices for the developers. I fielded a few questions on license, patent and copyright and applicability of Intellectual Property in general.
While I was explaining GPL was when I was being shown the first time card, the second and the final one during the best practices. I was wobbly seeing that and could not deliver my best. I need to learn quickly that if someone has listened to me before, I would understand something is wrong. While at the same time the first time listeners all praises.
The next part of the day was really interesting for me. I had long chat about different software licenses specifically GPL with Ronald. In spite of being a busy organizer, he answered all my questions, even the silly stupid ones.

See you FOSSASIA next year!

Whenever I come from a conference I come with a

  • Big to-be-read list
  • Big to-do list

More followers and more people to follow on Twitter
Some people I can call friends

I usually return from a conference with a heavy heart but not this time. I knew two cuddly hands and a smiling face is waiting for me back home.

by Anwesha Das at May 01, 2017 05:45 PM

Trishna Guha

I am still alive!

It’s been a month I haven’t posted on my blog. This post is just to let you know that I am still alive!

Well, I just got too busy and engaged with the new team that I joined. Oh wait! I forgot to write about my joining Red Hat as a permanent employee.  Yeah, it has been couple of weeks that I have joined Red Hat as a full time employee on Ansible Engineering team where I am working with the Network engineering team to build Ansible modules for Networking vendor operating systems for Data centers and Cloud networks.

My upcoming future posts will be focused on Ansible automation, hacking Ansible network modules source code, writing Ansible network modules specifically for Arista EOS, Cisco NX OS.

See you later!


by Trishna Guha at May 01, 2017 05:10 PM

April 28, 2017

Subho

Glow LEDs with Google Home

Recently I tried experimenting with Google Home, trying to voice control LEDs. Majorly the whole thing can be split into two parts,

  1. A custom command that makes a web POST request to fetch the result.
  2. A simple Flask app that can receive post request with parameters and glow some LEDs based on the POST request data.

For the part one, the custom commands were possible thanks to Google Actions Apis.  I used API.AI for my purpose since they had good documentation. I wont go into detail explaining the form fields in Api.ai, they have done a good job with documentation and explaining part, I will just share my configurations screenshot for your quick reference and understanding. In Api.ai the conversations are broken into intents.  I used one intent (Default Welcome Intent) and a followup intent (Default Welcome Intent – custom) for my application.

top-intents

Heres my first intent which basically greets the user and asks for a LED colour when the custom command “glow LEDs” is activated.

intent1

As you can see the User says is what defines my command , you can add multiple statements in which you want to activate the command. The Action and Contexts is set when you create a followup Intent. Text response is the part which your Google Home will use as response.

Next is the Followup Intent which basically takes the User response as input context (which is handled automatically when you create the followup intent) and looks for required parameters and tries to process the request.

user_interaction

Here the expected User says would be a colour (red, blue, green) is what I allowed. In Api.ai you can use their ML to process the speech and find your needed parameters and values. I needed colours hence used @sys.color. Their are other entities like @sys.address or @sys.flight etc. If these entities don’t serve your purpose then you might want to go vanilla and process the speech on your web-api end. The later part of the Followup Intent is a bit different, we are fulfilling the user request via web-hook here. Here the Response is the fallback response incase the web request fails, the success response is received from web-hook response body.

home-response

The fulfilment option won’t be activated until you add your webhook in the Fulfillment section. Thats all for the part one. Also you can use Google Web Simulator to test your application On the Go.

webhook.png

In part two , I used a Raspberry Pi, 3 LEDs (red, blue, green) , a 1K ohm resistor some wires, a breadboard(optional)  and a T-cobbler Board(optional). Now, we will write a flask application that will accept a post request and turn on the required GPIO pin output high/low.

You can check with the request and response structure you need from the Api.ai docs. Next, this application receives the calls from api.ai webhook and it triggers the targeted LED depending on the resolvedQuery. The above code was written so that I can test locally with get requests too. I used pagekite.net to tunnel and expose my flask application to the external world. Following is the circuit diagram for the connections.

circuit

Following is the Result,

Some more Reads:

  1. https://arstechnica.com/gadgets/2016/12/google-assistant-api-launches-today-so-we-tested-some-custom-voice-commands/
  2. https://docs.api.ai/docs/actions-on-google-integration
  3. https://developers.google.com/actions/develop/conversation
  4. https://developers.google.com/actions/develop/apiai/tutorials/getting-started
  5. https://developers.google.com/actions/samples/
  6. https://docs.api.ai/docs/webhook
  7. https://docs.api.ai/docs/concept-intents#user-says

 


by subho at April 28, 2017 08:47 PM

April 21, 2017

Kushal Das

Event report: FOSSASIA 2017

FOSSASIA 2017 reminded me of foss.in. After a long time, finally, a conference which has the similar aspects. Similar kind of tight organizing team, the presence of upstream communities from different locations. The participation from the local Singapore tech community along with Hackerspace Singapore is a serious boost. This was my 4th FOSSASIA conference, and also 3rd time in Singapore. I should thank Mario, Hong, and rest of the organizers to make this event a very pleasant experience.

This time Sayan booked an Airbnb for Anwesha and me. Saptak + Medo + Siddhesh + Praveen Patil, and Pooja Yadav, & Pravin Kumar were also staying in the same Airbnb in the Chinatown. The conference venue was the Singapore Science Center just like last year. Having the conference in the same place helps as the MRT route is very easy to reach there on time.

The day before the conference we had a speakers meetup in the Singapore Microsoft office. We also received a tour of the office, the person in-charge also explained about how are managing an office without permanent seating positions.

Day one

The conference started at 9:24AM (as Hong asked us to remember the time). I attended the talks from Harish Pillay and Chan Cheow Hoe. The idea of having the CIO of the country coming to the conference and giving a talk on Open Source is a great feeling. In 2015 we had Minister for Foreign Affairs, Mr. Vivian Balakrishnan giving a keynote (and talking about the NodeJS code he wrote). The way govt. is taking part in the local community events is something other countries should try to learn. Of course, Singapore has the benefit of being small in size.

Though the day was full of talks related to AI and machine learning, there were two talks I was waiting to attend. After lunch, the first one was from Bunnie Huang, where he spoke about making technology more inclusive. He talked about Chibitronics. Before I traveled to Singapore, I actually asked him to get a copy of his new book, The Hardware Hacker. I got my copy signed by him after his talk :) (I already finished the book while coming back to India, more on that later in a separate blog post). I also met Xobs and found a Chibtronics Love-to-Code board in his pocket :)

Later in the day, Frank Karlitschek gave his keynote titled Protecting privacy with free software. He brought up the original idea of the Internet being decentralized. The last talk of the day was a panel discussion on Artificial Intelligence.

Day 2 & Day 3

I spent most of the time in the Python track, and in between jumping around different floors of the venue meeting people. I personally had a two-hour workshop on MicroPython and NodeMCU. Anwesha was busy in the PyLadies table along with Pooja. I forgot to show the poster of PyCon APAC in the Python track :( But you can still submit talks and attend the conference. Sadly this will clash with another conference for me.

Anwesha had her talk on day 3, and her laptop’s display decided to crash just before the talk. But finally the slides came back :) I also attended the SELinux workshop from Jason Zaman. He and few BSD friends convinced me to try out ZFS, and then build a new home storage with FreeNAS.

Now I have to wait for the next edition of FOSSASIA. It is a great place where I can meet my friends from different parts of the world, and share ideas :)

by Kushal Das at April 21, 2017 07:46 AM

April 10, 2017

Jaysinh Shukla

goyo-doc: Vim helpfile for goyo.vim plugin

goyo_doc_plugin

What is Goyo?

Goyo is the vim plugin which allows writers to focus on their writing while they are writing. The plugin deactivates not required fancy windows which are not useful at the time of using vim for writing. It provides certain customizations too.

What is missing in Goyo?

The main problem with Goyo plugin is that it carries very weak vim specific helpfile. A vimmer is habituated to find help at vim specific helpfile first. After few attempts, I have decided to write a good helpfile for the Goyo plugin. I am happy to maintain the documentation I have started with the ongoing development of the plugin until the author of Goyo is providing any concise helpfile for it. The goyo-doc is not carrying any source of Goyo plugin, but only contains documentation for the plugin. I am inviting you to propose improvements if you find any.

Why I decided to write a separate plugin for documentation?

“Documentation is essential. There needs to be something for people to read, even if it’s rudimentary and incomplete.”

K.Fogel, Producing Open source software

I believe the documentation is the most important part of any software. While I was using Goyo plugin, I found it is missing the vim specific helpfile. I discussed this issue with the author and offered the help for improving on this. You can read further about early discussions here. I didn’t get any positive response from the author so I decided to write and launch vim specific helpfile for this plugin. With this plugin, I am expecting to provide the solution to those users who are more familiar with vim specific helpfile than a Github wiki or README file of any project. Below are the links for downloading and using the plugin.

Proofreader: Farhaan Bukhsh

by Jaysinh Shukla at April 10, 2017 12:21 PM

April 05, 2017

Shakthi Kannan

Pune GNU/Linux Users Group ClipArt Hackathon 2017

I had a chance to attend the Pune GNU/Linux Users Group (PLUG) ClipArt Hackathon on Sunday, March 12, 2017 at Bhaskaracharya Pratishthana. The hackathon was an initiative to start organizing different kinds of F/OSS events.

Gaurav (“dexter”) Pant started the day’s proceedings with a quick demo of Inkscape. He also provided the participants with an Inkscape quick reference sheet. The advantage of creating Scalable Vector Graphics (SVG) is that it can be used on a web page as well as enlarged for printing on posters and banners, without any distortion.

I took this time to create some illustrations. The first image was a logo with the letter “S”, whose shape was modified to fit into a boundary. The stick-figure-push SVG is already available in Openclipart. I modified it for a stick-figure-pull image. Few icons were then created for use in web pages. Finally, I completed an SVG of “The Common Man”.

S logo

Stick figure pull

Envelope icon

Monitor icon

Telephone icon

The Common Man

All the images are available in Creative Commons Attribution-Share Alike 4.0 International license at Wikimedia ( https://commons.wikimedia.org/w/index.php?title=Special:ListFiles/Shakthimaan ).

The hackathon was a good initiative to encourage creative contributions to F/OSS. I was happy to see a number of excellent designers who were creating beautiful SVGs. Participants used both GIMP and Inkscape for their work. It was also good to have met the PLUG members.

Group photo
PC: Siddharth Subramaniam

Such events help grow the activities in a region, and also showcases the diversity in a F/OSS group.

April 05, 2017 10:45 PM

Saptak Sengupta

PyCon Pune : Contributions, DevSprints and So Much More (The Web Developer's POV)

Pycon Pune Homepage
PyCon Pune was held on 16th to 19th February but my association with PyCon Pune started long time back. The heart and soul of PyCon Pune 2017, Sayan Chowdhury was looking after the website development as well. After the first draft of the website was ready, he shared the website with me and asked whether I wanted to contribute. I was more than happy, was rather honored. First PyCon Pune, one of the web developers... Awesome experience.... After that slowly I started getting involved into deployments,  talk selection, scheduling and many more. I and Kushal even went on to website updating and other stuff in my vacation.By now, PyCon Pune was not one of "their" conference, it was more like "our" conference for me. So though it was just my second proper conference, I was super excited...

Unlike most others my main work related with the conferences was much before the conference. In fact most of the work was completed more than a month ago. Firstly, the entire website was made using staticjinja. It was my first experience with staticjinja but having worked with flask, it wasn't very difficult. As one after the other keynote speakers got confirmed, I was to add there pictures and details in the website. Then after few days, I got a call from Sayan saying we need to make a registration page. I was to implement a 3 column UI with all the details. As including bootstrap only for getting it's grid help would be too much, I wrote the grid system in CSS from scratch. Which might not be a big deal for most but since it was my first time writing a grid system from scratch, I felt great when it worked.

Static Jinja Codes for the Website


Then, apart from that was looking into the responsive UI of the website. Since no front-end framework was used, so responsiveness was also something I wrote a sketch. Yes, another happy moment for me. Then we started getting few contributors as well helping us with some of the components. So the next thing was to review and merge pull requests. Thanks to the already written grid structure, it was not much pain to make the other pages. And, obviously deploying the code to the server. It was a really great experience to be involved in the web development team of a PyCon.

Conferences for me was one of the ways of spending my GSoC stipend. This time we, a group of 4 friends decided we go together, book a proper airbnb apartment and have some awesome time along with the conference. So it was also an outing for us from the college days.

Conferences as I learned from PyCon India was not only for learning stuffs and listening to talks. It was more about meeting awesome people and getting to connect with them and to grow and help grow the community. So, PyCon Pune also I was eager to meet a lot of new people and to reunite with a lot of people I met before. Also, being a volunteer I had work to do.

So the first day started of by work in registration desk. I was late ( as usual ). But anyhow got busy with work, distributing ID cards, figuring out names, meeting people whom I have met only over IRC. Soon after, the keynote started which was followed by some pretty interesting talks. There were different booths where you could learn about some exciting and cool new tech stuff and communities. The venue was awesome... And so was the food (yes, I have to tell about food)... After the day ended with some awesome talks and meeting some awesome people, it was time for the speaker and volunteers meet. Got to talk with many speakers. And again I can't keep myself from saying, the food was delicious...

Second day was a special day because one my best friends, my ex-roommate, my project partner, Vivek Anand was going to speak for the first time in a conference about his project, Pagure with Fedora, along with Farhaan Buksh. I was super excited (and he was super nervous, I guess). And it was really good. Well, most of the things he said in talk he had already told me before but his talk didn't make me fall asleep (that's the best I can manage). After that the day was filled with sticker collection, tshirt collection, tshirt distribution, group photo and all the cool stuff associated with conferences. At the end it was all bidding goodbyes with promises to meet again on internet and in some different conference in some different place.

After that, we four friends - me, Vivek, Shubham(Bhendi) and Medozonuo decided to go for a movie. Well after all The Lego Batman has hit the theaters. I know this has nothing to do with PyCon Pune but after all It's Batman. So can't help but mention.

Medozonuo conducting Dev Sprint on Open Event with me


Next 2 days were devsprint. Few people were presenting their own projects. Others were contributing. I was presenting the Open Event Organizer Server project along with Medozonuo Suohu. The devsprint was at Redhat office in Pune. We got some 3-4 contributors who were really excited to know about and contribute to the project. We were ourselves solving some of the bugs that we were supposed to solve while debugging installation problem on Macs (yes, we need to improve the documentation). We managed to get 2-3 Pull Requests as well which was really good because we were getting new contributors which we really needed. There were many other projects including CPython itself which got a lot of attraction. I also sat there for sometime knowing about the codebase and scopes of contribution. Sadly, I couldn't contribute to it till now. Also, there were hardware devsprints which I was interested in but also couldn't participate.

Sadly, the second day of devsprint i was really really sick and couldn't make it to the devsprint. Had to spend the rest of the day in apartment. This was a little sad for me but after all the remaining conference was awesome. Meeting people I had met in PyCon India and SHD Belgaum again, connecting more with them, talking more than just tech stuff... Maybe Nokia and Conferences are synonymous - Connecting People. Waiting for PyCon Pune 2018... Hoping to start working in the Web Team again...


by SaptakS (noreply@blogger.com) at April 05, 2017 03:10 PM

March 28, 2017

Saptak Sengupta

In The Heat of Code : A Mentor's POV



In The Heat of Code or CodeHeat, as it is famously known right now started when Mario Behling started a discussion with me about how to encourage continuous contribution to projects by FOSSASIA even after GSoC. The scenario was most of the time students or participants stopped contributing after Google Summer of Code ended because there wasn't much incentive or profit of their's in continuing with the projects. So we decided to give people a reason to continue. In fact why just continue? Why not get completely new contributors??? And without distinguishing whether they were in university or school or working professionals. So we got others in FOSSASIA team also to drafting the idea into a proper event. And thus began CodeHeat. The official announcement was made in September 20th. The coding started on September 25th. I was to be a mentor in the Open Event Organizer Server project. And the registrations started coming.

We had a huge number of registrations but sadly there were very few contributions in the Open Event Organizer Server project. Most of the participants were more interested and enthusiastic in contributing to android app development and our project got a little less attention. Nonetheless, I and Niranjan continued our own contributions and reviewed occassional pull requests we received. It was almost end of November and though CodeHeat was going great I wasn't very happy as a mentor since our project didn't get much contributors.

Then in the beginning of December few of my friends from college asked me about codeheat and said they were interested in Python. I was delighted and introduced them to Open Event Organizer Server project. Soon there were participants from other colleges as well. We started getting more and more contributions. Then there were 2 participants -  Shubham Padia and Medozonuo who were not only contributing but were almost competing with each other. The result of their competition was we got huge number of awesome code contributions from both of them in all areas from frontend to backend to even database improvements.

From implementing the entire discount and access code system to providing more options and making it more customizable for CFS to solving tons of frontend bugs and export functionality, I and Niranjan almost started having a hard time reviewing their PRs since there were tons of them. I was delighted. The project was nearing release more and more and it was reaching a stage where we can actually make an attempt to use it in production. I and Niranjan often discussed how we hoped these 2 make to the top ten in CodeHeat. It was almost like reliving GSoC from a mentor's perspective.



Finally it was result time. Though it would be wrong to say I was nervous but I surely was excited to know whether any of the contributors of open event organizer server project made it to the top ten. To my utter happiness not only did they make to top ten but Shubham Padia and Medozonuo made it to the top 3. I was really happy for them since they truly deserved it. I guess Niranjan would agree with me in saying that we truly loved mentoring them. It wasn't like they knew each and everything but they picked up stuff pretty quickly and showed their contribution in all aspects of the code. Also, we were later able to get their help in reviewing other's code which was really helpful for me and Niranjan.

It was a really wonderful experience, mentoring in CodeHeat, reviewing PRs day and night, sharing knowledge with others. I simply loved the experience. The icing on the cake was 2 of the top 3 were contributors to open event organizer project. A lot many mentoring experiences are on the queue and I am really looking forward to them.

by SaptakS (noreply@blogger.com) at March 28, 2017 03:53 PM

March 27, 2017

Trishna Guha

Customize Packages for Atomic Host : Ansible Automation

My earlier post automate-building-your-own-atomic-host describes how to Automate building Atomic Host with Ansible. But it is not capable of customizing packages for OSTree and build Atomic host based on it.

This post includes Ansible Automation for customizing packages of OSTree and build Atomic Host. Below are the improvements on this updated post :

  • Add packages to OSTree (It is suggested not to delete any pre-existing packages from the OSTree, that might break your Atomic host).
  • No need to create VM from the QCOW2 image will shell script anymore, It will be now all-in-one playbook.

If you do not know about Atomic host, please refer to http://www.projectatomic.io.

Requirements:

The requirements remain the same just like the earlier post. I will use Fedora distribution for the demo, but the same will be applicable for CentOS as well.

  • Make sure Ansible is installed on your system. If you are using Fedora workstation/any other platform, do not forget to install python2-dnf as well.
  • Download Atomic QCOW2 image: Fedora-Atomic.

Procedure:

Clone:

$ git clone https://github.com/trishnaguha/build-atomic-host.git
$ cd build-atomic-host/

Environment Setup:

The following will install requirements on your system, initializes OSTree and starts HTTP server as daemon service. The OSTree is made available via web server at TCP port 35000. After running the playbook you may use ip addr to check the IP Address of your HTTP server.

$ ansible-playbook setup.yml --ask-sudo-pass

Variables:

I am going to use variables applicable for Fedora. If you are using CentOS please modify the variables based on it.

  • Primary Variables.
    vars/atomic.yml
---
# Variables for Atomic host
atomicname: my-atomic                          # OSTree name
basehost: fedora-atomic/25/x86_64/docker-host  # Basehost
httpserver: 192.168.122.1                      # IP Address of HTTP Server
  • Additional packages you would like to have in your OSTree.
    vars/buildrepo.yml
# Variables for OSTree packages
repo: https://pagure.io/fedora-atomic.git
branch: f25
repodir: fedora-atomic
abs_path: /workspace                                # The absolute path to the git repo.
custommanifest: customized-atomic-docker-host.json  # The manifest that goes into the custom host(ostree) content that we are going to build.
sourcemanifest: fedora-atomic-docker-host.json      # The manifest that goes into the actual Base Fedora host(ostree) content.
packages: '"vim-enhanced", "git"'                   # Packages you want to have in your Atomic host.

Add packages like above separate by comma.

  • Variables for the VM
    vars/guests.yml
# Variables for Creating VM
domain: atomic-node                        # Domain name
image: Fedora-Atomic-25-20170228.0.x86_64  # Image name
cpu: 1
mem: 1536
os:
  variant: fedora23
path: /tmp                                 # Path to QCOW2 Image

Main Playbook:

Run the main Playbook which will create VM from QCOW2 image, compose OSTree and perform SSH-Setup and Rebase on OSTree:

$ ansible-playbook main.yml --ask-sudo-pass

Note: user-name: atomic-user, password: atomic are the credentials for the instance.
If you wish to change it, modify the cloud-init user-data.
We will have the credentials as variables/vault later.

To Check the IP Address of the VM running:

$ sudo virsh domifaddr atomic-node

Now SSH to the Atomic host and perform Reboot so that it will reboot in to custom OSTree.

$ ssh atomic-user@IP-ADDRESS-OF-VM
$ sudo systemctl reboot

SSH again and You will have your own OSTRee.

[atomic-user@atomic-node ~]$ sudo rpm-ostree status
State: idle
Deployments:
● my-atomic:fedora-atomic/25/x86_64/docker-host
       Version: 25.1 (2017-02-07 05:34:46)
        Commit: 15b70198b8ec7fd54271f9672578544ff03d1f61df8d7f0fa262ff7519438eb6
        OSName: fedora-atomic

  fedora-atomic:fedora-atomic/25/x86_64/docker-host
       Version: 25.51 (2017-01-30 20:09:59)
        Commit: f294635a1dc62d9ae52151a5fa897085cac8eaa601c52e9a4bc376e9ecee11dd
        OSName: fedora-atomic
[atomic-user@atomic-node ~]$ rpm -q git vim-enhanced
git-2.9.3-2.fc25.x86_64
vim-enhanced-8.0.386-1.fc25.x86_64

If you find any bug/idea please open up issues here. Thanks.

Atomic-Host


by Trishna Guha at March 27, 2017 10:50 AM

March 24, 2017

Farhaan Bukhsh

The A/V guy’s take on PyCon Pune

“This is crazy!”, that was my reaction at some point in PyCon Pune. This is one of my first conference where I participated in a lot of things starting from the website to audio/video and of course being the speaker. I saw a lot of aspects of how a conference works and where what can go wrong. I met some amazing people, people who impacted my life , people who I will never forget. I received so much of love and affection that I can never express in words.  So before writing anything else I want to thank each and everyone of you , “Thank you!”.

My experience or association started the time when the PyCon Pune was being conceived Sayan asked me if I could volunteer for Droidcon so that I can learn how to handle A/V for PP,  and our friends at HasGeek were generous enough to let me do that. The experience at Droidcon was crazy, I met a lot of people and made crazy lot of friends. Basically me and Haseeb were volunteering to learn the A/V stuff and Karthik was patient enough to walk us through the whole complex set up, to be very honest I didn’t get the whole picture till now but I some how able to manage. I learned a thing or two about  manning the camera and how much work actually goes to record a conference.

Since I was anyhow going to the conference I thought why not to apply for a talk but somehow I knew I wasn’t going to make it reason being the talks got rejected in a lot of other conferences 😛 . But anyhow being my stubborn self I don’t give up on rejection I gathered all the courage and got Vivek involved and we decided to apply for the talk and to my surprise it got in. This was our first conference talk and it was on one of the projects that we really really love, Pagure.

Since these things happened over a large span of time, by the time conference dates came I have nearly got out of touch with the A/V setup I only have vague idea about what is happening. So Sayan who is a one man army stepped in and he assured me that he will help me with getting the setup ready and we turned again to our friends at HasGeek and they were really humble to help us out this time and also help us with the instruments. We literally had a suitcase full of wires in case things go wrong. We spend around 3 days to up skill ourselves to handle the setup but this time the setup was very simple.

After all this happened and Sayan and Chandan took all the instruments to Pune. I arrived at Pune somewhere around two days before the conference the bus that I took from Bangalore to Pune dropped me somewhere near Telegaun which is near to Mumbai than Pune and I somehow managed to get back to Pune and reached Sayan and Chandan’s house. We were bunking together and there were more people about to come. I took some rest and then we were out , first stop was Reserved Bit , oh I can’t forget this place.

It is a perfect place for geeks and I loved every aspect of it. There I met Siddhesh for the first time we have had conversations over IRC though and met Nisha too. Amazing people the whole experience to travel to Reserved Bit and way back was amazing. We went to the venue to checkout where the camera will be and verify various aspects of the venue. After we came back I started working on the setup and man it was very tough and tricky to gather live feed from the camera.

First of all I was little hesitant to use any proprietary software but then I had no option so we somehow found a windows laptop and tried configuring it but almost everytime either we got a “BLUE SCREEN” or “UPDATES” which annoyed me , the sole reason of using windows was because we had a piece of hardware called capture cards, and the driver for which were not available. After long struggle and a lot of digging done by Siddhesh we got driver for Epiphan capture card for Linux and this was around 12 in the night and we all were still there at Reserved Bit. This gave all of us new hope and then it started we kind of got our minimalistic set up and Siddhesh did a “Compiler talk by Angle Fish” , it was a lot of fun by the time we got it working it was somewhere around 4 in the morning. After all this Sayan and Me actually took a walk back home and picked up Subho on the way. The next day CuriousLearner arrived and then Haseeb , Amit and Gaurav.

We were around 10 people squeezed in a single room but without any discomfort we kind of enjoyed our stay with occasional leg pulling to deep intense tech discussion the whole experience was just terrific. Then comes the actual venue setup that was one crazy thing so the video setup was working with Linux , we had Epiphan capture card working on Kernel version below 4.9 and OBS studio as a recording software. I actually spent a good number of hours to install OBS and downgrading kernel to 4.6 so that Epiphan driver works on at least 6 laptops. When we tried the setup on site and it broke because we didn’t take into account the audio from the mic. All of us were stuck in a state of panic then we realized that we have a mixer with us, but its power cord was left at Reserved Bit . By this time this setup kind of became our conference hack and we wanted it to work so badly. We actually ran back to Reserved Bit spent sometime there since we had some work and then quickly came back to the venue, connected the mixer and after few trial and run it worked.

“YES IT WORKED ” our efforts paid off, we recorded the whole conference using this setup, some of the recordings were a little glitchy and one other hack that we added was we weren’t recording the slides from speaker’s laptop we were doing it manually on our laptops. That means one copy of slide was being played on our laptops and we were recording it accordingly.

Apart from this experience I actually got the opportunity to meet all the keynote speaker the first so I met Nick, Honza, Terri,  John, Steven and Praveen. This was another experience in itself to know them and talk to the Rockstars of the FOSS WORLD.

As a speaker Kushal introduced me as the Speaker who is also the Cameraman for the event and that was may be the first time in a tech conference. Vivek and I have been collaborating over the talk for a long time and we figured out the order in which we need to speak and we spoke accordingly we kind of covered all the things that we wanted to and got a great response from the audience. I attended most of the talks since I was The A/V GUY but I had a huge help from rtnpro he was always there humble and ready to help.

The conference came to an end where Nisha told all the people about the effort that was put in from every person and specially Sayan. After this we had two days of devsprint where we had amazing projects, Vivek and I were mentoring for Pagure and we got a lot of new contributors and quite a number of PRs ( 13 to be precise ), the devsprint was a run away success.

I also got chance to interact with mbuf and man I saw him smile and crack jokes for the first time and it was crazy fun ,  I think it was the dinner after the last day of the conference. One of the most amazing experience was to talk to Haris and yes his name is Haris not Harish. The whole experience was so lovely that I don’t think that it can be better than this.

PS: We fixed my Macbook too

PPS: Video of our talk at PyCon Pune


by fardroid23 at March 24, 2017 04:35 PM

March 17, 2017

Suraj Deshmukh

New place to this blog

The new version of this blog is at http://suraj.io/ . All my new posts will be put in there now. Bye bye wordpress.


by surajssd009005 at March 17, 2017 10:03 AM

March 14, 2017

Jaysinh Shukla

Pycon Pune 2017: A wonderful Python conference

pycon_pune_group_photo

tl;dr

The conference is worth attending if you are a student, programmer or a hobbyist. If you are a swag-hungry then don’t expect much as a swag from this conference. If you are a Devsprint lover, then this conference has the coolest Devsprint. A great number of keynote speakers are invited for this conference.

Detailed Experience

Because I was volunteering for this conference I reached Pune one day earlier than the conference days. The volunteer meeting was happening at Reserved-bit.

Volunteer

Reserved-bit

Reserved-bit is the best hackerspace I have ever come across. It has a large collection of programmable boards. You will find boards like Raspberry Pi, Bana Pi, Dragonboard, Bigalbon, BBC-microbit and the 3D printer. Furthermore, this space has a great collection of books on Compilers and Embedded programming. I managed to found few on open-source too. The owners are great hackers. You will love to interact with hacker Siddhesh Poyarekar. Hacker Nisha Poyarekar is volunteering the PyLadies community at Pune.

Pune to Mumbai

I spent my half day in this space. I got the responsibility of receiving one of the keynote speakers who was landing at Mumbai airport midnight. To be frank, estimation of Google Maps between Pune to Mumbai is wrong. It showed nearly 2 hours but it took almost 4.5 hours to reach Mumbai. It took few more minutes to reach the airport. The road is impressively smooth. You will encounter the beautiful mountains of Lonavla. The task of moving from Pune to Mumbai airport, receive Katie and come back to Pune was completed in almost 13 hours. I left from Pune around 4.30 PM and came back at nearly 5 AM next day early morning.

Illness during conference

Because I did a huge amount of traveling at that night, I was unable to get enough sleep. Such tiredness resulted in an eye infection. I managed to attend the first day of the conference, but I was not in a condition to attend the second day. Treatment from local doctor healed me in two days and then I was able to take part into Devsprint.

Conference

The conference was a total of 4 days where the initial two days were for the talks and the end was assigned for a Devsprint. It didn’t overwhelmed me with many tracks but gave the quality talks presented in a single track. The talks were set from 9 AM to 5 PM which was taken little lightly by the attendees.

I was pretty impressed with the keynote speakers of this conference.

Katie Cunningham

Katie is the O’Reilly author. Her book on Accessibility depicts her area of expertise. She is fun to talk to. She likes to listen about developer communities, writing and most importantly computer games. Her broad vision on product development is amazing. She is an avid reader. I enjoyed listening to her experience of being in India for the very first time.

Honza Kral

Honza is the dude who loves contributing to Django. He is a core contributor of Django too. He hacks on Python drivers at Elastic. I was impressed with his suggestions on a code design problem I was trying to solve from the past few months. His suggestions on code design are worth noticing. He is a vimmer and maintains little vim plugins as a part of his interest.

Stephen J. Turnbull

Stephen professes the Dismal Science of Economics. His knowledge is deep-rooted just like his beard. You will enjoy discussing computer science, books and his experience of programming. He is authoring few books written in the Japanese language. Stephen is Emacsite.

stephen_turnbull

Terri Oda

Terri is a security nerd. She spent most of her time exploring tools at Intel. Terri knows how to hide from the spying of the U.S. Government. She is leading Google Summer of Code section from Python Software Foundation. Terri is PSF community service award winner. If you are a student and want to take part in GSoC choosing PSF as your organization then she is the right person to talk to.

Florian Fuchs

His knowledge on ReST API construction is the best. He is a Falcon nerd too. I enjoyed discussing various authentication mechanisms for ReST API with him. He is a Red Hatter.

gnu_mailman_team

Nick Coghlan

Nick listens more than he speaks. I will advise you to not disturb him if he is coding. He enjoys concentrating while coding. Getting his mentorship was a great experience. He has been contributing to Core Python for a decade now. You will enjoy discussing on interesting code compositions with him. He is a Red Hatter.

Praveen Patil

Unfortunately, I didn’t get much time to talk with Praveen during this conference. He is a math teacher who teaches concepts of mathematics using Python programming language. You should feel confident to speak with him on Python in education and mathematics with him.

John Hawley

John is the wittiest person that I know. His lines always end with humor. He hacks mostly on hardware and GNU/Linux. Micro Python and GNU/Linux should be considered as part of his interests.

I am sad to declare that I was unable to attend any keynote speeches because of the illness. Mostly I rested at the hotel or talked with people during the conference days.

pycon_pune_2017_keynote_speakers

Volunteer Party

If you are volunteering for this conference, then you will be invited to a volunteer dinner party. We enjoyed party colored disco lights dancing on the bits of the DJ. Punjabi food was served, and if you were above 25 than you were allowed to take a sip of a beer.

Devsprint

Devsprint happen at the Red Hat Headquarters, Pune. I found the building has tight security. You will find an individual pantry section dedicated to each department. We were instructed to hack at a huge cafeteria section. I myself contributed to Core Python. Nick Coghlan was mentoring for Core Python. I reviewed one PR, found one broken test case and wrote a fix of an existing issue with his help. Honza was leading the development of Django web framework. A team of Anand Chitipothu mentored for Web2py. Farhaan Bukhsh mentored for Pagure. John Hawley encouraged contributing to MicroPython. Terr Oda, Stephen Turnbull and Florian Fuchs mentored for GNU/Mailman.

cpython_devsprint

Why attend this conference?

  • This conference has the coolest Devsprint. The organizers understand the value of the Devsprint in a conference. I have never observed such an importance of Devsprint at any other Python conference happening in India.

  • If you are a student, then this is a beginner friendly conference. Don’t be afraid to attend if you are a Python noob. You will receive a student concession for the tickets too.

  • If you are a developer, coming to this conference will inspire you to grow from your present level. You will meet core contributors, lead programmers, owners of startups and project managers. You will find a huge scope of opportunities to network with people.

  • The conference is single track event. This decision helped me to not miss the interesting talks. In my previous experience, parallel tracks forced me to choose between talks when I was interested in both, which killed me.

  • I have never seen such a huge amount of keynote speakers at any conference happening in India. Keynote speakers were the main attraction of this conference.

What was missing?

  • If you are a swag-hungry fellow than attending this conference won’t be worth it. The conference attendees have to be satisfied with the conference T-shirt.

  • I observed there were fewer corporate stalls than at other Python conferences. A stole from Reserved-bit, Red Hat and PSF community stall was there.

  • A workshop section was completely missing. In my opinion, the workshop helps the beginners to start. There were a few topics which can be better represented as workshop rather than a talk.

  • I was unable to observe any dedicated section for an open space discussion. This section is helpful for communities and contributors to discuss interesting problems and think together.

Proofreader: Benaiah Mischenko, Chameleon

by Jaysinh Shukla at March 14, 2017 12:48 PM

March 06, 2017

Anwesha Das

My bunnyuncle

PyCon Pune devs sprint hardware room

time 10 AM

The room was full with engineering students, professional engineers, hardware guys. And among them there was me, a lawyer and I do not understand a single bit of hardware.
I was cursing myself why am I here. In fact I have considered all the black cables, most of the hardware as UFO (Unknown Foul Object) creating mess in my house, courtesy: husband dear. And now I have to work on those.

I Want to ran away.
Wish I had a Tardis.
"Doctor..."

Unknown Foul Object == Known Cute Object

The first few good thing that made me comfortable were:

The object which we were suppose to work on was a bunny. Its cute. Its cool. I love it. Let me introduce you to bunny. It is a small bunny shaped board designed by Dr. Terri Oda and John Hawley. It has a ESP82866 on board. It is an open source project and the whole thing available in github

We had John as our mentor. A friend who gave me the freedom that I can interrupt him at any point which I do not understand. From scheduler to ARM, from scheduler to hardware licensing he explained to me all and most importantly the way a novice like me will understand. Thank you John, for making me fall into love with hardware.

The hesitant me started working. Initially what we were trying to code on micropython to lit LEDs up. We have actually made the circuit on breadboard. Initially one there, after multiple LEDs to it.

Working with bunny

After lunch I started working actually on bunny. John explained me different parts of it. Initially I tried to control the "magic button". Then I lit up the bunny's ears. Then playing with the LEDs. Lighting it in different random order and intensity.
Though the dev sprint is over but the fun is not I gave back home and took another step forward with the bunny. I named my project bunnyuncle.

The bunnyuncle

My idea was that the LEDs, specifically in the right ear of the bunny will lit up every time someone mentions me in the twitter. The schematic of py project looks like this:

With an object to give the project a shape I have divide the project into three parts:

I have written a server.py by and through which I am fetching data, i.e the notifications (which mentions me as @anweshasrkr) from twitter to my server. I am using the Python tweepy module for getting notifications from twitter. I am keeping the authentication data in conf.toml.

For every notification I am publishing a message to Mosquitto. Mosquitto is message broker which uses MQTT Protocol. MQTT is a lightweight protocol for small sensors and mobile devices. Mosquitto can be installed in Fedora by using the dnf command.

The bunny is subscribed to the same topic in the Mosquitto. Therefore every time a message published to the Mosquitto in the specified topic, the bunny is receiving the message, and lighting up the right ear. The project is available in the github. main.py contains the code that runs in ESP8266.

This is my second attempt to code in Micropython, first time it was with Microbit. Coding in hardware using micropython is fun. Try it yourself.

Wish I could go back to that time, in that hardware room.
Wish I had a Tardis.
"Doctor..."

by Anwesha Das at March 06, 2017 08:20 PM