Showing posts with label frameworks. Show all posts
Showing posts with label frameworks. Show all posts

Thursday, May 4, 2017

Google Summer of Code students are announced today

Google Summer of Code students are announced today! The KDE community is happy to welcome our new students, who will be coding for Cantor, Digikam, Frameworks, Gcompris, Kdevelop, Kopete, Krita, Kstars, Labplot, Marble, Minuet, Plasma, and Wikitolearn (alphabetical order, not in order of importance).

For Cantor, Rishabh Gupta will "Port all backends of Cantor to Q/K process." For Digikam, Yingjie Liu will make “Face Management Improvements," Ahmed Fathy will enable "Database export to remote network devices using DLNA/UPNP," Swati Lodha will create "Database separation for Similarity" and Shaza Ismail Kaoud will make a "Healing clone tool for dust spots removal."

In Frameworks, Chinmoy will enable "Polkit Support in KIO." Gcompris has two students working with the same project title, but will be doing different independent tasks. Divyam Madaan and Rudra Nil Basu will both be "Finishing started activities for GCompris in Qt-Quick." In Kdevelop, Emma Gospodinova will provide "Rust support for KDevelop" while Mikhail Ivchenko will give us "Go Language support in KDevelop."

Kopete has two students this year; Vijay Krishnavanshi will create a "Testing interface for Kopete and Improvement of protocol support" and Paulo Lieuthier will make "Chat history improvements." Krita has four students; Alexey Kapustin providing "Telemetry for getting statistics for which features are used the most in Krita," Grigory Tantsevov "A Procedural Watercolor Brush Engine for Krita," Eliakin Costa will "Develop a showcase of Krita's new scripting support" and Aniketh Girish "Integrate with share.krita.org."

In Kstars Csaba Kertesz (kecsap) will "Improve stability, testing and bring modern C++ to KStars." Labplot's Fábián Kristóf will begin "Adding support for plotting of real-time data in LabPlot." Marble: Mohammed Nafees (mnafees) will work on "Marble Indoor Maps" and Bartha Judit (Bernkastel) "Marble Material Maps." Minuet's Ștefan Toncu (StefanT) will create a "Multiple-Instrument View Framework." For Plasma, Lukas Hetzenecker will "Make High-DPI awesome" and Atul Sharma will be "Migrating to Kirigami (Koko)."

Finally, Wikitolearn has three students for 2017. Davide Riva will work on "Chat Bridge," Vasudha Mathur will "Stabilize and ship Ruqola" and Cristian Baldi will make a "Progressive Web App for WikiToLearn."

KDE Student Programs thanks all these students for their fine work so far, and the mentors and teams who are already helping these new KDE developers fix bugs and improve our codebase, documentation, testing, and quality. We're really looking forward to working with all of you as we prepare for the coding period, which begins May 30. Look out for the student blogs and posts on the Planet and mail lists, welcome them and help them as you are able, now during the "community bonding period."

Friday, August 22, 2014

Counting the days until Akademy!

It seems so soon after returning home from Randa and Geneva, but already the day of departure to Vienna and then Brno looms. So excited! For starters, both Scarlett and I got funding from Ubuntu so the e.V. is spared the cost of our travel! I've often felt guilty about how much airfare from Seattle is, for previous meetings. We're having a Kubuntu gathering on Thursday the 11th of September. Ping us if you have an issue you want discussed or worked on.

Also, Scarlett and I will be traveling together, which will be fun. And we're meeting Stefan Derkits in Vienna, to see some of his favorite places. Oh, a whole day in Vienna seems like heaven. We have a hostel booked; I hope it's nice. Now I need to figure out the bus or train from Vienna <> Brno.



Then there is the e.V. annual meeting, which I enjoy since I was admitted to membership. It is great to hear the reports personally, and meet people I usually only hear from in email or IRC.

Finally, there is Akademy, which is always a blur of excitement, learning, socializing, and interacting with the amazing speakers. My favorite part is always hearing from the GSoC students about their projects, and their experience in the KDE community. After Akademy proper, there are days of BOFs, and our Kubuntu meeting. This part is often the most energizing, as each meeting is like a small-scale sprint.

Of course we do take some time to walk through the city, and eat out, and party a bit. Face-to-face meetings are the BEST! Sometimes we return home exhausted and jetlagged, but it is always worth it. KDE is a community, and our annual gathering is one important way for us to nurture that community. This energizes the entire next year of creating amazing software.

An extra-special part of Akademy this year is that we are planning to release our new KDE Frameworks 5 Cookbook at Akademy. Get some while they're hot!

Learning to git

A few years ago, I learned from Myriam's fine blog how to build Amarok from source, which is kept in git. It sounds mysterious, but once all the dependencies are installed, PATH is defined and the environment is properly set up, it is extremely easy to refresh the source (git pull) and rebuild. In fact, I usually use the up-arrow in the konsole, which finds the previous commands, so I rarely have to even type anything! Just hit return when the proper command is in place.

Now we're using git for the KDE Frameworks book, so I learned how to not only pull the new or changed source files, but also to commit my own few or edited files locally, then push those commits to git, so others can see and use them.

To be able to write to the repository, an SSH key must be uploaded, in this case done in the KDE Identity account. If the Identity account is not a developer account, that must first be granted.

Just as in building Amarok, first the folders need to be created, and the repository cloned. Once cloned, I can see either in konsole or Dolphin the various files. It's interesting to me to poke around in most of them, but the ones I work in are markdown files, which is a type of text file. I can open them in kate (or your editor of choice) either from Dolphin or directly from the cli (for instance kate ki18n/ki18n.in.md).

Once edited, save the file, then it's time to commit. If there are a number of files to work on, they can be all committed at once. git commit -a is the command you need. Once you hit return, you will be immediately put into nano, a minimal text editor. Up at the top, you will see it is waiting for your commit message, which is a short description of the file or the changes you have made. Most of my commits have said something like "Edited for spelling and grammar." Once your message is complete, hit Control X, and y and return to save your changes.

It's a good idea to do another git pull just to be sure no one else has pushed a conflicting file while the commit message was being crafted, then git push. At this point the passphrase for the ssh key is asked for; once that is typed and you hit return, you'll get something like the following:

Counting objects: 7, done.                                                                                                                                                                              
Delta compression using up to 8 threads.                                                                                                                                                                
Compressing objects: 100% (4/4), done.                                                                                                                                                                  
Writing objects: 100% (4/4), 462 bytes | 0 bytes/s, done.                                                                                                                                                
Total 4 (delta 2), reused 1 (delta 0)                                                                                                                                                                    
remote: This commit is available for viewing at:
remote: http://commits.kde.org/kf5book/90c863e4ee2f82e4d8945ca74ae144b70b9e9b7b
To git@git.kde.org:kf5book                                                                                                                                                                              
   1d078fe..90c863e  master -> master                                                                                                                                                                    
valorie@valorie-HP-Pavilion-dv7-Notebook-PC:~/kde/book/kf5book$

In this case, the new file is now part of the KDE Frameworks 5 book repository. Git is a really nifty way to keep files of any sort organized and backed up. I'm really happy that we decided to develop the book using this powerful tool.

Monday, August 11, 2014

Randa Meetings sprint: KDE Frameworks Cookbook progress

We groaned and suffered with the up-and-down network, and had to abandon our plan to write and edit the book on Booki at Flossmanuals. So we began to create text files on Kate or Kwrite, but how to share our work?

The best answer seemed to be a git repository, and our success began there. Once created, we consulted again and again with the Frameworks developers in the room across the hall, and brainstormed and wrote, and even created new tools (Mirko). Our repo is here: kde:scratch/garg/book. If you want to see the live code examples, you will need this tool: https://github.com/endocode/snippetextractor .

I'm so happy with what we have so far! The texts are just great, and the code examples will be updated as they are updated in their repositories. So if people planning a booth at a Qt Contributor Conference, for instance, wanted to print up some copies of the book, it will be completely up-to-date. Our goal is committing every part of the book so that it can be auto-fetched for reading as an epub, pdf, text file or printed as a book.

It is a tremendous help to be in the same place. Thank you KDE community for sending me here, all the way from Seattle. Thank you for bringing all the other developers here as well. We are eating well, meeting, coding, writing, walking, drinking coffee and even some Free Beer, and sometimes sleeping too. Mario brings around a huge box of chocolate every night. We're all going to arrive home somewhat tired from working so hard, and somewhat fat from eating so well!


Monday, August 4, 2014

Coming up: excitement and work

First, many of us will be taking off this week for Randa, Switzerland. Many sprints are taking place simultaneously, and the most important to me is that we're writing another book. Book sprints are fun, and lots of work! As well as the team in Randa, a few people will be helping us write and edit from afar, and I'll be posting a link soon so that you can help out as well.

Here is a recent article on Randa and what goes on here: https://dot.kde.org/2014/08/02/randa-meetings-interview-four-myriam-schweingruber. Most of the attendees are traveling on funds contributed by the community. Thanks so much! I hope our work will be worth your generosity.

Today, the Akademy session schedule was announced: https://dot.kde.org/2014/08/04/akademy-2014-program-schedule-fast-fun-inspiring. This will be my third Akademy, and they are always fascinating, friendly, educational, and just plain awesome! At this point, we're still open for more sponsorship of Akademy, and registration seems a bit slow. If you are interested, please register and make your way to Brno for Akademy. If you know a company who is not yet a sponsor and should be, please urge them to register as a sponsor now.

The talks will be great, as will the "hall track." Following the formal meeting, we have a few days of informal talks, mini-sprints, and workshops. This is when Kubuntu will be meeting, which is why Ubuntu sponsored me to attend! \o/ Thanks so much for that, generous Ubuntu users. To sum up, I'll quote Myriam from the above article:
While a lot of the work in Free Software is done over the internet, nothing replaces the real life meetings, as it provides an extra drive in terms of motivation. Modern software development is mostly agile, something even corporate software development is using more and more. Due to the global distribution of our contributors; Free Software development has always been agile to start with, even if we didn't put a label on it in the early days.
And in agile development; sprints are a very important element to push the project forward. While sprints can be done over the web, they are hindered by time-zones, external distractions, availability of contributors, etc. Having real life sprints, even if those are few, are more productive as all the hindrances of the web meetings are eliminated and the productivity is greatly enhanced. [emphasis added]