Subscribe to Planet KDE feed
Planet KDE - http://planetKDE.org/
Updated: 28 min 57 sec ago

When does your career begin?

Thu, 2017/01/05 - 10:15pm

My first contact with technology, and I mean the first time that I touched a computer, was when I was eleven years old. My mom subscribed me in an initial course about informatics in a public institute at my hometown. And since then I made all courses about technology that I could put my hands on. When I was in High School and my school bought a laptop so we could do presentations, was me that removed the thousand of the virus and solved the issues, so the laptop could be useful. So it makes sense go to college in the tech area.

In 2011 I moved out from my hometown so I could start college. Computer Science was my choose. And my thinking until beginning of 2015 was: I will go to college, will finish, maybe do a master’s degree and then get a job.

future-arrow

Well, that plan didn’t work out. I was thinking that my career would only begin after I finish college, however, the way that technology is evolving, we can’t wait for after college.

careerconfusion1-e1417093044460

When 2015 started, I was planning one more year of college, but then I decided to go to one of the biggest events related to the technology of Brasil. When I got back home, I realized that I couldn’t wait. I need it to go to more events, do networking, meet people with the same interests or different. I need it to learn more that I was learning in the 4 walls of my classroom.

And was with that work, were at the end of 2016 I could say: I have a career.  And I can’t say when it started. I only know that I have one.

I don’t know if you can say: Was on this day, several years ago that my career started.

I can’t.

The moment that I started to realize that I had a career, was when I was at The Developers Conference in October of last year. For the first time, I was playing with my Arduino and a strip of led. On that moment, that I put the leds on with a code that I made on Arduino IDE. That moment, of full happiness, could not happen if I stayed at my home… I was able to do that because of all background that I built.

img_20161007_112219

When I realized that, my view of my life and future changed radically. I wasn’t a person that planned the future. I used to live the moment(Still do sometimes). I couldn’t plan more than the lunch of the next day. Maybe I have matured. Maybe now with my 24 years old I have more experience of life.

I just know that I think that I’m on the correct path. I’m discovering my values, my weakness, and my strengths while trying to build a strong career. Without leaving my personal life behind.

Don’t get worried when you career will start, just make sure when you have one, that you are doing the best to build the best career that you want for yourself.

 

“We’re all stories in the end just make it a good one”

Eleventh Doctor.

 

 


Plasma 5.8.5 bugfix release in Xenial and Yakkety Backports now

Thu, 2017/01/05 - 12:38am

Plasma 5.8.5 brings bug-fixes and translations from the month of December, thanks to the hard work of the Plasma team and the KDE Translation team.

To update, use the Software Repository Guide to add the following repository to your software sources list:

ppa:kubuntu-ppa/backports

Writing the first extractor

Wed, 2017/01/04 - 11:35am

So, it begins with gibberish raw email data from shopping websites, confirming your order has been dispatched.

Thanks to the KDE Now base framework which effectively decodes quote printed text to UTF-8 easily �� . Now skimming through the decoded HTML, finding a pattern was little tricky, and gathering these raw pieces of data and forming meaning full information would be a hell lot difficult. The x-path would keep varying on few emails. Even regex failed to work in this situation, it wasn’t really reliable.

Thankfully I chose to use Python embedded on the C++ base of KDE Now. Python has a vast amount of library just to suit your needs.

Scrapely and Scrapy are two such packages which help me to breeze though the process of extracting valuable data based on a training data page and relatively scrape data from the freshly arrived emails.

KDE Now Online Shopping Module

Wed, 2017/01/04 - 8:34am

I found the KDE Now project on GSoC 2016 project list, as it was very similar to the concept of what we see on Google Now. I got very much interested in the way KDE Now was trying to mimic the functionalities, which is equally important and valuable for the desktop environments and is currently missing from any desktop environment.

As the project was part of GSoC, the required base platform for working of KDE Now works quite perfectly. The time when I found the project, few of the most essential plugins for the system has already been built.

  • Event Reservation
  • Flight Reservation
  • Hotel Reservation
  • Restaurant Reservation
  • Some thing was definitely missing which Google Now handles flawlessly – Online Shopping !!

So, here begins my journey trying to develop a  functional plugin, which will support multiple shopping websites, and give all the necessary details, which is completely useful to the user at a glance.

Cutelyst 1.2.0 released

Tue, 2017/01/03 - 1:33pm

Cutelyst the C++/Qt web framework has a new release.

  • Test coverage got some additions to avoid breaks in future.
  • Responses without content-length (chunked or close) are now handled properly.
  • StatusMessage plugin got new methods easier to use and has the first deprecated API too.
  • Engine class now has a struct with the request subclass should create, benchmarks showed this as a micro optimization but I’ve heard function with many arguments (as it was before) are bad on ARM so I guess this is the first optimization for ARM��
  • Chained dispatcher finally got a performance improvement, I didn’t benchmark it but it should be much faster now.
  • Increased the usage of lambdas when the called function was small/simple, for some reason they reduce the library size so I guess it’s a good thing…
  • Sql helper classes can now use QThread::objectName() which has the worker thread id as it’s name so writing thread safe code is easier.
  • WSGI got static-map and static-map2 options both work the same way as in uWSGI allowing you to serve static files without the need of uWSGI or a webserver.
  • WSGI got both auto-reload and touch-reload implemented, which help a lot on the development process.
  • Request::addressString() was added to make it easier to get the string representation of the client IP also removing the IPv6 prefix if IPv4 conversion succeeds.
  • Grantlee::View now exposes the Grantlee::Engine pointer so one can add filters to it (usefull for i18n)
  • Context got a locale() method to help dealing with translations
  • Cutelyst::Core got ~25k smaller
  • Some other small bug fixes and optimizations….

For 1.3.0 I hope WSGI module can deal with FastCGI and/or uwsgi protocols, as well as helper methods to deal with i18n. But a CMlyst release might come first��

Enjoy https://github.com/cutelyst/cutelyst/archive/r1.2.0.tar.gz


ALL CREATURES WELCOME – Funding a Documentary

Tue, 2017/01/03 - 10:58am

There is a documentary in the making about the hacker culture surrounding the Chaos Computer Club in Germany. The creators would like to make that movie without institutional funding to be free of any limitations imposed on by said institutions.

I helped funding the project several months ago and would like to see it succeed in releasing everything under Creative Commons. So if you like the basic idea, read more about it on the project’s website and rob your piggy bank. :)

Interview with Ismail Tarchoun

Tue, 2017/01/03 - 10:57am

Could you tell us something about yourself?

My name is Ismael. I’m a self-taught artist from Tunisia, but I now live and study in Germany.

Do you paint professionally, as a hobby artist, or both?

I’m now painting only as a hobby, it’s a really fun and stress relieving activity. But I might do some freelancing work in the future.

What genre(s) do you work in?

I usually paint portraits and manga-styled characters, but I paint other stuff as well. I always try to expand my horizon and learn new things.

Whose work inspires you most — who are your role models as an artist?

Well, there is a long list of artists who inspired me. For example: Kuvshinov-Ilya and Laovaan Kite, I really like their style and their work always looks great. David Revoy is also one of my favorite artists, I really like his art and his web comic.

How and when did you get to try digital painting for the first time?

I actually only started last summer (2016). Before that, I mainly drew pencil portraits, which was limiting in nature. After seeing some amazing digital paintings on the internet, I wanted to be able to draw like that, and so it was decided. I bought a Wacom intuos art and tried it. It needed some getting used to, but I eventually fell in love with the infinite range of possibilities digital painting offers.

What makes you choose digital over traditional painting?

Well, I still paint traditionally from time to time. But I like digital painting more now, since it offers more tools which help me achieve good results with minimal effort. I also love the Ctrl+z shortcut (I wish real life had that!) so I’m not worried about ruining my work, and I can make more daring decisions which allow me to express myself more freely.

How did you find out about Krita?

I actually learned about form Blender forums, some users there recommended it over Gimp as a painting program, so I tried it and fell in love with it.

What was your first impression?

I was amazed by the sheer amount of features it offered, and the user interface looked good (I like dark-themed programs). For free software it was great, it even has features Photoshop doesn’t have. So in general, I had a positive first impression.

What do you love about Krita?

I really love the various brushes and the way they’re rendered, they felt so organic, and like real brushes. I also like the non-destructive filters and transformations, that is pretty rare in free software, and it really encourages you to try new and different stuff, and if you don’t like it, you can change it later (more freedom with minimal consequences).

What do you think needs improvement in Krita? Is there anything that really annoys you?

There are some features I want to see in Krita, for example: a small preview window: it’s essential to get a feeling of the painting in general, otherwise it might turn out weird. I also wish Krita could import more brushes from other programs. But nothing is really that bothersome about Krita, there are some bugs, but they are constantly being fixed by the awesome devs.

What sets Krita apart from the other tools that you use?

Canvas tilting, rulers, transformation and filter layers, and the Multibrush also. Quite neat features.

If you had to pick one favourite of all your work done in Krita so far, what would it be, and why?

I think I’d choose the stylized portrait at the top of this interview, which doesn’t have a name (I really suck at naming things). It started as a simple painting exercise, but it ended up looking pretty good, or at least better than my previous works, which is a good sign of improvement. But I hope it doesn’t stay my favorite painting for long. In other words, I hope I’ll be able to put it to shame in the near future.

What techniques and brushes did you use in it?

First, I made a rough sketch, then I started laying in some general colors using a large soft brush (deevad 4a airbrush by David Revoy) without caring about the details, only basic colors and a basic idea of how the painting is lit. Then I started going into details using a smaller sized brush (deevad 1f draw brush). I usually paint new details in a separate layer, then merge it down if I’m happy with the results, if not I, I delete the layer and paint a new one. I use the liquify tool a lot to fix the proportions or any anomaly. For the hair I used the brush (deevad 2d flat old) and the hair brush (vb3BE by Vasco Alexander Basque) which I also used for the hat. When the painting is done I use filters to adjust the colors and contrast, I then make a new layer for final and minor tweaks here and there.

Where can people see more of your work?

You can find me on DeviantArt (not everything is made using Krita): http://tarchoun.deviantart.com/

Anything else you’d like to share?

I just hope that Krita will get even better in the future and more people start using it and appreciating it.

Summary of 2016

Sun, 2017/01/01 - 3:27pm

So, 2016 has been a great year to me. Interesting in many aspects, but most has turned out to be for the better. I’ve gotten to know a bunch of awesome new people, I spoken about open source, Qt and Linux in Europe and USA, I’ve helped hosting an open source conference in Gothenburg, I’ve learned so much more professionally and as a person, and I’ve really enjoyed myself the whole time.

2016 was the year that…

  • … myself and Jürgen where Qt Champions for our work with the qmlbook. It feels really great getting recognition for this work. I really want to take QML Book further – during 2016 both myself and Jürgen have been too busy to do a good job improving and extending the text.
  • … I had to opportunity to visit the Americas (Oregon and California) for the first time in my life. Felt really nice having been on another continent. Not it is only Africa and Australia left on the list :-)

  • … I picked up running and has run every week throughout the year, averaging almost 10km per week. This is the first year since we built out house and had kids (so 11 or 12 years) that I’ve maintained a training regime over a full year.
  • foss-gbg went from a small user group of 15-30 people meeting every month to something much larger. On May 26 the first foss-north took place. This is something some friends of mine and myself have discussed for years and when we finally dared to try it was a great success. We filled the venue with 110 guests and ten speakers and had a great day in the sunshine. In the events after foss-north, the local group, foss-gbg has attracted 40-60 people per meeting, so double the crowd.

  • Pelagicore, the start-up I joined in 2010 when we were only 6 employees, was acquired by Luxoft. We had grown to 50+ employees in the mean time and put Qt, Linux and open source on the automotive map. It has been a great journey and I feel that we being a part of something bigger lets us reach even further, so I’m really excited about this.

2017 will be the year that…

  • … I make more time for writing – on qmlbook, this blog and more.
  • … I improve my running and increase my average distance per run as well as distance per week.
  • foss-north will take place again. This time with double the audience and dual tracks for parts of the day. I will share more information as it develops. This time, the date to aim for is April 26. In the mean time, foss-gbg will have fewer, but larger, meetings.
  • … Qt, Linux and open source becomes the natural choice in automotive. I will do my best to help this turn out true!

Even as 2016 has been really good, I hope that 2017 will be even greater. I’m really looking forward to learning!

Elementary icons for kde

Sun, 2017/01/01 - 2:01pm

Dear users,

in my last post I’ll present two new icon themes La Capitaine and Papirus icon they are really sexy and work very well with Plasma and KDE Applications. As this two icon set’s are sort of monochrome icon set’s I’d like to resent you an non monochrome icon set like oxygen.

I’ll port the elementary icon set to KDE, as the elementary developers focus on there platform, I’ll make my first git repository where all the kde specific changes were done.

elementary-kde

Have fun with elementary-kde icons, you can grab them from the store.kde.org.

Next step: make plasma themes and look & feel packages for all the shiny icon set’s.


Discover more in 2017

Sat, 2016/12/31 - 12:34pm

With 2017 starting, we’re getting ready for the next Plasma 5.9 release and with it a new Discover release.

This will be a special release for two main reasons: further add-ons integration and Kirigami.

New Stuff

One thing pending for a long time was to actually better integrate the different parts of the system that can be integrated. To do so, Discover now will automatically import all knsrc files present on the system and offer them as categories.
We’ll be able to go beyond Plasmoids and Comics (!) and make it possible to explore: Plasma Look and Feel themes, cursors, icon themes, window manager add-ons and different application-specific resources.

This won’t have a big impact on Discover’s performance because the backend code was refactored to be able to have several backends loaded even without knowing all of the resources available. Queries are now asynchronous and parallel.

Discover KNS Addons
Kirigami

Kirigami was adopted in the previous release already, and this release will use Kirigami 2, the port to which did not require much work.

The most significant improvement is the inclusion of keyboard navigation, which was requested by several people and is now finally available. Do you hate it when you’re required to use the mouse? Rejoice!

Extra: Snappy support

It’s 2017, not all of the applications are coming from your distribution anymore. To start getting things in place for different software distribution sources I started working on a Snap backend, which allows us to manage applications coming from this system.
Some work will still be required and it won’t be included by default, since it doesn’t yet support AppStream (although we discussed it and it seems it will happen soon), but if you’re curious feel free to take a look and give your feedback!

Whew, what a year!

Sat, 2016/12/31 - 10:53am

This is not the place to present an opinion on all the other things that have happened in 2016, but when it comes to Krita, 2016 was perhaps the most intense year ever for the project. Let’s step back for a moment and do a bit of review!

Krita’s grown by leaps and bounds. We’ve got more users and more contributors than ever — and sometimes, we’re feeling the load!

To give just a small example: Krita is part of the KDE community. The KDE community also makes one of the most popular Linux desktops and a host of other applications. This year, users reported 2290 bugs for the desktop as a whole, and 1134 for Krita. The next biggest projects in terms of reported bugs are the video editor Kdenlive (701 new bugs) and the window manager kwin (674).  We resolved 1134 bugs, of which I personally closed 1052. Lots of bug reports doesn’t equal bad software; it equals very actively used software! And so it’s fair to say that Krita is the second biggers project in the KDE community…

Krita is not only actively used, but also very actively developed. There have been, on average, about 10 commits a day, and that excludes translations. In the past year, about fifty people have contributed to the codebase. We have one of the finest manuals of any free software project, and we could answer most questions on irc, the forum or reddit with just a link to the relevant page. And the manual is being translated as well!

As a project, we’re a long way from the old days when Krita was a free software alternative to application X on Linux; artists are choosing to use Krita on whichever platform they are because they want to use it. That’s great, but… Sometimes people bring assumptions that are unwarranted. I’ve had phone calls from the US from people needing help who thought they were contacting a professionally staffed help desk department. In general, many people think there’s a big company behind Krita, one with oodles of money. Nothing could be further from the truth: the income generated by the Krita Foundation, from donations or from sales of training dvd’s, is not enough to pay for even two full-time developers.

So, part of this year, I have been working on a 3 days a week freelance gig for a Dutch company called Quby. And three or four days a week for Krita. That was a bit much, and in June I suffered from a breakdown, from which I still have not fully recovered. That’s why we had fewer releases this year than we had intended. We wanted to release every six weeks, but we only have had four releases:

  • 2.9.11 on February 4th.
  • 3.0 on May 31th
  • 3.0.1 on September 6th
  • 3.1 on December 13th

The first release was the final one of the very succesful 2.9 series, the last version of Krita based on Qt 4, the last release where Krita was still part of the Calligra project. The 3.0 release marked the move to Qt 5, a standalone git repository, appimages for easy distribution on Linux, animation support, instant preview and much more. And with 3.1, we now officially support OSX (or macOS) as well!

Still, we’re a small team of mostly volutneers, we’re having fun, but sometimes we’re just overloaded with user requests, support requests and coding tasks, documentation writing, community management, bug triaging.We managed to round of another kickstarter, but the rewards are still in production. As is the artbook — which is going to look great, and which you can pre-order now!

Made with Krita 2016

But everything should be ready for sending out in January. But that’s already 2017! So, what will 2017 bring? We looked forward in detail before, so everyone will be aware of the coming of SVG support, improved vector tools, improved text tool and Python scripting. But Dmitry also added support for audio in animations in the past week — which will be in the next release, 3.1.2, scheduled for end of January. We’ll do regular bug fix releases, of course, and we’ll do at least one big feature release with the last 2015 and the 2016 kickstarter goals, as well as whatever else gets coded. And it’s not just coding: in 2017, we want to bring out another book, a Pepper and Carrot book!

And in 2017 we will need to do another big fundraiser. After a lot of discussion on the forum, we feel that instead of proposing new features, it might be time to go for consolidation, stabilization and polish. We’ve added so much stuff in the past couple of years — though we didn’t forget to fix lots of bugs, see above — that it’s time to take stock and invest into making Krita even more solid. And we hope that you all will support us in that effort, next year!

Yours,

Boudewijn Rempt

Project Maintainer

33C3: Works for me

Fri, 2016/12/30 - 12:26pm

Rocket ScienceRocket ScienceThe calm days between christmas and new year are best celebrated with your family (of choice), so I went to Hamburg where the 33rd edition of the Chaos Computer Congres opened the door to 12.000 hackers, civil rights activists, makers and people interested in privacy and computer security. The motto of this congres is “works for me” which is meant as a critical nudge towards developers who stop after technology works for them, while it should work for everyone. A demand for a change in attitude.

33C3's ballroom33C3’s ballroom
The congres is a huge gathering of people to share information, hack, talk and party, and the past days have been a blast. This congres strikes an excellent balance between high quality talks, interesting hacks and electronics and a laid back atmosphere, all almost around the clock. (Well, the official track stops around 2 a.m., but continues around half past eleven in the morning.) The schedule is really relaxed, which makes it possibly to party at night, and interrupt dancing for a quick presentation about colonizing intergalactic space — done by domain experts.

The conference also has a large unconference part, hacking spaces, and lounge areas, meaning that the setup is somewhere in between a technology conference, a large hack-fest and a techno party. Everything is filled to the brim with electronics and decorated nicely, and after a few days, the outside world simply starts to fade and “congres” becomes the new reality.

No Love for the U.S. Gov

I’ve attended a bunch of sessions on civil rights and cyber warfare, as well as more technical things. One presentation that touched me in particular was the story of Lauri Love, who is accused of stealing data from agencies including Federal Reserve, Nasa and FBI. This talk was presented by a civil rights activist from the Courage foundation, and two hackers from Anonymous and Lulzsec. While Love is a UK citizen, the US is demanding extradiction from the UK so they can prosecute him under US law (which is much stricter than the UK’s). This would create a precedent making it much easier for the US to essentially be able to prosecute citizens anywhere under US law.
What kind of technoparty^W congres is this?What kind of technoparty^W congres is this? This, combined with the US jail system poses a serious threat to Love. He wouldn’t be the first person to commit suicide under the pressure put on him by the US government agencies, who really seem to be playing hardball here. (Chelsea Manning, the whistleblower behind the videos of the baghdad airstrikes, in which US airforce killed innocent citizens carelessly, among others) who suffered from mental health issues, was put into solitary confinement, instead of receiving health care. Against that background, the UK would send one of their own citizens into a jail that doesn’t even respect basic human rights. On particularly touching moment was when the brother of Aaron Swartz took the microphone and appealed to the people who asked how they could prevent another Aaron, that helping Lauri (and Chelsea) is the way to help out, and that’s where the energy should be put. Very moving.

The media team at this event is recording most of the sessions, so if you have some time to spare, head over to media.ccc.de and get your fix. See you at 34C3!

Business model as a variable to consider when choosing Open Source software.

Thu, 2016/12/29 - 11:14pm


A couple of weeks ago I gave a talk at an Open Source event for professionals. A senior developer asked me a question that got my attention. It was something like...

So do you recommend to consider the business model when choosing a particular piece of Open Source software, beyond the license?

My answered was something like...

In general yes, specially when that piece of software is core to your product/business and definitely in cases where you distribute/sell it to customers.
 
Thinking about it later and reviewing some of my talks and posts, I thought it would be interesting to develop that answer a little further.


Key questions


Any analytic report about who writes the code in open and collaborative environments will reflect how corporations involvement is increasing in Open Source software development at every level. More and more companies are transitioning from becoming FLOSS consumers to producers and almost every new software company out there has Open Source as a core strategy or even as part of their DNA.

But who is sustaining the development of that key piece of software that will be a core part of your future product? Who pays those developers? Why? How does the key stakeholders benefit from the outcome of the ecosystem and the software they produce? How much do they invest in the production of that software? For how long? How do they get their income? What is the relevance of the software produced by the ecosystem they feed in their business models?

These and similar basic questions need to be fully understood before a specific software becomes part of your key product or business. Knowing the answers to the above questions might not prevent you from surprises in the future but at least can prepare you for the potential consequences. What it is clear to me is that these answers are becoming more complicated to find and understand over time, specially for those companies who do not have a strong background on Open Source.

Choosing a specific piece of software based on purely technical variables or even present healthiness of the community around the project/organization, expectations of the number of contributors or impact in general might not be enough any more. A specific community or project will become "your provider" so the business model behind it is equally important.


Examples


You might base your new product on a technology produced by a company that is heavily investing on it but that has no clear associated business model. It might be for instance a service company and the software might not be core to their services since it has no significant impact in their income. This might not be your case so you can end up relaying on a provider that do not have "your use case" as a critical one, no matter how big you are and how profitable your business could be.

Think about the case when your product relies on a technology that is disruptive but sustained by a start-up or a company that is not profitable yet. Engineers might be extremely excited about this new technology for good reasons, the community around it might be on fire at the point when you are analyzing it, but the future of the business might be unclear due to, for example, the inexperience of the executives leading the project, the market they are playing on or the strategy of the investors supporting it.

A well established project has suffered a fork, attracting the core developers. Very soon a boost of energy is noticeable in the development front, which leads to an increase in the number of contributors. They gain customers rapidly but it is unclear if they have a solid business case to sustain the development effort with the current growth in the short term.

The above three cases and many others out there show that, although there is no question that published Open Source software development represent an advantage compared to proprietary when it comes to sustainability, that doesn't mean it is at no cost. This is specially true when safety critical and/or long term support are essential variables for you. 

Sometimes choosing a technology/project with a business model more aligned to yours could work better than choosing the leading or hot technology/project. In other cases, going for a more conservative but solid/veteran project might be the right choice. In some others, assuming risks can be the best choice.


Key considerations


I believe that for any organization, moving from being a good Open Source citizen to becoming an Open Source company also means that:
  • You evaluate the business models around the organizations/projects that produce the software you contribute to and/or consume. This requires involvement of business related professionals in key decisions related with selecting Open Source software.
  • A key part of your sustainability effort is to create feedback loops with your providers also at a business level, contributing to their sustainability as Open Source project but also as organization, specially when you are bigger/stronger than they are. Ideally, your business model should be compatible with those from your providers so your success has a positive impact on theirs.
  • You put in place mitigation actions to reduce the risk of severe changes in your key Open Source software providers situation that in the worst scenario, might compromise the future of your product or even company.

Conclusions


The fact that Open Source is done in a collaborative way might reduce sustainability risks in most cases compared to proprietary business models. But the nature and complexity (dependencies) of many Open Source ecosystems introduces new risks that requires to consider variables beyond the technical or community aspects.

This is why it is so important to choose carefully which FLOSS software you will use, produce and contribute to, looking at the business models supporting the selected project/technology stakeholders.

As a company, you will not control any more the relation with your FOSS providers as you used to. Open Source has changed the nature of that relation, that goes beyond the license or any further contract. To take advantage of this new reality, you will need to adapt.


Final reminder


Open Source is also about providing more control to creators. If you want keep similar levels of control that you had in the proprietary world, contracts will not be enough anymore. You will need to write the code yourself, which means, become upstream.

And the smartest way to achieve sustainability writing code is through collaboration.

KDE Frameworks and Plasma on FreeBSD

Thu, 2016/12/29 - 10:48pm

It’s been quiet from the KDE-FreeBSD folks for a bit, but not because it’s actually been quiet. Tobias has been on a roll, and Dima has started doing stuff again, and Gleb is still watching over some ports, and Raphael is hovering over it all with good advice. So here’s some bits and pieces:

Some time ago I mentioned a branded wallpaper for FreeBSD, based off of the Flying Konqui wallpaper — which in turn I had mentioned in February. Anyway, here’s a screenshot of the if-it’s-up-to-me default wallpaper for Plasma 5 on FreeBSD. It’s running in VirtualBox, which is why KInfoCenter reports an interesting resolution (KInfoCenter has also been expanded with a lot better data on FreeBSD hosts, so that it reports sensible memory use, and sensible disk usage).

shot6a

On the official ports front, KDE Frameworks 5 have landed. All except Wayland — which requires a Wayland port to build against, and that is currently in the almost-but-not-quite state from the FreeBSD graphics developers — and Bluez — which is just hopeless with the FreeBSD bluetooth stack. So that layer of the stack is now complete, and we follow KDE Frameworks releases closely.

Next bits, like a Plasma 5 Desktop, are lined up in the plasma5/ branch in area51, and there’s some work being done in FreeBSD Phabricator, but don’t hold your breath.

In the mean time, we’re also pushing things upstream (i.e. into KDE itself) a little more often. Also through Phabricator — KDE Phab this time. So every now and then I end up with tasks or reviews in the one system that belongs in the other, oh well. Generally I really like the workflow with Phab. Certainly now I’ve found the “add reviewer” button. I’ll give the Krusader folks a shout-out for dealing really quickly with issues raised through Phab, and Dima thanks for the original patches.

So all in all: KDE Plasma 5 Desktop is moving along, with two layers of the software stack to go before there’s an official modern-KDE-desktop available on FreeBSD; one layer is already available for modern-Qt-based-applications. KDE4 is receiving some attention as well — I see there’s a KDevelop 4 release I should chase down.

KDevelop 5.1 Beta 1 Available

Wed, 2016/12/28 - 11:35pm

KDevelop 5.1 Beta 1 Available

We are happy to announce the release of KDevelop 5.1 Beta!

Tons of new stuff entered KDevelop 5.1, a bigger blog post show-casing all the features in 5.1 will follow when we release the final version. Here's a brief summary of what's new in this version:

LLDB support

This year we had a great student for GSoC implementing LLDB support in KDevelop. The end result is that we now have a debugger framework which can be used both for the GDB & LLDB MI communcation. The LLDB plugin teaches KDevelop to talk to the standalone LLDB MI Driver (lldb-mi); so now it's possible to use LLDB as an alternative debugger backend for KDevelop.

One interesting thing with LLDB that it's also potentially useful on OS X & Windows for us, especially when the Windows port of LLDB is getting more and more stable.

Analyzer run mode

With 5.1, KDevelop got a new menu entry Analyzer which features a set of actions to work with analyzer-like plugins. During the last months, we merged analyzer plugins into kdevelop.git which are now shipped to you out of the box:

Cppcheck

Cppcheck is a well-known static analysis tool for C/C++ code. Cppcheck is useful for taking a closer look at your source code checking for common programming faults such as out of bounds accesses, memory leaks, null pointer dereferences, uninitialized variables, etc. pp. With the Cppcheck integration in KDevelop running the cppcheck executable is just one click away. KDevelop will pass the correct parameters to cppcheck including potential include paths and other options.

Other analyzers in the pipeline: Valgrind, clang-tidy, krazy2

While the Cppcheck plugin is shipped out of the box, other analyzers are not considered 100% stable yet and still reside in their own repositories. The clang-tidy plugin looks super promising (another static analysis & refactoring tool for C/C++) as it really easy to use from the command-line and thus easy to integrate into our IDE.

We plan to import more of those analyzers into kdevelop.git so they'll be part of the kdevelop tarball and are thus available to you without having to install yet another package.

Perforce integration

Thanks to Morten Danielsen Volden we now have Perforce integration in kdevplatform.git, which can be used freely starting with KDevelop 5.1. Perforce is a commercial, proprietary revision control system. The Perforce integration in KDevelop simply works by running a local version of the p4 executable (needs to be installed independently of KDevelop) with appropriate parameters. This is similar to how KDevelop integrates with other VCS, such as Git & Bazaar.

kfunk Thu, 12/29/2016 - 00:35
Category

Season of KDE

Wed, 2016/12/28 - 8:00am

Part 1 - December, is near to its end and 2017 is finally coming. The last month was hectic though. I had my semester exams in the first half of the month and I didn’t get much time in between to concentrate on my project. But the later half was quite productive. Half...

Peruse 1.2 "The Winter Wonderland Release"

Wed, 2016/12/28 - 6:00am
My sister, with a cup of gløgg and some
æbleskiver, reading Wasteland Mutants in Peruse.Today marks a very interesting day: Near enough to six months after its initial release, this will be the final release (minus any potential minor revision work) of the 1.x series of the comic book reader Peruse.

Why is it the final release, you say? Well, easy - there will be a 2.x series, which will be based upon Kirigami 2, and further have a bunch of new features and behavioural changes which all together makes it sensible to make a big version number change. So, no, this is not the final release of Peruse itself, only the 1.x series - rest assured that there is a very bright future indeed for your favourite comic book reader built by and powered by the KDE community!

Where can I get it?!Don't want to wait? Well, certainly, don't let me stop you! Hop right over to the Peruse website and grab yourself a copy of whichever version best matches your needs.
What's in this?
While you wait for your download, let's have a look at what you can find in this shiny, new version of Peruse. The same features you found in 1.1 are still there, of course: CBZ, PDF and ePub support, alongside a few other less common ones. A handy continue-where-you-left-off feature with support for multiple books. A collection system with filtering options based on author, title, folder structure and so on. Full screen mode, with both touch and keyboard controls. All that stuff you already know.

As for new things, however, we have done some major overhauling of the PDF and ePub support, which is now considerably more solid, with less glitchy rendering and a more usable view. Still based on Okular, but using a more Peruse-like navigation system, which makes the whole thing feel more at home.

A whole bunch of little annoyances have been ironed out as well, and using Peruse is now more pleasant as a result. Things like using a more natural title for title-less comic book archives, and supporting basic ACBF information will come in handy when browsing your collection, and when reading.

What about shinies?This version is not all just cleaning and polishing, you also have a preview of things to come: There is now a (very basic) shop, which you can find in the sidebar with the title "Get Hot New Books", which is by no means the final name, and is more alluding to the name of the technology underneath. Clicking on this entry will let you download and read comics from the share.krita.org comic section, which is currently quite low on content - something which the second thing being previewed in this version might help with.

Peruse Creator is a partner application to Peruse Reader, designed to allow the many creative people out there to easily produce comic book archives, for use not only with Peruse, but with any other comic book readers out there. The version shipped with this release is an initial, basic version, a sort of proof of concept. Even then, it already has support for creating comic book archives with ACBF information embedded, including not only titles and other basic information like that, but also genres and the like. Important to note is that comic book archives made using Peruse Creator will, even though they have ACBF information embedded, work just fine with applications which do not support this: They will simply not have the information available, and really just work like any other cbz file you might come across.
What's next?
Bear with me as I go slightly fluffy for a moment: The next step for Peruse is to close the cycle between creation and consumption. We want to make it as easy for the readers and the makers to achieve their goals, which here is, of course, to let the readers read the things the makers make. This is not simply a case of creating a store that people can put things on and get things from, it is about creating the tools which allow the readers to read the content they want to read, in the most comfortable manner possible, and for the makers to make the content they want to make, in the most comfortable manner possible. That all sounds nice and logical, right? But, what, more precisely, does it mean?

For the readers, it means creating a place where they can get that content, the store which is previewed in this version. The version in Peruse now is extremely simple, and really, it would be great to hear what you all want out of it. We have ideas of our own, like showing you what's next in a series where you have downloaded and completed reading a book, and there are more books available on the store. And to show various categories and the like in the store, to let you find things you want to read. Most of all, though, we want to hear what you want to be able to do.

For the makers, it means letting you create comics not only comfortably, but efficiently as well. The creation tool is currently simplistic, but we want to support all the features that ACBF allows for, to allow our makers to make comics which can do things they could not do on paper alone, such as frame based navigation instead of simply page-by-page navigation. Again, we want to hear from you what you want to be able to do.

We in this case are myself and the KDE Visual Design Group, and we would absolutely welcome input from everybody out there, because you are the people we want to be able to make happy. So please, get in touch and we will greatly enjoy listening to your amazing ideas, so we can create the best Peruse possible.
The word of the day is: Boiler. Because we are having a new one installed right now. Have been without heating for over a week now, so getting that sorted is nice ;)

CyanogenMod, LineageOS and Plasma Mobile

Wed, 2016/12/28 - 12:00am

We are at almost end of 2016, unfortunately 2016 also took away great project with it, Cyanogenmod. However there is fork named LineageOS in pipeline. Given we switched our android base to CyanogenMod earlier, lots of people asked me how this will affect Plasma Mobile?

We used CyanogenMod source tree and kernel for generating minimal android system which is used in hammerhead port. All of them are available on github currently. However it is not clear that upto when it will be available and will receive updates given code review system (gerrit) for CyanogenMod is offline. At this point we have two options,

  • Switch to LineageOS, given it is 1:1 fork of CyanogenMod currently it will not require much work.
  • Switch to AOSP base, given we don’t really use the “extra” things provided by CM on top of AOSP.

While option 2 might sound big work, it in fact is not. For instance, in Nexus 5X (bullhead) port, underlying system is AOSP based instead of the CyanogenMod to simplify the things. Personally I had low priority task on phabricator for longterm to switch to AOSP base, but based on current situation this will need to be done with higher priority than earlier. :-(

That’s all for now, I hope this clarifies situation..

Qt Configuration Code Generation

Tue, 2016/12/27 - 3:29pm

I just finished a a simple configuration parser for QSettings based projects

We know that QSettings works nicely but we have a problem with runtime errors as it’s impossible for QSettings to know if you wanna use the “locale” or the “Iocale”, it’s really easy to commit mistakes using string based key-value pairs. Also it’s hard to know when a value is being saved on disk for the first time or being loaded, as QSettings tends to make those thigns not explicit. It’s a stripped down, thinner and less verbose approach to KConfigXT using QSettings as backend.

The parser acts on a Configuration file and generates correct C++ / Qt source code that can be directly imported into your project, making the usage of QSettings much safer, as it’s

– Compile Time Safe (you will get errors if you did something wrong on the configuration file)
– Run time safe (you will get errors if yo pass invalid types to the settings)
– Not possible to have typos on keys anymore
– supports Enums natively (while QSettings doesn’t)

On the configuration file, Each level of brackets opens a new configuration group,
and normal c++ objects can be used if QSettings supports them, you can also specify default values
and use includes and enums:

#include <QString> Preferences { MainWindow { QSize size QString title } Network { Proxy { QString port QString address } QString username = "untitled" } }

this example will create Preferences, MainWindow and Network classes ( I probably should add them into a namespace),
while the Preferences is a singleton, and have all it’s children. you can invoke like this:

Preferences::self()->mainWindow()->title(); Preferences::self()->network()->proxy()->port();

every configuration has a Changed signal, just like QML, and you can connect on them easily:

connect(Preferences::self()->mainWindow(), &MainWindow::titleChanged, [](const QString& s) { qCDebug(test) << "Title Changed to" << s; })

The code is currently in https://github.com/tcanabrava/configuration-parser and I plan to move it to KDE Repos if I get enought love, or pehaps to Qt itself.
Please remember that this is a *very early* code, and so, it may eat your kitten.

new Icons for KDE

Sun, 2016/12/25 - 9:54pm

Ok the icon set’s are not new, but they were started as gnome icon set’s and now they fit’s perfect the KDE desktop. So remove breeze-icons and install the two awesome icon set’s

both icon set’s are available with system settings -> Icons -> Get new Theme. The icon sets are well maintained and the designers are very welcome in help and KDE support. Thanks a lot. Don’t forget to vote in the store.

la-capitaine-2 papirus-2

I know breeze icon awesome but we have users with different taste so eat what you like not what you get. If somebody know an awesome icon theme and need kde support, let me know, I’m always happy if I can help. For the not monochrome icon theme fans I’m working on elementary-kde icon extension and I hope I can review oxygen.

 


Pages