Technologix’17 : SJCE, Mysore

Technologix’17 : SJCE, Mysore

On 16th March’17, Sri Jayachamarajendra College of Engineering (SJCE), Mysore invited Red Hat to be the part of there ongoing CSI fest, Technologix. Red Hat was the premium sponsor of the fest.

The event was a success with fresh energy, most of the students were sophomors and were aware about Fedora, Linux and opensource.

Four speakers, including me, decided to go and talk about different technologies which are being used at Red Hat extensively. We travelled from Bangalore to Mysore in a car, with made the journey more exciting. It took us nearly 3.5 hours to reach our destination.

On reaching there, Vishnupriya, a student from SJCE, welcomed us and guided us to the guest rooms.

The session started at 2:30 pm with about 150-200 students waiting to learn about technologies used in industry. The CSI members welcomed us with flower bouquet and inspiring words.


The first talk was given by Buvenash Kumar, who is engineering intern at Red Hat. He has been working with Red Hat for last 1 year. He talked about virtualization, different types and benefits of virtualization. He also talked about various hypervisors in market like Red Hat Enterprise virtualization, VMWare Esxi, Xenserver.


The talk on Ansible was given by me. I talked about SSH, Introduction to Ansible, Introduction to YAML, Setting up test environment, Ansible config and HOST files(demo).


The talk was given by Ankit Raj. He was a part of GSOC’2015, and contributed to Ruby community. He works on gluster project as Associate software engineer at Red Hat. He talked about the Openstack and it’s usage, OS searchlight concepts and flow and its contribution guide.

Git and contribution to opensource

This session was taken up by Sumantro Mukherjee who is Associate Quality Engineer, Fedora Project, Red Hat and Arvind Chembarpu, who interns as Fedora QA at Red Hat.

The event ended on a great note and a small speech by Dr. SK Padma, the head of department of computer science SJCE, she mentioned about the opensource wave in there campus and how they promote opensource. The speakers were awarded trophies.

After the event, we explored the beautiful campus of the college.

Special thanks

CSI chapter of SJCE, Sudhir Dharanendraiah, alumni of SJCE and QE Manager at Red Hat, Red Hat organization and Arvind Chembarpu for making the visit possible. And thanks Rejy for dvds.

Fedora Activity Day, Bangalore 2017

Fedora Activity Day, Bangalore 2017

The Fedora Activity Day (FAD) is a regional event (either one-day or a multi-day) that allows Fedora contributors to gather together in order to work on specific tasks related to the Fedora Project.

On February 25th ’17, FAD was conducted in one of the admirable university of Bangalore, University Visvesvaraya College of Engineering(UVCE). It was not a typical “hackathon” or “DocSprint” but a series of productive and interactive sessions on different tools.

The goal of this FAD was to make students aware about Fedora so that they can test, develop and contribute. The event was a one-day-event, started at 10:30 in morning and concluded at 3 in evening.

The first talk was on Ansible, which is an IT automation tool. It can configure systems, deploy software, and orchestrate more advanced IT tasks such as continuous deployments or zero downtime rolling updates. The session was taken up by Vipul Siddharth and Prakash Mishra, who are Fedora contributors. They discussed about the importance of such automation tool and gave a small demo for getting started with Ansible.

The Ansible session was followed by the session on contributing to Linux Kernel, given by our esteemed guest Vaishali Thakkar (@kernel_girl ). Vaishali is Linux Kernel developer at Oracle, she is working in kernel security engineering group and associated with the open source internship programs and some community groups.Vaishali highlighted upon each and every aspect of kernel one should know before contributing. She discussed the lifecycle and how-where-when of a pull request. The session was a 3 hour long session with a short lunch break. The first part of the session was focused on theoretical aspects of sending your first patch to kernel community and the second part was a demo session where she sent a patch from scratch (Slides).

The last session was taken up by Sumantro Mukherjee (Fedora Ambassador) and me, on pathways to contribute to Fedora with a short interactive session.

The speakers were awarded tshirts as a mark of respect.I would like to thank Sumantro Mukherjee, Fedora Community and IEEE subchapter of UVCE college for making FAD possible.

Fedorahosted to Pagure

Fedorahosted to Pagure was established in late 2007 using Trac for issues and wiki pages, Fedora Account System groups for access control and source uploads, and offering a variety of Source Control Management tools (git, svn, hg, bzr). With the rise of new workflows and source repositories, has ceased to grow, adding just one new project this year and a handful the year before.

As we all know, Fedorahosted is shutting down end of this month, its time to migrate your projects from fedorahosted to one of the following:-

  1. Pagure
  2. Hosting and managing own Trac instance on OpenShift
  3. JIRA
  4. Phabricator
  5. GitHub
  6. Taiga

Pagure is the brainchild of Pierre-Yves Chibon, a member of the Fedora Engineering team. We will be looking into Pagure migration because Pagure is a new, full featured git repository service and its open-source and we ❤ opensource.

So, Pagure provides us Pagure test instance where we can create projects and test importing data. Note:from time to time it is been cleared out, so do not use it for any long-term use.

Here is How Pagure will support Fedorahosted projects ?

Features Fedorahosted Pagure
Priorities We can add as many priority levels as required with weights Same
We can assign a Default priority No such option
Custom priority tags Same
Milestone Ability to add as many milestone as we want Same
Option to add a due date Same
Keeps a track of completed time Does not record completed time
Option to select default milestone No such option
Resolution Ability to add as many resolutions as we want Same
Can set a default resolution type By default it is closed as ‘None’
Other Things Have separate column for Severity, component, Version Here it is easy, it has just Tags
Navigation and Searching Difficult Easy
Permission Different types of permission exist Only, ‘admin’ permission exist
Creating and maintaining tickets Difficult Easy
Enabling Plug-ins Easy Easy

So, lets try importing something to staging pagure repo, I will be showing demo using Fedora QA repo, which has recently been shifted from fedorahosted to pagure.

  1. You should have XML_RPC permission or admin rights for fedorahosted repo.
  2. We will use Pagure-importer to do migration.
  3. Install it using pip . python3 -m pip install pagure_importer
  4. Create a new repo ex- Test-fedoraqascreenshot-from-2017-02-10-16-53-21
  5. Go to Settings and make the repo, tickets friendly by adding new milestones and priorities.screenshot-from-2017-02-10-16-56-50
  6. Clone the issue tracker for issues from pagure. Use: pgimport clone ssh:// will clone the pagure foobar repository into the default set /tmp directory as /tmp/Test-fedoraqa.gitscreenshot-from-2017-02-10-18-28-20
  7. Activate the pagure tickets hook from project settings. This is necessary step to also get pagure database updated for tickets repository changes.screenshot-from-2017-02-10-18-30-19
  8. Deactivate the pagure Fedmsg hook from project settings. This will avoid the issues import to spam the fedmsg bus. The Hook can be reactivated once the import has completed.
  9. The fedorahosted command can be used to import issues from a fedorahosted project to pagure.
    $ pgimport fedorahosted --help
        Usage: pgimport fedorahosted [OPTIONS] PROJECT_URL
        --tags  Import pagure tags as well.
        --private By default make all issues private.
        --username TEXT FAS username
        --password TEXT FAS password
        --offset INTEGER Number of issue in pagure before import
        --help  Show this message and exit.
        --nopush Do not push the result of pagure-importer back
    $ pgimport fedorahosted --tags

    This command will import all the tickets information with all tags to /tmp/foobar.git repository. If you are getting this error: ERROR: Error in response: {u'message': u'XML_RPC privileges are required to perform this operation', u'code': 403, u'name': u'JSONRPCError'}, means you dont have XML_RPC permission.

  10. You will be prompted for FAS username and password.screenshot-from-2017-02-10-19-01-51
  11. Go to tmp folder cd /tmp/
  12. Now, we need to push the tickets to new repo. The push command can be used to push a clone pagure ticket repo back to pagure
    $ pgimport push Test-fedoraqa.gitscreenshot-from-2017-02-10-19-10-04 screenshot-from-2017-02-10-19-10-16
  13. Refresh your repo, and it will look like thisscreenshot
  14. Now you can edit tickets in any way you want.

Stuck somewhere? Feel free to comment and contact. Thanks for reading this 🙂

FUDCon APAC’16 Phenom Penh

FUDCon APAC’16 Phenom Penh

It took me long to write about this, this was the first international Fedora event I attended.

FUDCon is the Fedora Users and Developers Conference, a major free software event held in various regions around the world, usually annually per region. FUDCon is a combination of sessions, talks, workshops, and hackfests in which contributors work on specific initiatives.

I was lucky that I got a chance to be the speak at FUDCon Asia Pacific held in Phenom Penh, capital of Cambodia from 4th to 6th November, 2016.

My talk on Rust programming language got accepted at the last moment and this was going to be my first international trip, so I was both excited and nervous. FUDCon Phnom Penh was to be conducted at Norton University along its Barcamp nomenclatured ASEAN.

Barcamp, Norton University

I landed in Cambodia on 3rd Nov and reached Hotel Mekong Heng Mohaphel late night. Reaching there I met Sirko Kemter (gnokii) and Robert Mayr (robyduck), who greeted me at the doorstep of hotel, I was sharing the room with Noriko Mizumoto (noriko).There were around 50 speakers from around the world to give talks related to Fedora and open source culture.

The next day I interacted with other speakers and Fedora contributors, it was great to meet them in person. That day we had our breakfast, some sight-seeing on Tuktuk (the local transport there), the team lunch and a stomach filling dinner.

Me trying to pose. PC: Sumantro

On 5th Nov, we all got up early and after having our breakfast, we marched towards Nortan University. The university was decorated with technology and creativity through their projects and presentations.

The event was inaugurated with an introductory speech given by Brian Exelbierd (bex),Fedora Community Action and Impact Coordinator.


Brian, giving introductory speech

Then starts the FUDCon talks. My talk was in the first slot. My talk was on Rust programming language. Rust is a systems programming language that runs blazingly fast, prevents segfaults, and guarantees thread safety. It is maintained by Mozilla. I explained the importance of Rust, in the world of different programming language, its features, few syntax paradigm, Rust package manager-Cargo and Rust on Fedora OS with the new package ‘Rust’. I also mentioned the pathways to contribute to the upstream projects using Rust. The session ended with a fruitful discussion.


The room for my talk


Gerard, talking about his experience with Rust

Then I attended Kushal Das (kushal) talk on Python Programming. He is a core developer of CPython, and director at Python Software Foundation. The room was full of students who seemed new to programming. He beautifully explained various aspects of python programming through examples.

The next talk I attended was by Alex Eng on Zanata, a translation platform. He is one of the lead contributor of Zanata project. He gave a great session explaining new features that will be available in the next release of the translation tool. I was bit familiar with Zanata due to Fedora Hubs project, so the session was very fruitful for me to understand Zanata in a better way.

The next talk was on Web Virtual Reality by Sumantro Mukherjee. He is an Associate Quality Engineer at RedHat, Bangalore and an active Mozilla contributor. The highlight of the talk was A-frame. A-frame is a web framework for building virtual reality experiences and works on almost all devices.It was started by Mozilla VR to make WebVR content creation easier, faster, and more accessible. The session was interesting and fun to attend.

The last talk of the day was by Anwesha Das on A walk on licenses in Fedora ecosystem. She gave an overview of all the open source licenses, why it is important to use a license and what are the best practices of using a license. She explained the literal meaning of words ‘open’ and ‘free’ in the world of open source software. The session was quite informative.

The day ended with a team dinner with Indian folks and Ryan lerch(ryanlerch).

I had my exam on 7th Nov, so I wasn’t able to attend the event for next day and missed many amazing talks. But, overall the event was a great fun and a way to know community in a more diverse and better way. I was really amazed to meet and talk to people that I used to see on IRC, it motivated me to work harder.

I would like to thank Sirko Kemter, Brian Exelbierd , the Norton University and Fedora Community for giving me an opportunity to be a part of this event.

Speakers of FUDCon APAC’16

Thanks Srijan Agarwal, for sharing your notes with me.




Getting started with Inkscape: Selection tool

Getting started with Inkscape: Selection tool

Inkscape is more than a vector tool, it provides a WYSIWYG (What-You-See-Is-What-You-Get) interface for manipulation of vector image, which makes the understanding of various tools and feature lot more easier. In the following blog series, we will be seeing the tools and their attributes.I am using Fedora 24 workstation, you can use inkscape on any OS.


Each following blog will explain one of the tool


SELECTION Tool(F1 or s)screenshot-from-2016-10-01-09-34-56

It is used to select, position and transform objects and images on the document or working area.

Just draw anything on canvas, select selection tool and click on the figure.

There are 3 pairs of Handles:-

  • Scaling Handles
  • Rotation Handles
  • Skewing Handles

You will see sets of handles, like shown below:-


Now, again click on the selected figure using the tool(or Shift+s), you will see another set of handles, like shown below:-



There are various ways to select objects using this tool and some other tricks :p

Select using mouse

  • Single click:  selects 1 object at a time
  • Shift+click: adds an object to the current selection if it was not selected, or deselects it otherwise
  • Double click:If the selection is:
    • Paths-switches to Node tool(explained in next blog)
    • Shapes-corresponding shape tool
    • Text-Text tool
    • Empty space- switches to the parent layer in the hierarchy, if any.

Rubberband Selection

  • Mouse drag: Dragging around objects does “rubberband” selection; previous selection is deselected.









  • Shift+mouse drag: Although to make a rubberband selecting, we have to start from an empty space, but, we can also start on top of an element by pressing shift


Touch selection

To select the objects along a path.This will allow you to select objects by drawing a freehand path (indicated by a red line); anything which the path touches will become part of the selection.  This method is highly useful when objects are closely placed and it becomes difficult to select them using other methods.


  • Shift+Alt+mouse drag: To start touch selection with Alt, you must have nothing selected; otherwise use Shift+Alt.

Select using keyboard

  • Tab/Shift+tab: These keys pick objects in their z-order (Tab cycles from bottom to top, Shift+Tab cycles from top to bottom). Unless you did manual rearrangements, the last object you created is always on top.
  • Ctrl+A: Selects all the objects in current layer
  • Ctrl+Alt+A: This works on objects in all visible and unlocked layers.
  • Inversion Selection (! or Shift+1):This inverts selection (deselects what was selected and vice versa) in the current layer.
  • Alt+Shift+1(Alt+!):This inverts selection (deselects what was selected and vice versa) in visible and unlocked layers.
  • Esc: Deselect selection
  • Delete: Delete the selection

Move objects

  • Mouse drag: Dragging an object selects it if it was not selected, then moves selection.
  • Ctrl+mouse drag: restrict movement to horizontal or vertical(only in 90 degrees)
  • Mouse click+spacebar+drag: creates a copy of image on the path of drag
  • Click+hold down spacebar: move around your canvas

Scale objects

  • Mouse drag: To scale the object
  • Ctrl+mouse drag:  scale preserving aspect ratio
  • Shift+mouse drag: symmetric transformation
  • Alt+ mouse drag: scale by integer
  • Shift+Ctrl+mouse drag: scale with respect to center of object
  • . or >: scale selection up by the scale step
  • , or <: scale selection down by the scale step
  • Ctrl+(. or >): scale up the selection by 200%
  • Ctrl+(, or <): scale down the selection by 50%
  • Alt+(. or >): scale selection up by 1 pixel
  • Alt+(, or <): scale selection down by 1 pixel



Rotate Objects

  • Mouse drag: rotate
  • Ctrl+mouse drag: snaps the rotation angle to angle steps (default 15 degrees)


  • h: Flip horizontally (about vertical axis)
  • v: Flip vertically (about horizontal axis)



There are many more shortcuts, but given shortcuts will be more than enough.

Next comes the mouse shortcuts:-







Inkscape: Getting started 1

Inkscape: Getting started 1

Hope you liked my first blog on Inkscape. This series will help you getting started with this cool graphics tool which is based on vectors

I am using Fedora 24 workstation, but you can install Inkscape on any OS. Lets hack on Inkscape 🙂

This is how an Inkscape document looks like:-


Every tool has its own purpose and functions which I will be discussing in the next blog of this series.

Lets talk about one of the most important feature of every graphic software LAYERS. Go to Layer → Layers… or simply press SHIFT+CTRL+L


You will see something like this:-


1. Hide / Unhide

Using this, you can make the content of that layer visible or invisible. When you make the layer invisible, it seems like the layer has never existed.

2. Lock / Unlock

Using this, one can lock or unlock the content of the layer. Locking the content means, we will not be able to move or edit the content of that layer

3. Adding or Deleting layer

Using these options, you can simply add a layer above the currently selected layer or delete the currently selected layer.

When you click on add, you can see something like below:-


You can add the new layer above or below or even as a sub-layer of current layer(grouping layer, referred at last)

4. Navigation button

You can change the order of layers using these buttons. Try creating different layers and use buttons

5. Name of the Layer

It helps you to identify what content is there in the layer. Just double click on the name or Right click -> Rename Layer…

Layers can do wonders if you know how to use them.

Ways to use layers:

  • Always place similar things in one layer, so that you can select them all at once
  • Arrangement of layers is like a sandwidth, on top of the other, so its nice to experiment with that
  • You can group different layers under one name, eg:



  • Playing around with bleding modes and opacity of different layers will create different patterns.


Get your hands dirty with layers. In my next tutorial I will be introducing tools.



Inkscape: Design your imagination

Inkscape: Design your imagination

Design in Linux, was something that took a lot of time to build trust, among designers. But, as it is said, trees that are slow to grow bear the best fruit.

When I started as a designer, I was quite young, like about 8 or 9 years old. I used to make creative animals (that doesn’t look like real animals :p), made various sketches of the people I used to see in my dreams, used to do graffiti, which my mom doesn’t used to like much. When I grew up, one of my friend asked me – what makes you call yourself a designer . I told him, any person who can draw in any form, the things they can imagine – is a designer.

GIMP has made his place in the audience, next comes the vector tool Inkscape. Inkscape is evolving as a powerful graphic tool for vectors, it is very similar to Adobe illustrator or CorelDraw in Window. Here is a quick starting guide on it:-

Inkscape can be downloaded to any OS, from here. Lets start with a simple image that I have made as a wallpaper for my machine. A short and handy guide of tools can be seen here.

1. When inkscape gets started, you will have a screen like this.
Today we will concentrate some of the tools on the awesome tool panel present on the left.


2. Lets size the document to the size of wallpaper size – 1024px x 768px. For that go to File > Document Properties… or press SHIFT + CTRL + D. Enter the values, press ENTER and close the box.screenshot-from-2016-09-07-09-00-00

3. Make a rectangle as big as a document, using rectangle tool. You can adjust size of the figure using tools in Tool controller bar.


4. Right click the figure and choose, FILL and STOKE, or press SHIFT + CTRL + F.


Under fill select LINEAR GRADIENT. Click on EDIT GRADIENT.

You could see a line with 2 dots, each representing one color each, click on the dot to change the color of gradient.

You can drag the dots to give various path to gradient.
5. Select the SELECTION tool and set the stoke color to none.

6. Lets make a triangle now.You can PRESS and HOLD DOWN CTRL key, to give your triangle an angle and symmetry.

7. Select the figure and press CTRL+D, to duplicate that(the duplicated figure will overlap the existing one only), or just simply COPY PASTE

8. Select the figure as shown, and go to OBJECT > FLIP-HORIZONTAL or press Hscreenshot-from-2016-09-07-09-57-23screenshot-from-2016-09-07-09-57-42
9. I will be using the following three colors. You can use any.

10. Select all and group them – CTRL + G
11. Make whatever pattern you want.

12. Lets do one more trick, I need to fill those spaces.
13. Make another rectangle as shown below, such that it covers exactly half of rectangle.

14. Select both the figures, and goto OBJECT > CLIP > SET

15. Now I can fill those spaces :p.

16. You can adjust the triangles in many ways, and can add pictures onto then by going to FILE > IMPORT…


17. Last and important thing, how to save it as a png file. There are 2 ways:-

FILE > SAVE AS… > select png from drop down, type in the name and click SAVE



FILE > EXPORT PNG image, select the file location and name, and click on EXPORT



The following is one of the example



You can work creativity on your designs. Let no tool be a barrier to your imagination. Come up with beautiful wallpapers and submit the designs for FEDORA 25 wallpapers. Your design might get lucky enough to be used by thousands of fedora users.

Hope this article helped you get started. It was a very basic one. For any sort of doubt, feel free to comment or contact. I will be posting follow up articles on Inkscape. Let your imagination go wild on mouse :p.