Season of KDE is an outreach program hosted by KDE community. It is a similar program like “Google Summer of Code”. The current round of Season of Code started in October and hope to go until January.
I am selected for Season of KDE with the project “Theme Designing for Pairs”. My mentor is Heena Mahour. Pairs is a KDE educational project focused on preschool children. It helps stimulating memory and logic skills of children. My project will cover the following aspects of “Pairs”.
- Creating and adding new themes
- Improve documentation
- Re factor code base
When I found about SoK, I was looking for opportunities to contribute to open source community. My skills in creativity, technical documentation will help me to achieve the expected results very easily.
Filed under: KDE Tagged: KDE, KDE edu, Open Source Student Opportunities, Pairs, Season of KDE, SoK
This blog was created by force :)
I thought a long time before doing this. I had several personal pages before, but all ended with the failure. I cannot say that I’m very good programmer, but my writing skill is many times worse than my programming.
Okay, from the next month The Season of KDE will start. Previously I have made a patch that port Python 2 backend for Cantor to Python 3. After a brief review Filipe Saraiva proposed me to continue working on it and port it to KDE Frameworks 5 as a part of the SoK. Therefore, I have to write at least one post a month about it according to the rules (Otherwise I will not receive a fashionable T-Shirt! :) ).
As PMC is being ported to Plasma 5, it would be worthless merging it in qt4 based branch of PMC. So, I am making standalone app based on Qt5 and would merge it later on once it gets ported completely.
I have used GUPnP library for this as it is the best and most stable library available to implement UPnP. I have used gupnp-tools as the reference. Till Now I have successfully finished the very first step of my project, i.e. show up the files of the MediaServer. I am able to browse the files on the Media Server successfully and that media is accessible over HTTP protocol using the URLs which is terminal output.
Here's the screen shots of the working application :
In the root of the tree in application, there's Device name being shown up in the first column and respective IDs in the other column. So, we can expand it down and browse the files further present on the media server. As we keep expanding it down, we will be getting URLs of all the audio, video, image and text files of those directories as the output on the terminal.
As I have got the URLs of the media, now I just have to pass those URLs to the existing PMC backend which would automatically be opening up the media file over the HTTP protocol, process up the metadata and shows all the controls like play, pause etc. But as I have said previously, I would be doing that integrating in PMC stuff later on.
If you wanna try it out, you can get the sources from here.
What's Next :
Now I am gonna work on implementation of Media Server in PMC using the same library. Using that, the user would be able to play the media files from PMC to any other device. I am using some boilerplate code from here which includes some of the examples of UPnP Standard Services like ContentDirectory, ConnectionManager and AVTransport.
Season of KDE participants are required to blog about the work progress report but I am really kinda lazy in that and this is my first blog post I have ever made in my life :p
At last I would like to thank my mentors Shantanu and Bhushan, who helped me in each and every problem where I got stuck.
An awesome BSP just took place in München where teams from Kubuntu, Kolab, KDE PIM, Debian and LibreOffice came and planned the future and fixed bugs. This is my second year participating at this BSP and I must say it was an awesome experience. I got to see again my colleagues from Kubuntu and got to […]
Here’s a nice project if you’re bored and wanting to help make a very visual difference to KDE, port the Breeze icon theme to LibreOffice.
All help welcome
Open, Save and PDF icons are breeze, all the rest still to go
New seasonal KDE marketing campaign. Use Kubuntu to get off the naughty list.
Occasionally, various quotes from people having an opinion if linux is about choice or not. Even pages like http://www.islinuxaboutchoice.com/ has shown up.
My short answer is “YES”. Linux is about choice. And you get all your choices directly from your f/loss definition of choice (FSF’s 4 freedoms / OSI’s opensource definition / Debian Free Software Guidelines)
It doesn’t mean that you get all the gui configuration bits that you want. It doesn’t mean that you without any problems can switch out any component. But it does mean that you can get it exactly your way. But it might require you to edit some source code and compile some stuff.
This blog post is about another possibility to contribute to KDE. It’s about taking work off Ben’s shoulders and about fixing the bus factor for our great CI (Continuous Integration) system.
I’d like to start a series of weekly or bi-weekly (to be decided) IRC meetings to coordinate the work to understand, change and enhance our CI system and therefore we need a first date. So if you’re interested please add yourself to this Doodle (think about different timezones!).
Prospective agenda for the IRC meeting:
- Ben: Short introduction to KDE CI
- Everybody: Short introduction incl. their skills and wishes for KDE CI
- Ben: What needs to be changed
- Everybody: Work on a roadmap and distribute work till next meeting
- Everybody: Determine date for the next IRC meeting
This is your chance to help KDE to enhance the code quality and spread to even more platforms and thus bring our great software to even more computers and people. But if you prefer to support us in another way their is our ongoing fundraiser. Thanks for considering to help us!
And one last thing about the KDE CI system: we’ve a page about CI on the Frameworks wiki too.
Short Personal note: My diploma thesis was finally accepted (and thus again thanks to everybody who wished me all the best for my thesis!) and thus I’ve a bit more time (to coordinate some stuff in KDE . But I still need to learn and pass the exams (and there is some other big private change in my life soon to come .
I've moved my developer blog to my vanity domain jriddell.org, which has hosted my personal blog since 1999 (before the word existed). Tags used are Planet KDE and Planet Ubuntu for the developer feeds.
Sorry no DCOP news on jriddell.org.
Welcome to my blog on the updated jriddell.org, now featuring my personal blog (which has existed for about 15 years or at least before the word blog existed) together with my developer blog previously on blogs.kde.org.
I’m at the Bug Squashing Party in Munich, the home of KDE and Plasma and Kubuntu rollouts in the public sector. There’s a bunch of Kubuntu people here too as well as folks from Debian, KDE PIM and LibreOffice.
So far Christian and Aaron (yes that Aaron) have presented their idea for re-writing Akonadi.
And I’ve sat down with the guys from LibreOffice and worked out why Qt4 themeing isn’t working under Plasma 5, I’m about to submit my first bugfix to Libreoffice! Next step Breeze icon theme then Qt 5 support, scary.by
It's a scary moment, that time when you reach the conclusion of something which has taken up a considerable chunk of your life for months. Not a bad kind of scary, really, more a sort of exciting, i-wonder-what-others-think kind of scary. For me, this is a moment i've reached now that Calligra Gemini has been merged into the master branch of Calligra, and is scheduled to be shipped with Calligra 2.9. Another reason it's scary is that, given this is sort of my baby, and have found it's something i use actively pretty much every day now, i am now also the official maintainer of that application, which is kind of a new thing for me. If you're wondering what this whole thing is about, there's a rundown of the news over on the Dot.
At the beginning of this project it was a fairly straight forward thing for me, very similar to the Krita Gemini project in which i was sort of a code monkey, with some marketing thrown in for good measure (i produced the videos used to show off Krita Gemini for the Steam Greenlight campaign, which culminated in Krita Gemini being, to our knowledge, the first piece of free/libre software launched on the platform). I had a manager, who did the majority of the liaising with our customer, Intel, and i provided technical commentary and timelining for the features which were suggested for the application.
As the project progressed, however, the manager in charge of the project ended up taking long term ill (the background story for which is all long and sad and not really relevant here), which essentially landed me with his responsibilities as well. This is not to say it was a bad thing, really - the illness obviously was, but me ending up with those responsibilities wasn't. It meant that i became the client liaison, and the person responsible for packaging Calligra Gemini for Windows, using the same WiX based system created by Stuart Dickson and used for Krita Gemini, and for generally just keeping the project running. In short, everything to do with it bar billing the customer for the work. This was also the time during which i decided we needed to tell more people about the project, and so came the idea to OBS our way to that, and produce some packages for openSuse at least - since, well, that is what i've packaged for in the past, and OBS is just so pleasant to work with that it'd be silly not to.
And now, we stand at the point of concluding the project itself. Not completing, not finishing by a long way, this really is just the start of the journey for Calligra Gemini, and but a small step on the journey of the whole Gemini thing. Really, what Gemini is is just an interpretation of the responsive design concept, which describes how your application should fit the device you're on. What we're doing here is implementing, in the real world, applications which don't simply look and feel right, but which will adapt at runtime to changing device conditions.
Where do we go from here?This is what my interpretation of responsive design is. Not something which looks sort of ok everywhere, but something which adapts the entire experience to give you the options which make sense where you are. For Calligra Gemini that means the three-tiered approach of Create (desktop and laptops), Edit (all touch) and View (minimally interactive devices like televisions and other infotainment style devices), or indeed any of these when the user specifically requests it.
As the world fills with all sorts of strange device form factors, we have to be able to work well on them. Laptops and desktops, phones, tablets, televisions, cars, airplanes, even fridges and all sorts of other places. Another piece of software created by KDE which takes this head on is Plasma. The people behind it have, since some time now, been working on creating a variety of frontends for it which scale to various form factors, and a chat with one developer there a short while ago made me think that well, it would be brilliant to see that adaptability happen at runtime, the way Krita and Calligra Gemini do it.
What he could tell me was that, technically speaking, it was possible to do it, but that the code path had been untested and such. This is something nobody else has done. Other shells have tried to create one thing which fits everything (calling it convergence), where KDE has realised, as a community, that the way forward is to adapt to each, not to work with the assumption that a single size fits everybody.
So, what stars is it this is tangentially related to? Easy, the ones we're shooting for ;)
The word of the day is: writing
(as in, in bed, the way i do the majority of it ;) )
Alright, I’ve been selected for the Season of KDE program. Let me quickly tell more about the program. It’s a nice, rather fantastic opportunity for enthusiasts(KDE enthusiasts) to do a project or atleast a part of one in a duration of two months. There are no monetary rewards for your work, like GSoC, but then […]
Our Community Working Group has dwindled a bit, and some of our members have work that keeps them away from doing CWG work. So it is time to put out another call for volunteers.
The KDE community is growing, which is wonderful. In spite of that growth, we have less "police" type work to do these days. This leaves us more time to make positive efforts to keep the community healthy, and foster dialog and creativity within our teams.
One thing I've noticed is that listowners, IRC channel operators and forum moderators are doing an excellent job of keeping our communication channels friendly, welcoming and all-around helpful. Each of these leadership roles is crucial to keeping the community healthy.
Also, the effort to create the KDE Manifesto has adjusted KDE infrastructure to be directly and consciously supporting community values. The commitments section is particularly helpful.
Please write us at Communityfirstname.lastname@example.org if you would like to become a part of our community gardening work.
Even though I criticized Mozilla in the past on my blog, in the end I always returned to Firefox as my main browser, as it the most customizable browser while also (nowadays) very fast and stable.
Today I want to talk about how to marry to KDE Connect, one of the most awesome pieces of technology to come from KDE in recent years.
Everybody who once used KDE Connect is immediately hooked to it. Some say it even was the inspiration for Apple’s Continuity feature.
KDE Connect works both ways but the user interface mostly just exposes sending stuff from your phone to your PC which has been an annoyance for me.
Luckily it is solved now. Today I’ve read about indicator-kdeconnect by Viko Adi Rahmawan.
indicator-kdeconnect is mostly a port of KDE Connect to desktops that use App Indicators, such as Ubuntu Unity. However it also comes with a very handy tool called kdeconnect-send that allows you to do just what I was missing: Send links and files from the PC to the phone.
Sending files is IMO not that important as KDE Connect allows to browse the phone’s file system (at least when the phone is running Android 4.4) but sending the current tab to read it on the go is where the fun is.
The third step is installing Launchy for Firefox.
The fourth and final step is to manually edit launchy.xml. Details how to do that are outlined in Launchy’s Preferences window.
The code you have to add to Launchy is:
<?xml version="1.0" encoding="UTF-8"?>
PS: I didn’t yet investigate why it’s not building under openSUSE. I send the spec file upstream. If you have a fix, please sent it upstream as well. Also no (Build)Requirements for Mageia are currently in the file. Again: If you have Mageia and want to make this tool available there as well, please send your additions directly upstream.
Wow. What a journey. Poor CMake, my Guinea pig, while I figured out how to get it all working.
My quest is to accomplish : The continuous integration system is a piece of KDE.org infrastructure which compiles KDE software, executes tests included with the software and performs software quality tests. This is done when developers make commits to git.kde.org, and is used to ensure our software is in a releasable state and to detect regressions which are accidentally introduced from time to time. It can be found at build.kde.org. As part of this project you will be revamping the system to allow us to expand it to cover additional operating systems in the future, standardize the configuration of jobs and to improve the flexibility of the builds we perform. In addition you’ll also be responsible for setting up a new foundation for our Linux builds as the current one is running on a distribution which will soon be out of date.
Expected results: The CI system is prepared for future expansion, is able to use a new format for dependency and branching information, and is optionally able to communicate with Reviewboard.
Knowledge Prerequisite: Object oriented programming is mandatory. Student should also be aware of how to build KDE software by hand (using CMake). Familiarity with Python is a significant plus, as well as the JSON, XML and YAML data storage formats. The student should ideally be comfortable accessing a system over SSH, installing packages there and compiling software remotely without a graphical terminal.
I met all of the prerequisites, so I thought it would be a breeze. Hah. Thankfully, I love a challenge and this has been a super learning experience.
While doing my research I encountered this lovely concept called docker. It looks to be the answer for many of the above mentioned requirements, so I took the dive to learn docker. This being a large hurdle, as I have never worked with containers of any kind before… My first hurdles while learning docker was my data went poof every time I needed a new build, from a missing dependency or missed tool! Oh goodness, this will not do, in come volumes. Of course, that was a challenge until I figured out the UID and GID did not match. Volumes will be necessary with my future plans, so it all worked out :). Now I love docker so much, I for see myself containerizing everything!! I have now successfully built cmake+qt5+ECM+KF5 tier 1. This concludes Prototype 1.
Solution for Docker + SSH + rsync currently in scripts. Docker by design does not keep the same IP and I had to map the Hostname + IP on my slave. As this will change on every restart, this is not ideal.
I am certain I want to set up multi config for all build to accommodate MULTIOS and adjust the python scripts to check the OS and load config script accordingly.
Though I still need to figure out multi-config in itself as you can see kwindowsystem was an utter failure.
Compile all of KDE.
I want to break out each app into its own container which will satisfy: standardize the configuration of jobs and to improve the flexibility of the builds we perform.
Anything else I can think of to make this a great CI system.
A big thank you to Ben Cooksley, my mentor
Season of KDE is an outreach program hosted by the KDE community. This year I am working as a mentor to a long time requested project related with Cantor – the development of Python 3 backend. You can read more about Cantor in my blog (texts in English and Portuguese). So, let’s say welcome and good luck to Minh Ngo, the student behind this project!
My name is Minh,Minh Ngo
I’m BSc graduated student. I’m Vietnamese, but unlike other Vietnamese students spent most of my life in Ukraine. Currently, I’m preparing myself to the Master degree that will start in the next semester.
Open source is my free time hobby, so I would like to make something that is useful for the community. Previously, I was participated in the GSoC 2013 program and in several open source projects. Some of my personal projects is available on my github page https://github.com/Ignotus, not so popular like other cool projects, but several are used by other people and this fact makes me very happy .
Cantor is one of opportunities to spend time to create an useful thing and win an exclusive KDE T-shirt :). I decided to start my contribution with the Python3 backend, because few months ago I studied several courses that are related with Machine Learning, so I was looking for a stable desktop backend for IPython. A notebook version IPython I do not entirely like and its qtconsole version doesn’t satisfy me in terms of functionality, therefore I decided to find some existent frontend for IPython that I can tune for myself. And the story with Cantor began after than
Please participate in a survey about KDE's download manager KGet.
Keep on reading: Please participate in a survey about KDE’s download manager KGet
See https://wiki.ubuntu.com/UCADay for more about this lovely initiative.
Thank you maco/Mackenzie Morgan for getting me involved in Ubuntu Women and onto freenode.
Thank you akk/Akkana Peck, Pleia2/Lyz Joseph, Pendulum/Penelope Stow, belkinsa/Svetlana Belkin and so many more of the Ubuntu Women for being calm and competent, and energizing the effort to keep Ubuntu welcoming to all.
Thank you to my Kubuntu team, Riddell/Jonathan Riddell, apachelogger/Harald Sitter, shadeslayer/Rohan Garg, yofel/Philip Muscovak, ScottK/Scott Kitterman and sgclark/Scarlett Clark for your energy, intelligence and wonderful work. Your packaging and tooling makes it all happen. The great people who help users on the ML and in IRC and on the forums keep us going as well. And the folks who test, who are willing to break their systems so the rest of us don't have to: thank you!
There are so many people (some of the same ones!) to thank in KDE, but that's a separate blogpost. Your software keeps me working and online.
What a great community working together for the betterment of humanity.
Ubuntu: human kindness.
The last days I played with lcms‘ unbound mode. In unbound mode the CMM can convert colours with negative numbers. That allows to use for instance the LMS colour space, a very basic colour space to the human visual system. As well unbound RGB, linear gamma with sRGB primaries, circulated long time as the new one covers all colour space, a kind of replacement of ICC or WCS style colour management. There are some reservations about that statement, as linear RGB is most often understood as “no additional info needed”, which is not easy to build a flexible CMS upon. During the last days I hacked lcms to write the mpet tag in its device link profiles in order to work inside the Oyranos CMS. The multi processing elements tag type (mpet) contains the internal state of lcms’ transform as a rendering pipeline. This pipeline is able to do unbound colour transforms, if no table based elements are included. The tested device link contained single gamma values and matrixes in its D2B0 mpet tag. The Oyranos image-display application renderd my LMS test pictures correctly, in opposite to the 16-bit integer version. However the speed was decreased by a factor of ~3 with lcms compared to the usual integer math transforms. The most time consuming part might be the pow() call in the equation. It is possible that GPU conversions are much faster, only I am not aware of a implementation of mpet transforms on the GPU.
[thanks to jens for the lovely logo]
Many years ago Ubuntu had a plan for Grumpy Groundhog, a version of Ubuntu which was made from daily packages of free software development versions. This never happened but Kubuntu has long provided Project Neon (and later Project Neon 5) which used launchpad to build all of KDE Software Compilation and make weekly installable images. This is great for developers who want to check their software works in a final distribution or want to develop against the latest libraries without having to compile them, but it didn't help us packagers much because the packaging was monolithic and unrelated to the packages we use in Kubuntu real.
Recently Harald has been working on a replacement, Kubuntu Continuous Integration (Kubuntu CI) which makes packages fresh each day from KDE Git for Frameworks and Plasma and crucially uses the Kubuntu packaging branches. There are three PPAs, unstable (unchecked), unstable daily (with some automated checking to ensure it builds) and unstable weekly (with some manual checking)
At the same time he's been hard at work making weekly Kubuntu CI images which can be run as a live image or installable. They include the latest KDE Frameworks, Plasma 5 and a few other apps.
We've moved our packaging into Debian Git because it'll make merges ever so much easier and mean we can share fixes faster.
The Kubuntu CI Jenkins setup has the reports on what has built and what needs fixed.
Ahora es la hora