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

Clang-Tidy, part 1: Modernize your source code using C++11/C++14

Thu, 2017/03/16 - 9:00am

This blog series will introduce the clang-tidy utility from the Clang/LLVM project and show how to use it to automatically refactor C++ source code and integrate with your build system, as well as how to use the tool on other platforms than Unices.

Motivation: The joy of legacy code bases

C++11 added a significant amount of new C++ language features which to date still aren’t used to their full extent. The most visual ones are for sure auto, override…

The post Clang-Tidy, part 1: Modernize your source code using C++11/C++14 appeared first on KDAB.

Almost perfect HiDPI experience on Linux (Xorg)

Thu, 2017/03/16 - 12:00am

Awesome HiDPI on Xorg

In 2013 I bought a Macbook Pro 13” which came with a HiDPI display (also known as retina display). Already back then the support for a single HiDPI display was quite alright with KDE4 and a few tweaks here and there. Months later Qt5 got native HiDPI support and most applications switched from GTK2 to GTK3 and finally the outliers (chromium based apps, godot, arduino…) got support for higher DPIs as well.

This would have meant perfect support for HiDPI on linux already in 2015 or so but we are missing one important thing which is supporting both HiDPI and normal DPI screens at the same time. In order to support HiDPI screens applications need to render themselves bigger than they used to, how much bigger depends on the screen pixel density which, for example, in the case of my laptop is from 1.75 to 2 times bigger.

This means that applications rendered for HiDPI look huge on normal screens:

HiDPI File dialog on regular screen

Open dialog looking huge

Scaled HiDPI File dialog on regular screen

Open dialog looking ok

Here is where the internet seems to tell you that there is nothing to do but wait until Wayland arrives and saves us all (I can’t wait for that btw) but that’s actually not true, X can do it.

XRandR allows us to apply transformations on the outputs, like for example rotation, and it also allows us to scale the screens. Scaling the screens means that X will virtually increase the amount of pixels available in the display and automatically adapt the final image size to the actual output resolution. For example:

If a 2x2 scale transformation is applied to a 1920x1080 screen it will be seen as a 3840x2160 screen by the applications but X will magically cut that in half before sending the image to the monitor. So we have effectively turned our normal density screen into HiDPI.

This is an example of how the xrandr command line looks like:

xrandr --output eDP1 --auto --output DP1 --auto --scale 2x2 --right-of eDP1

This will set DP1 to the default mode, scale it by 2 and place it at the right of the HiDPI laptop screen (eDP1).

Wow! Awesome! This is so cool! Why is everybody not doing this? Where is the catch?
Mostly because of one bug:
https://bugs.freedesktop.org/show_bug.cgi?id=39949

If you read through the bug entry you will find a patch created by Chris Wilson in 2014 which is shipped by default in some distributions but it has never been integrated into master.

If your distribution doesn’t ship with this patch by default (good for them!) you can build your own xorg-server, the patch should apply until 1.18 and for 1.19 you have a ported version here.

Although with this patch the experience is already way better since the applications will look correctly on all screens Qt has a few bugs that will create weird glitches specially by placing windows where they don’t belong.

Drunk comboboxes
Shy tooltips
Jumpy Drag And Drop


I have been working on 3 patches that solve most of these at least in my day to day use.

These two still need to be reviewed and might not get accepted:
https://codereview.qt-project.org/#/c/182207/
https://codereview.qt-project.org/#/c/182392/

This one seems to be on track to be merged (Drag and Drop):
https://codereview.qt-project.org/#/c/182391/

With all this patches the HiDPI experience in any modern Linux distro is as good as in macOS and the best part is that we do not have to wait until Wayland.

The Opening of the First KDE Slimbook

Wed, 2017/03/15 - 6:05pm

Fresh off the production line from 101’s factory in Vanencia is the first KDE Slimbook which I opened today at FLOSS UK conference here in Manchester.  Watch the live demo unveiling.

Facebooktwittergoogle_pluslinkedinby feather

Mycroft Plasmoid Gets An Update

Wed, 2017/03/15 - 6:39am
 Introducing Mycroft and The Mycroft Plasmoid For Those Who Don’t Already Know

Mycroft is your own Open Source personal digital assistant you can use your voice or the keyboard to ask questions (“what’s the weather in Tokyo? / Calculate Pi to 50 Digits”), set reminders, launch apps and even search your plasma desktop for files and recent documents, you could also start using mycroft  for shouting instructions like “Create a new activity” or “Lock this computer” or “Switch Users” or “Send an SMS”  at your computer on a regular basis.. The Mycroft Plasmoid is the GUI front-end for Mycroft on the Plasma Desktop.

Moving On..Updates !

The past few weeks have been busy with Mycroft Plasmoid getting a GUI face-lift to adding some nifty features and myself attending the KDE India Conference where I got the opportunity to meet all the awesome FOSS & KDE Community People and present my progress on Mycroft Ai’s desktop integration.

Update 1: New User Interface

Some of you might have come across a video of the previous plasmoid design sometime in the past months, that design has been shelved and retired. The new GUI face-lift should make the Mycroft Plasmoid feel more at home on the Plasma Desktop and even match up your custom theme and color schemes.

Update 2: Visual Feedback for When Mycroft Is Listening

Talking to your computer feels new and unfamiliar. Shouting at it even more so..This unfamiliar feeling requires visual stimulation much like how two individuals would talk where the listener would acknowledge visually they are hearing you out so with this update I’d like to introduce visual feedbacks at every step of the way so you know when Mycroft is listening and responding and even working in the background.

P.S: Mycroft is not difficult to call upon Mycroft should start listening to you once you say the magic wake words “Hey Mycroft” followed by your questions.

Update 3:  Suggestions

Suggestions! Suggestions! So at some point you might run out of things to talk to your computer about or you might like to ask it similar questions. This is where the concept of Suggestions comes to play, The new update introduces random suggestions to the users based on their question input picked up from a category list matching the closest keywords.

Your Feedback Is Important, So Try it Out !

Your opinion is very important, this is some real early work and it does not come bug free.  If you would like to get involved  and help out in improving the Mycroft on the Desktop experience start with trying out Mycroft and the Plasmoid on your Desktop Today !

Install Instructions: https://cgit.kde.org/plasma-mycroft.git/tree/Readme.md
More information on Mycroft: https://mycroft.ai

Chakra 2017.03 "Goedel" released

Tue, 2017/03/14 - 9:24pm


We are excited to announce the first Chakra release of 2017, codenamed Goedel, to honor the logician, mathematician and philosopher Kurt Goedel.

The 2017.03 release introduces two noteworthy changes:

- The installer, Calamares, has been updated to version 3.0.1.91. As a result, users are now able to install Chakra on btrfs and LUKS encrypted partitions. Calamares has received lots of partitioning enhancements and bug fixes since our previous ISO release and the installation process should be smoother than ever.
- Our homegrown Heritage theme for Plasma got a refreshing facelift that we hope you will enjoy.

This release also offers an updated snapshot of packages already available in our repositories:

KDE Software

  • Plasma 5.9.2
  • Frameworks 5.31
  • Applications 16.12.2
  • Calligra 2.9.11

    Core Packages
  • linux 4.8.6
  • xorg-server 1.17.4
  • systemd 231
  • qt5 5.7.1
  • qt 4.8.7
  • sddm 0.14.0

    Drivers
  • xf86-video-nouveau 1.0.12
  • xf86-video-ati 7.7.0
  • xf86-video-intel 2.99.917+722+g714052f
  • mesa 13.0.2
  • nvidia 370.28 (plus 340.98, 304.132)
  • catalyst 15.9

    We would like to remind you that:
    - Chakra implements a half-rolling release model for the repositories, where all applications and KDE software fully roll. So expect newer versions of many of the above packages on your first update after installation.
    - Current Chakra users do not need to perform a new installation, updating your current installation will always provide you with all the latest versions of all our packages.

    We take this opportunity to thank everyone that has contributed to the Goedel release, we greatly appreciate all your feedback and support in making Chakra a better and more reliable distribution!
    This testing cycle was one of the most extensive in Chakra's history and took more than 4 months. However, some bugs are expected due to the many changes and new features introduced, so please take the time to report them on our issue tracker.

    Have in mind:
  • To create reliable installation media, it is important to follow the wiki instructions.
  • Make sure to have an active internet connection before starting the installation, otherwise the installer could fail.
  • The Calamares installer does not yet support RAID and LVM installations.
  • There are limitations in detecting hybrid cards. So even if you choose to boot in non-free mode, you will still be using the free drivers. To workaround this install using the free drivers and then switch manually. For Nvidia cards, you can install Bumbleebe.
  • digiKam 5.5.0 is released

    Tue, 2017/03/14 - 8:24am

    digiKam-5.5.0

    Dear digiKam fans and users,

    Following the 5th release 5.4.0 published in January 2017, the digiKam team is proud to announce the new release 5.5.0 of digiKam Software Collection. As 5.4.0, this version introduces again several improvements in database interface.

    read more

    Kubuntu Podcast 21

    Mon, 2017/03/13 - 9:37pm

    Show Audio Feeds

    MP3: http://feeds.feedburner.com/KubuntuPodcast-mp3

    OGG: http://feeds.feedburner.com/KubuntuPodcast-ogg

    Pocket Casts links

    pc_icon_full OGG

    pc_icon_full MP3

    Show Hosts

    Ovidiu-Florin Bogdan

    Rick Timmis

    Aaron Honeycutt (Video/Audio Podcast Production)

    Intro

    What have we (the hosts) been doing ?

    • Aaron
    • Rick
      • Fixing my Podcast Studio workstation.
      • I started learning to Speak Spanish
      • I got told off at work for my Ring Tone.
    • Ovidiu
      • Out protesting
      • Revised the Facebook Terms (quit facebook for a week)
    Sponsor: Big Blue Button

    Big Blue Button logo

    Those of you that have attended the Kubuntu parties, will have seen our Big Blue Button conference and online education service.

    Video, Audio, Presentation, Screenshare and whiteboard tools.

    We are very grateful to Fred Dixon and the team at BigBlueButton.org go check out their project.

    Kubuntu News Elevator Picks

    Identify, install and review one app each from the Discover software center and do a short screen demo and review.

    • Rick – Updates on using Gqrx, and Klog for Software Defined Radio ( I’m Excited )
    In Focus
    • A converged Kubuntu Device
    Sponsor: Linode

    Linode-logo

    Linode, an awesome VPS with super fast SSD’s, Data connections, and top notch support. We have worked out a sponsorship for a server to build packages quicker and get to our users faster.

    Instantly deploy and get a Linode Cloud Server up and running in seconds with your choice of Linux distro, resources, and node location.

    • SSD Storage
    • 40Gbit Network
    • Intel E5 Processors

    BIG SHOUT OUT to Linode for working with us!

    Kubuntu Developer Feedback
    • Kubuntu moves to Phabricator, some helpful persuasion from Harald.
      Great opportunity to deprecate old documentation, and
      https://phabricator.kde.org/project/profile/214/
    • New updates coming in Zesty – Big “Muchos Cosa Beunas” for Rik Mills
    • Frameworks 5.30
    • Plasma 5.9
    Sponsor: Bytemark

    Bytemark was founded with a simple mission: reliable, UK hosting. Co-founders Matthew Bloch & Peter Taphouse, both engineers by nature built the business from the ground up.

    Today, they lead a team of 31 staff who operate Bytemark’s own data centre in York, monitor its 10Gbps national network and deliver 24/7 support to clients of all sizes. Brands hosted on Bytemark’s network include the Royal College of Art, data.gov.uk and DVLA Auctions, and of course Kubuntu.

    Drop by their website, and get Started with a free month of cloud hosting!

    http://www.bytemark.co.uk/r/kubuntu

    Contact Us

    How to contact the Kubuntu Team:

    How to contact the Kubuntu Podcast Team:

    New life in Simon speech recognition

    Mon, 2017/03/13 - 7:14pm
    KDE Project:

    As my blog as FSFE Fellow No. 1 is temporarily not aggregated on planet.kde.org and my private blog about woodwork (German only) currently only tells about a wooden staircase (but soon again about wooden jewelry) I'm building I found a new place for my KDE (non-Randa) related stuff: KDE Blogs. Thanks to the KDE Sysadmin team for the quick setup!

    Since the beginning of this year there is some new activity about and around the Simon speech recogition. We had several weekly IRC meeting (Logs: W02, W03, W04, W05, W06, W07 and W08) and there is a workboard with tasks. Our plan for the near future is it to release a last Kdelibs4 and Qt4 based version of Simon. Afterwards we focus on the KDE Frameworks 5 and Qt5 port and then we might have time and work power to look at new feature development like e.g. Lera or the integration of the Kaldi speech recognition framework. But there is parallel work as well like creating Scenarios, working on speech (acustic) and language models and document all this.

    So to reach this first goal of a last kdelibs4/Qt4 based version of Simon (the last stable release of Simon happened back in 2013 and there are some commits waiting to be released) we need your help. Would you like to work on documentation checking, compiling first Alpha versions of the new release or just writing about Simon or showcasing it in videos then please get in contact with is via email, IRC (#kde-accessibility on freenode.net) or the KDE Forums

    And if you'd like to start right away you'll find us tomorrow (Tuesday, 14th of March) at 10pm (CEST) in #kde-accessibility on freenode.net. Looking forward to meeting you!

    PS: Something different and how times change: Just bought a dishwasher and got a printed copy of the GNU GPL ;-).

    Cutelyst 1.5.0 released, I18N and HTTPS built-in

    Mon, 2017/03/13 - 6:20pm

    Cutelyst the C++/Qt web framework just got a new stable release.

    Right after last release Matthias Fehring made another important contribution adding support for internationalization in Cutelyst, you can now have your Grantlee templates properly translated depending on user setting.

    Then on IRC an user asked if Cutelyst-WSGI had HTTPS support, which it didn’t, you could enable HTTPS (as I do) using NGINX in front of your application or using uwsgi, but of course having that build-in Cutelyst-WSGI is a lot more convenient especially since his use would be for embedded devices.

    Cutelyst-WSGI also got support for –umask, –pidfile, –pidfile2 and –stop that will send a signal to stop the instance based on the pidfile provided, better documentation. Fixes for respawning and cheaping workers, and since I have it now on production of all my web applications FastCGI got some critical fixes.

    The cutelyst command was updated to use WSGI library to work on Windows and OSX without requiring uwsgi, making development easier.

    www.cutelyst.org got Cutelyst logo, and an updated CMlyst version, though the site still looks ugly…

    Download here: https://github.com/cutelyst/cutelyst/archive/v1.5.0.tar.gz

    Have fun!


    Why Codethink is a founding member of the Civil Infrastructure Platform, a Linux Foundation initiative

    Mon, 2017/03/13 - 2:50pm

    This blogpost was originally published on the Codethink website on Thursday March 9th.


    On April 4th 2016 a new Linux Foundation initiative called the Civil Infrastructure Platform was announced. CIP aims to share efforts around building a Linux-based commodity platform for industrial grade products that need to be maintained for anything between 25 and 50 years - in some cases even longer. Codethink is one of the founding members.

    Industrial grade use cases

    In order to describe why this initiative is relevant let me go over the use cases that motivate companies like Siemens, Toshiba, Hitachi, and Renesas to share efforts.
    During the Open Source Leadership Summit, Noriaki Fukuyasu (Linux Foundation) and myself, based on the experience of Siemens, Hitachi and Toshiba, described the development life cycle in industrial grade use cases. For example, a railway management system is as follows:
    • Analysis + design + development: 3 - 6 years
    • Customizations and extensions: 2 - 4 years
    • The certification process and other authorizations take a year.
    • Each new release or update has to go through further certifications and authorizations that take between 3 and 6 months.
    • The system is expected to work for between 25 and 50 years.
    So on average, an industrial grade product might take 5 to 7 years from conception to deployment. This is coherent with our experience in other industries like automotive, where life cycles are also quite long despite the expected lifetime being shorter.

    A key part of the life cycle is maintenance. Due to its length, the associated risks are high. The certification processes to introduce significant changes in any already deployed systems are painful and expensive. In addition, the capacity to simulate a production environment is, in general, limited. This is true in other cases like energy production plans, for instance.
    Open Source principles in the Civil Infrastructure industry
    It’s obvious that Open Source could have a dramatic impact in this industry. By sharing efforts, corporations can commoditise a significant portion of the base system focusing on differentiation factors, increasing control through transparency and the quality of that starting point over time. Collaboration with upstream will bring even higher impact benefits.
    Two immediate challenges come to mind when thinking about Open Source in this industry:
    • Development of processes and practices to produce software for safety critical environments.
    • Bridging the gap between the Open Source approach for software maintenance and the approach currently taken when building large-scale platform projects. For instance, how can approaches oriented to update any specific Open Source software component to the latest upstream stable version be compatible with any typical industry SDLC?
    Can you reduce the gap?
    We have for years been working on transformation projects for which one of the goals has been to reduce the gap between the software our customers ship and what upstream is continuously releasing. One of the key steps is to adapt an organisation’s processes using FOSS tools. Over the years we have been a strong advocate that the closer to upstream you are, the more benefits you reap from the Open Source development model, maintenance cost reductions being one of the main advantages.
    So why did we get involved in an initiative that aims to maintain a kernel for 25 years then?
    The short answer would be... because we love a challenge!

    Safety critical with Linux-based systems is a challenge currently being faced in the automotive industry for instance, where Codethink is a strong player. When we analysed some of the industrial-grade use cases, it called our attention not just to the magnitude of the second challenge enumerated above, related with super long term maintenance, but also the apparent conflict between the industry requirements and the referred well known Open Source practices.

    Hence the main driver for an Open Source consultancy like Codethink in participating in an initiative like CIP is to learn by doing, that is, putting the Open Source development, delivery and maintenance best practices under stress in one of the toughest environments. We bring our experience in producing embedded Linux based systems and our Open Source culture, to work together with industry leaders in finding solutions to these challenges, by looking at them with FOSS eyes.
    Current activities Codethink is participating in CIP in several capacities, the most relevant being:

    Kernel maintenance
    The first CIP approved kernel is 4.4, an LTS kernel supported until Feb 2018. Ben Hutchings is the initial CIP kernel maintainer. Besides providing support for the reference platforms, Ben is working on several activities like backporting the security patches, such as those from the KSPP and consolidating the maintenance policies, taking those from the kernel community as reference.

    Testing tooling

    kernelci.org is the most successful testing project in Open Source. Its impact in the kernel community is growing, as is the number of people and companies involved. It was designed and developed as a service where the testing activities can take place in distributed board farms (labs).

    Codethink has been working on making the tools easy to deploy on developer machines through a VM, so they can test kernels on directly connected boards. This first milestone of the CIP testing project is called Board At Desk - Single Developer. This activity was described at the Open Source Leadership Summit 2017 and the first beta released during ELC 2017.
    Conclusion
    The challenges for Open Source that Industrial-grade product development and maintenance introduce are great, especially in two aspects: safety-critical and maintenance. Codethink is working on CIP to help the industry to overcome these challenges by adding our Open Source perspective.

    Learn more about the CIP project by checking the following slides and videos from the conferences in which CIP members have participated.

    Interview with Sonia Bennett

    Mon, 2017/03/13 - 9:08am

    Could you tell us something about yourself?

    Hi I’m Sonia Bennett! Born and brought up in India and now living in Nashville, Tennessee with my husband and 3 year old daughter.

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

    I always loved traditional drawing and painting since childhood but became a graphic designer after college. Right now I am trying to improve my painting skills again =) I’m always open to commissions!

    What genre(s) do you work in?

    There isn’t a specific genre that I see myself in because exploring and looking at different art styles keeps my mind open to seeing things from different perspectives.

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

    From Vermeer, Fragonard, American and French Impressionism to the artists in the Krita group on Facebook… there are a lot of artists both classical and contemporary that inspire me each day. I come from a very creative family, my father was the first person to inspire me to draw. He used to draw horses for me and I would try to copy them. He is a very talented violinist and can sing a wide vocal range. My mother loved dancing, acted and directed theater, can sew almost anything and is a wonderful cook! They have always inspired and encouraged me to be creative. If it wasn’t for their encouragement, and God opening doors for me to pursue art as a way to glorify Him… I would be stuck doing something painfully uncreative.

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

    Digital painting was a mystery to me until the end of 2015 (yes I may have lived under a rock until then! ) I had seen digital artwork online but didnt realise HOW exactly it was created. I asked many dumb questions. I’m sure, to finally figure out which graphics tablet I needed to get. When I finally got one as a Christmas present in 2015 and tried it out with Krita for the very first time, I was blown away at how easy it was to paint with Krita. After that, I couldn’t stop painting!

    What makes you choose digital over traditional painting?

    Honestly, if I had the space and could leave my messy paint equipment undisturbed (impossible with a toddler toddling at high speed) I would keep painting the traditional way, but I enjoy digital painting because I can paint without the mess and drying time for oil paint. And I can save my work and come back the next day and not see suspicious little hand prints on the canvas. =D

    How did you find out about Krita?

    I used Adobe software for a long time, but it was just for photo and vector layout and design and that’s about it. It wasn’t until I changed computers that I realized the older software didn’t work on my updated computer anymore. And I didn’t want to start ‘renting’ the software that wasn’t available to own directly anymore. So I searched for free painting software and somehow landed on David Revoy’s Youtube channel and it was the best introduction to Krita. I didnt need to keep looking after that!

    What was your first impression?

    I think my family may have heard me express my excitement rather loudly several times throughout the first day! I still say “I love Krita!”

    What do you love about Krita?

    The stabilizer, the different assistants, the brush engine, so many blending modes, the color to alpha filter and the different color selectors are especially cool. Krita is much more advanced this way. I also love the fact that it is made available to everyone for free. Not everyone can afford hundreds of dollars to create art. Artists from all walks of life can build up their portfolios and have a great opportunity to showcase their talent thanks to the wonderful people behind Krita.

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

    I struggle a bit with the lag when I paint large projects, and it would be nice to have a way to save for web versions and a better text tool, but I know with the tremendous advancements that Krita has already made in such a short time, that all these improvements and more will be made… one day Krita will be on every artist’s computer.

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

    It has such a professional feel and look to it. It’s unlike any other free software that exists today. And it’s only getting better. It is extremely user friendly, the intelligent design of the interface makes it so easy to understand and get used to. Right away, when you download it and start painting, you know this has been designed by people who know what artists like.

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

    Even though the original is not mine, the practice painting of Fragonard’s The Reader, is my favorite, because it was the first real painting that I made on Krita that showed me I could still paint, even after almost a decade of not picking up a brush. I had painted a couple of small paintings before this but they didn’t really challenge me. Trying to replicate a master’s painting is a really good training.

    What techniques and brushes did you use in it?

    I used David Revoy’s brushes and Ramon Miranda’s brushes and just tried to replicate the smoky, textured feel of the original work.

    Where can people see more of your work?

    I post my work on several social media sites. My main website is soniabennett.net and I am also on :
    https://www.facebook.com/ArtfulButterfly
    https://www.artstation.com/artist/soniabennett
    https://www.instagram.com/theartfulbutterfly/
    http://graphicker.me/application/works/index/5499
    I’m also in a Krita group on Facebook that has more than 2000 members (and growing) and has wonderful artists that help and encourage each other (with the occasional joking around!)

    Anything else you’d like to share?

    I want to thank the people who worked so hard to create Krita and keep making it better and better. Thank you for this opportunity to show my work here and I appreciate all the encouragement and support I have received from my friends and family. I hope my art can encourage more people to paint with Krita and develop their talent and creativity. If there is any way I can contribute to making Krita better, I would be most happy to help!

     

    Reading List

    Sun, 2017/03/12 - 6:20pm

    I've been trying to get myself to read more books. It's been an interesting experience to wane myself off of social media on my phone and it certainly deserves a post of its own soon. Until then, here are some of my thoughts on books I finished reading this year.

    • The Checklist Manifesto

    The title gives away the premise of the book - which is about the art of managing and creating efficient checklists. This may not exactly sound like a jaw clenching thriller of a book, but Atul Gawande manages to keep the pages turning with interesting anecdotes about checklists. A surgeon by profession, Gawande lists instances of how having a carefully curated surgery checklist has saved lives in the operating theatre. As an aviation geek, I enjoyed story about how creating a pre-flight checklist for the Boeing 299 saved Boeing from the brink of bankruptcy in a fiercely competitive aviation market. There are narratives about the flipside too. For example, verbose checklists with too many steps for the user to follow may do more harm than having no checklist at all.

    For the most part, the book reads as a collection of anecdotes of varying quality. Advice about creating a good checklist is scattered too thin throughout the book to be useful. I would give the book a tentative thumbs up. That said, my rating of this book is probably not the best thing to go by as I finished the book over a period of months which broke the continuty of the book which wasn't very continuous to begin with.

    • Freakonomics

    This books seems to pop up in almost every bookstore or library I go to. I had been listening to the Freakonomics podcast for quite a while, but I decided to get into this book only a few weeks ago. The cover itself makes bold claims such as "...Explores The Hidden Side of Everything" along with some terms of endearment from Malcolm Gladwell. The book covers a range of bizarre topics such as 'What do schoolteachers and sumo wrestlers have in common?' and 'Why Do Drug Dealers Still Live with Their Moms?'. Which is great, because the book does make convincing conclusions on these two topics. However, this conviction cannot be said for some of the other chapters such as 'What Makes a Perfect Parent?' and how a child's name is detrimental to their future prospects. I feel the book doesn't spend enough time establishing how a certain cause leads to an effect in these chapters.

    • Russian Roulette

    It took me forever to find this book. I used to read Alex Rider books every once in a while in school, but lost track of the series in my dry spell of reading. Russian Roulette is something of a spin-off book, set somewhere in the middle of Stormbreaker in the Alex Rider timeline. RR narrates the story of Yassen, a key character throughout the Alex Rider series. Like most Anthony Horowitz books, it's not a well-written book with rich language and outstanding prose. Rather, it keeps one engaged with a fast (but somewhat predictable) plotline. I liked some of the parts from Yassen's past in Russia, though the rest was a rehash of a different Alex Rider book.

    • Bird by Bird

    In this book, Anne Lammot speaks about the joys and frustrations in the solidary world of a writer. From the outset, I loved this book. Lammot's writing style is hillarious and is loaded with dry wit and sarcasm. As with 'The Checklist Manifesto', the book follows off on tangents with no central plot to speak of. On my first read of 'Bird by Bird', I couldn't help feeling that this book would read better as a blog than a novel.

    Fear not, OMG! Ubuntu! You will bounce again!

    Fri, 2017/03/10 - 10:49pm
    KDE Project:

    Serving the quadruped audience

    Intrepid journalist Joey Sneddon over at OMG! Ubuntu! recently pointed out to us that Plasma 5 is currently not doing so well when it comes to serving an important user demographic - bored cats!

    Indeed, Plasma 5.0 cost them (and us) the Bouncy Ball widget. And the reasoning mentioned in the article ([...] when trying to develop a professional experience toys and gimicks aren’t a good thing to be shipping by default [...]) is actually pretty solid I think. Hmm.

    Have we lost our bounce forever? No!

    But! These days we have the sexy KDE Store going on, which is a great place to put toys and gimmicks (along with neat menus).

    So it's back! Behold the demo:

    Bouncy Ball v2.0 on Plasma 5
    Bouncy Ball v2.0 on Plasma 5

    You can grab it now for your Plasma 5 via Add Widgets... in your desktop menu and then Get new widgets in the Widget Explorer, or check out the Bouncy Ball store page.

    Now for some additional fine print, though: I wrote this at ludicrous speed over a Friday night, and it's not well-tested. It behaves a little quirky sometimes (the goal was to match the original closely, but I didn't have a running KDE 4 to refer to). And despite the v2.0 moniker, it's still missing some of the features of the old Ball, including auto-bounce and that satisfying Boing! sound on collisions. I went with v2.0 in honor of the heritage - I'll polish it and add back the missing features a little later!

    Just three days left…

    Fri, 2017/03/10 - 1:45pm

    The call for papers for foss-north 2017 ends on Sunday. That means that you only have three days to…

    • … get a chance to visit Gothenburg, Sweden, the most sociable city in the world!
    • … speak in front of a great audience of 220 people (if we sell all the tickets – get your’s here).
    • … listen to other awesome speakers. Right now we’ve confirmed Lydia Pintscher, Lennart Poettering, Knut Yrvin and Jos Poortvliet. (There will be more awesome speakers announced when the call for papers is over).

    So what are you waiting for – submit your talk proposal and join us at foss-north 2017!

    Kdenlive 16.12.3 is out

    Thu, 2017/03/09 - 4:38pm

    The last release of the 16.12 branch brings a few, but important improvements, like fixing a couple of crashes and avoiding a possible corruption as well as a overnight render bug along with other minor stability improvements. All in all 16.12 was a great release and the best is still to come.

    We continue our focused effort in the timeline refactoring which will bring professional grade tools, stay tuned for more info on that soon!

    Bug fixes:

    • Fix crash & corruption on dragging multiple clips in timeline, fix thread warning on monitor refresh. Commit.
    • Avoid possible profile corruption with xml producer. Commit. See bug #371189
    • Avoid relying on xml to clone a clip. Commit. See bug #377255
    • Src/dvdwizard/dvdwizardmenu.cpp: do not show “grid” in output. Commit. Fixes bug #377256
    • Src/dvdwizard/dvdwizard.cpp: fix file loading in slotLoad. Commit. Fixes bug #377254
    • Fix Render Widget’s file dialog not working correctly. Commit. Fixes bug #371685
    • Fix render job duration when past midnight. Commit. Fixes bug #372370
    • Fix Bin Effect reset. Commit. Fixes bug #376494
    • Fix unnecessary refresh of tools when selecting titler item. Commit.
    • Fix fadeouts re-appearing on clip cut+resize. Commit.

    What do I do if a slot is not invoked?

    Thu, 2017/03/09 - 3:29pm

    All Qt developers have asked themselves at least once in their careers: “why isn’t my slot invoked?” (I’ve asked myself that question many, many times).

    There are a number of reasons why a connection may fail to be properly set up, and ultimately cause our slot not to be invoked. This blog post is a practical series of checks to help you debug these sorts of issues.

    0. Was the slot really not invoked?

    First and foremost, are we really …

    The post What do I do if a slot is not invoked? appeared first on KDAB.

    Vault - for the privacy of your data

    Thu, 2017/03/09 - 3:10pm

    While the recent revelations are not all that surprising, they did stir the pot a bit and made people at least a tad more aware of the problems of personal privacy in the modern age.

    Plasma Vault 1

    I’ll try to refrain from any comments on the politics and hypocrisy of today’s world as I don’t consider my blog and Planet KDE to be a place for this. Though, it will be hard. :)

    Plasma Vault

    I’ve mentioned in a recent blog post) that I’ve been working on the integration of different data encryption solutions into the Plasma workspace.

    The point of the project is not to provide a new encryption mechanism, but to provide a user-friendly interface to the existing ones that will be integrated into Plasma for improved security.

    Icons
    Integration points and the UI

    The main interface is the Plasma applet that will show up inside of your system tray / notification area. From there, you can create new vaults, open and close them.

    There is one big differnce between creating a UI for Plasma Vault and creating an interface for regular applications and applets.

    We usually tend to avoid showing big chunks of text to the user, and all errors to be unnoticeable. When Plasma crashes, it silently restarts and shows just a small icon in the tray that will easily be ignored. And yes, we also hate wizards.

    Wizards

    For Vault, and for other encryption tools, we need to show more text as the user needs to understand exactly what is being done. What are the benefits and what are the disadvantages of most options. All the security mechanisms in the world are just useless if used improperly.

    For this reason, creating a new Vault is done through a detailed wizard that our translation teams are probably going to hate me for. The wizard allows the user to choose what encryption system to use, and configure the specifics for them.

    Errors

    As for the errors, none can be ignored. There is no option to have “silent failures”. All errors need to be visually explicit.

    Now, failures to create or open a vault are quite obvious – you don’t have the access to the data, but errors closing the vault are a different story.

    If the vault can not be closed due to an application accessing a file inside the vault, the user might be unaware of the fact that the data is still accessible to anyone who might have the access to the system.

    For this reason, the Vault applet will show a nice red icon until you manage to fix the error. The icon and the error message will not just go away after a few seconds like it is the case with the device notifier applet.

    I’m even pondering to add the option to forcefully kill all the applications that are using the vault, but that will probably not end up in the first release.

    Currently available backends

    When creating a vault, there are a three backends that you can use. The old, but almost true, encfs, the newcommer cryfs and the user-friendly wrapper for dm-crypt called Tomb.

    EncFS

    EncFS is one of the old solutions which provides a transparent FUSE-based overlay file-system.

    This means that the encrypted files live in your normal file system and they get decrypted when they are accessed through the virtual file system.

    EncFS has been with us for quite a long time. It has gone under an independent security audit which detected a few problems with the design and implementation.

    There are two bigger problems with EncFS.

    The first one is that it creates one encrypted file for each file in the encrypted system, and the encrypted files have the same directory structure as the directories in the encrypted system. This classifies as a meta-information leak because the attacker might be able to guess some things from the number of files, the directory organization and file sizes. For example, you might have encrypted the files copied from an installation disc of some operating system you don’t have the license for – it would be easy to guess which OS it is just by looking at the number of files and the directory structure.

    The more serious flaw is that the encryption techniques used are potentially vulnerable to cracking in the cases where the attacker can access multiple encrypted versions of a file.

    This means it is not a good idea to use EncFS to encrypt your data that you sync to the cloud.

    CryFS

    CryFS is a more modern FUSE-based overlay file-system. It does not have the problems that EncFS has.

    Instead of creating one encrypted file for each file in the FUSE filesystem, it splits them into chunks and encrypts all the chunks separately. Because of this, the attacker can not deduce any information related to the number of files just by looking at the encrypted data. It also does not expose the directory structure through the organization of the encrypted data.

    While these are welcome improvements over EncFS, it is worth noting that there are no independent security audits of CryFS. So, while it does not have the same problems that EncFS has, it is possible that it has others.

    This is the main reason why Plasma Vault supports both EncFS and CryFS – to give the user a choice between a solution that has issues, but for which the issues are known, and a solution that should be safer, but for which we don’t really know whether it is.

    Tomb

    The newest addition to the Plasma Vault family is Tomb. It is considered experimental, and in order to enable it in the first Plasma Vault release, you will need to add the following to plasmavaultrc:

    [General] enableExperimentalBackends=true

    Unlike EncFS and CryFS, Tomb does not create an overlay-file system.

    It is just a simple script that makes it easy to create encrypted container files which get mounted like any other block device in your system. It relies on cryptsetup/dm-crypt for the actual encryption.

    For this reason, even if the Tomb project itself is not as mature and as bug-free as it should be, it can be considered secure. Since it is just a wrapper over system-provided tools, the only problem you might have with it is that in the case of a bug, it will not be able to mount your encrypted file. In that case, you would need to do it manually by calling losetup/cryptsetup and friends,

    The main disadvantage of Tomb is that you need to define the size of the container file in advance – it will not grow automatically when you add new files.


    Read more...

    Provisioning OpenStreetMap providers in QtLocation

    Thu, 2017/03/09 - 1:20pm
    Background

    This post is to provide some clarification on a behavioral change we had to introduce with Qt 5.6.2 to the QtLocation‘s OpenStreetMap plug-in. The related change seems to have generated some confusion, so here’s the full story.

    The OSM plug-in used to work with hard-coded tile server URLs for the various map types offered therein. The tiles for the main (street) map type and the satellite map type, which are possibly the two most used maps, were previously sourced from open.mapquest.com. In July 2016, MapQuest discontinued this service. As a result, all deployed QtLocation OSM plug-ins for the Qt versions up to 5.6.1 and 5.7.0 suddenly began to provide tiles without map content. Instead the tiles contained an invitation to visit the MapQuest website and buy some services as shown below.

    MapQuest ceasing open access

    The dreadful sight from the MapViewer prior to Qt5.6.2

    Solution

    Clearly not being able to afford another such situation, we decided to fix this by adding one level of indirection. Now the OSM plug-in will fetch, for each map type, a provider definition file hosted at maps-redirect.qt.io. The format of this file is fairly similar to what others solutions use (e.g. TileJSON), with small differences needed for our specific use case. The format is documented in this file (starting from line 195). This solution makes it possible to change the tile source for specific map types, if this becomes necessary again, without the need to upgrade Qt or to rebuild the application.

    These providers can also be temporarily disabled on the server side, by setting the property Enabled to false. This might happen in cases like the above mentioned where the service delivers bogus tiles and a replacement hasn’t been found yet. The plug-in also ships with a hard-coded backup for connectivity reasons.

    Unfortunately, at this stage we haven’t been able to find an open access satellite imagery provider that would provide sufficiently high resolution data. As a result, the OSM plug-ins initially still offers seven map types (the satellite map type is still there) but, at the present, they become six as soon as the map provider definition file for the satellite type is parsed since it currently contains Enabled = false.

    The screenshots below demonstrate the difference:

    Mapviewer before and after resolution

    The MapViewer MapType menu before provider initialization (left) and after (right)

    While this approach solves the encountered problem, it might be an undesirable behavior for some. Therefore, we added two options to disable this behavior. The first option is to set the plug-in parameter osm.mapping.providersrepository.disabled to true. This instructs the plug-in to not attempt any remote provider file fetching, but to just use the hard-coded values. Since this alone would bring the initial problem back, there is also another plug-in parameter that may come in handy. The osm.mapping.providersrepository.address can be used to override the default value of http://maps-redirect.qt.io/osm/5.6/, for 5.6.2 and 5.7.1, and http://maps-redirect.qt.io/osm/5.8/ for 5.8.0 and later releases. Developers can point the plug-in to an alternative URL containing the provider definition files for street, satellite, cycle, transit, night-transit, terrain and hiking. Even local URLs starting with file:/// or qrc:/ are possible, which means that the provider definition files can be shipped with the application.

    As a last note, please bear in mind that this solution is still not 100% fail safe. The mapping service is still offered by third parties with whom The Qt Company has no contractual relationship. If a robust solution is needed, using one of the commercial services that we support through one of the other shipped plug-ins should be considered.

    The post Provisioning OpenStreetMap providers in QtLocation appeared first on Qt Blog.

    Season of KDE, 2017

    Thu, 2017/03/09 - 8:00am

    Finally I am writing about my experience in Season of KDE, 2017 which came to an end a few days ago. A winter learning new things, learning what really matters is not just writing code but writing good code. I would like to thank GCompris and KDE for giving me such an opportunity to be a part of the community and to try to bring happiness to people and kids using it around the world.

    I had to accomplish the following tasks:

    1. Complete categorization images activity.
    2. Implement and complement categorization words activity.

    I successfully implemented the following tasks:

    1. I completed the categorization images activity and it finally got merged into master last month :)
    2. I implemented categorization words activity with 5 categories with a scroll view to scroll the sentences.

    Categorization Images Activity: The good news is that categorization images was finally merged into master with 6 categories in demo version including “Alphabets”, “Numbers”, “Tools”, “Renewable”, “Monuments” along with 12 other categories in the full version with around 500+ new images. Here is how categorization of animlas looks like:

    Categorization Images

    Categorization Words Activity: I implemented categorization words activity for 5 categories including “Tenses”, “Pronouns”, “Nouns”, “Fruits”, “Vegetables”. It would teach the complete grammar to kids including “Adverbs”, “Adjectives”, “Prepositions”, “Conjunctions” etc which are yet to be implemented. It allows teachers to add their own datasets and lessons for categories to teach. It would also help children in categorizing objects on the basis of various categories.

    Categorization Words

    Here is a lesson that I added on pronouns. Pronouns

    I am left with adding the remaining categories which I would do in the coming week implementing the complete grammar and its lessons and improving the scroll bar and configuration part for saving locale of languages.

    That’s all for now, thank you KDE and GCompris for such an awesome winter of code :))

    Chakra's Heritage theme gets a refreshing facelift

    Wed, 2017/03/08 - 11:07pm

    This announcement is also available in Taiwanese Mandarin.

    We are excited to introduce a refreshed version of our homegrown Heritage theme which will ship with the upcoming ISO release! In this update we have included subtle changes that we hope will improve the overall desktop experience for Chakra users.

    As always, current Chakra users simply need to update their existing installations to receive the latest changes, there is no need to reinstall with the new ISO which will be released very soon. Just wait until your mirror has synchronized so you can upgrade to chakra-heritage-themes 2016.12.

    A big thank you from all of us to gnastyle who provided many ideas and designs and AlmAck (Luca Giambonini) for implementing them, their work has taken Heritage to the next level.

    And since it's all in the details, here are the most noticeable:

  • In the past, plasmoids had a different color than the panel. We have now unified the color to be more consistent. The panel became a bit more transparent, so that you can see the wallpaper or any other window in the background.
    Old New

  • What is really new in the theme are the dialog windows: the application launcher, window previews and the system tray item popup. We wanted to use blur more and lighten up the theme. Therefore we made the dialog windows less black and more gray with increased transparency to absorb the color of the covered background. We really like the resulting effect and you can enjoy it in all its glory with a very colourful wallpaper.
    Also the whole theme got some minor adjustments, like the elements of the system tray and the icon task manager.
    Old New

  • We decided to replace the old custom icons because they were not very comprehensive. So we switched to the ones from breeze to increase the integration with the desktop.
    Old New

  • The sddm theme has also been improved and is now aligned with the breeze theme.
    Old New


    We hope you like then new look. Of course Heritage can still be improved and everyone can contribute with ideas, mock-ups or patches to our artwork. Any suggestions are always welcome!
  • Pages