An attack on privacyThere is a global siege on privacy. Governments all over the world have introduced legislation (sometimes secret) which forces email, internet or data storage providers to track what you do and make that data available to their governments. This, of course, also means third parties who gain access to the storage systems can see and abuse it. And because so many of us have put so much of our data at just a few providers, we're at great risk as events like last week's shutdown of hundreds of Google accounts did show.
While Google, Dropbox and others lure customers in with 'free' data storage and great online services, governments benefit from centralized data storages as it makes it easy for them to hack in or demand data from these companies.
Why this surveillance?While governments usually claim they need access to this data to find terrorists or child pornography, experts point out that it will not be helpful at all. As multiple experts (even internally) put it, growing the haystack makes it harder to find the needle. Intelligence agencies are swamped with data and nearly every terrorist attack in western states over the last decade took place despite the agencies having all information they would have needed to prevent it. The Paris attackers, for example, coordinated their attack using plain SMS messages. The Guardian thus rightly points out that:
"Paris is being used to justify agendas that had nothing to do with the attack"which has become a familiar refrain after nearly every terrorist attack.
Indeed, we all know the argument But you have nothing to hide, do you? and indeed, we probably don't. But some people do, so they'll try to avoid being seen. That being illegal won't change their behavior...
And as Phill Zimmermann, the inventor of the PGP encryption pointed out:
"When privacy is outlawed, only outlaws will have privacy"
So not terrorists. Then what?Experts agree that the vast majority of these surveillance and anti-privacy laws have little or no effect on real criminals. The crime syndicates, corrupt politicians and large corporations evading taxes and anti-trust/health/environmental laws, they DO have something to hide, and thus they would use encryption or avoid surveilled communication methods even if it were outlawed.
However, ordinary citizens, including grass-roots local activists, charitable organizations, journalists and others, who DO have nothing to hide, would be surveilled closely. And with that information, the real criminals mentioned earlier - crime syndicates, corporations or corrupt politicians - would have weapons in hand to keep these citizens from bothering them. Whistle blowers can be found out and killed (like in Mexico), journalists can be harassed and charged for trivial transgressions (like was recently done at the US pipeline protest) and charities can be extorted.
What can we do?Luckily, there are initiatives like the Stanford Law Schools' Crypto Policy Project which aim to train, for example, journalists in the use of encryption. Tools and initiatives like Signal, PGP email encryption, Let's Encrypt and Nextcloud provide the ability for users to protect themselves and their loved ones from surveillance. More importantly, these at the same time making it harder and more costly to conduct mass surveillance.
There is nothing wrong with governments targeting criminals with surveillance but just vacuuming up all data of all citizens that might, some day, be used is a massive risk for our democracy. We all have a responsibility to decentralize and use tools to protect our privacy so those who need it (press, activists and others) have a place to hide.
A few days ago we hit a milestone in our development of AtCore. We are now able to properly install the libary for general use. Not only is installing a necessary for a libary that you plan to use within other stuff it also means that we can now focus our attention mostly on Atelier. We have now entered that magical time in development when the real world usage begins to drive its development. Thanks to everyone efforts we are almost ready for the next stage. Patrick has been doing reviews on every pull request. While he has been unable to help with as many commits as he would have liked to. His advice and direction in his reviews has been really helpful and has kept our style and code quality at a high level. Tomaz has been busy fixing up AtCore to be a proper KF5 libary with all the cmake deployment parts to go along with it. Most all of the cmake stuff has been written by Tomaz. Lays has been working on Atelier setup and getting all the non AtCore parts working. Thanks to her effort we are now able to use Atcore from Atelier!
As for me i have been adding stuff to AtCore. Since our last progress update a few new things have been added. Emergency Stop this simply allows you to stop the printer using the emergency stop code.It also cleans up any the command queue. Pause/Resume when paused we store the current location of the head that that way after resume you can move your print head out of the way to access the model.Pause supports a comma seperated string of commands to be sent after pause. For my printer i use "G91,G0 Z1,G90,G1 X0 Y195" when pause this move my head up 1 mm and then pushes my model out toward the front fo the machine. This is useful if you want to maybe put a nut into printed part or change filament durring print and even to corrrect print defects while printing. We have also started to do lay ground work for more status info being picked out from the serial chatter. Setting of the firmware plugin can be done durring connect to force a specific plugin. A progress bar for printing progress. Some cleanup for autodetection of the plugin. There is still things to add to AtCore but it should provide enough for most use cases already!
I have made a package for Arch Linux on the aur (atcore-git). Other distro packages as well as a proper alpha release tarball will hopefully come in not to long. We are currently working on getting a more defined release plan so that we can get user testing as well as have AtCore deployment ready since its a prerequsite of making Atelier. Currently the package comes with the A test panel “AtCoreTest”. You are encouraged to try it out if you have a 3D printer and report back.Since AtCore will be doing all the communication bug testing here is very important.
Even if you don’t have a printer Installing the package and running the test gui to see that it works and the plugins are shows under the firmware combobox correctly will help us.
For anyone wishing to help with packaging. its simple to get install set up
in the root of the source.
cmake -DCMAKE_INSTALL_PREFIX=$(qtpaths –install-prefix) -DCMAKE_LIBARY_PREFIX=lib CMakeLists.txt
add -DBUILD_TEST_GUI=ON to build the test gui and set up its install
come join us on freenode in #kde-atelier ;
I’ve just returned from Meeting C++.
There were couple of really nice talks – some less technical like the one from Jon Kalb of CppCon to the low level ones like the Rainer’s talk about the memory model of C++. Also, seing Bjarne Stroustrup in-person was a pleasure.
Sadly, I was not able to watch all the talks that I wanted (including Arne’s), but I plan to do so once the recordings are posted online.
My talk was about functional design and reactive programming. The slides are available here. I’ll post the link to the recording as soon as it is uploaded.
Unfortunately, there was no support for DisplayPort nor VGA at the venue, and I didn’t have a HDMI adapter on me, so I had to give my presentation from a friend’s computer (thanks Goran!) without any demos, but I’d say it all went well.
Next year, I’ll probably give a talk about immutable (aka functional) data structures. We’ll see. :)
After many years of being the KDE Windows build tool we want to make KDE Emerge more visible and a tool for all developers.
People associate Emerge with Gentoo, and they are right about it. This was a problem for many years now.
For that reason Emerge will be called Craft from now on.
What is CraftCraft is an open source meta build system and package manager.
It manages dependencies and builds libraries and applications from source, on Windows, Mac, Linux and FreeBSD.
It's actively used to provide KDE software on Windows, FreeBSD and Mac but is capable of crafting any C or C++ application. With your help it is capable to craft any software in the world.
Every developer on Windows knows, how hard it is to obtain all the libraries you need to build your application. There are different build systems and quite often you even need to patch the libraries to support Windows at all.
For that reason many people tend to keep a copy of those libraries with in their projects code. A copy that won't be updated in years. VeraCrypt, for example recently had a zlib vulnerability from 1998.
With Craft all you need to do is to provide a recipe for your application, provide it's dependency and then ask Craft to build it for you. Craft provides all the libraries, patches and tools needed to build your application and their dependencies.
Craft also provides everything you needed to craft an installer on Windows.
The Kate and KDevelop installers where crafted by Craft.
It is not only a handy tool for KDE and Qt developers, currently we provide about 106 non Qt libraries and about 54 tools, so each and every developer should be interested.
- Make Craft available for CI systems like Appveyor, using prebuild binaries form a server.
- Qt-Installer-Frameworks support, craft packages that can be retrieved using the Qt installer.
- You could add your project to Craft and enable others to build your project (When you add a recipe we would be incredible grateful if you could try to support at least one of the platforms other than Linux).
- With the availability of appimages on Linux it could be interesting to teach Craft to craft appendages.
- Get Craft and start a crafting environment
- craft okular
So spread the word and start crafting
Your Craft team
Friday November 18 was a productive day for the Kubuntu Community, as three new people were questioned and then elected into Membership. Welcome Simon Quigley, José Manuel Santamaría, and Walter Lapchynski as they package, work on our tooling, promote Kubuntu and help users.
Read more about Kubuntu Membership here: https://community.kde.org/Kubuntu/Membership
The new release features many minor improvements and bug fixes including very fast startup time (about 300% faster) in addition to more streamlined Ekos GUI for capture and schedule modules. Images captured with Ekos on Windows would now conform to legal filenames in Windows when using ISO 8061 time stamped files.
Unfortunately, a few problems remain in this release most importantly is that KStars does not gracefully closes, it always remains in the background and must be terminated explicitly by the Windows task manager. This bug was supposed to be fixed by Qt 5.8 but alas it is still affecting Qt 5.8 in emerge. Once fixed by Qt/KDE, we shall make another release addressing this issue.
As you can imagine, this can get annoying pretty fast. Thanks to IRC and Bhushan Shah who proposed this solution, simply remove the system tray from the panels on the secondary monitors, and just keep the system tray on the primary monitor. This way, you will only get one-notification popup on each monitor instead of multiple ones!
To achieve this, first click on the hamburger icon in the panel to edit the panel. Then hover the mount over the system tray area where you get a popup like below that enables you to remove the system tray plasmoid.
Yesterday was the feature freeze for KDE Applications 16.12 and that's the time where you look forward for all the new awesome features will land at users devices at 15th December. As for the Minuet land, I'd like to disappointingly let you know no new features are coming but that doesn't mean things are not progressing. After some days of quite intense work ‒ trying to find some spare time between daily job, my fluffy 10 month old baby <3, and the work on the KDE e.V. board ‒ I'm right now enjoying some booze while writing these words about recent advances in Minuet.
Minuet is a quite young KDE project aimed at providing an open source platform for music education. Its first release happened in April 2016, where basic features for ear training have been released. Then ‒ as part of his Google Summer of Code 2016 project ‒ Ayush Shah worked on the port of Minuet to Android and we came up with a first Android release in October 2016. Thenceforth, in spite of our struggles to leverage reuse, two independent codebases have coexisted in an obviously not sustainable way at long-term.Unified codebase and build system
Developing for multiple platform poses its challenges, in spite of all nice support already provided by Qt. Handling different audio backends, UX implementation for diverse form factors and localization are some of the challenges we are currently facing when making Minuet available for multiple platforms while still keeping maintenance and evolution in order. The solution is a mix of ECM (extra-cmake-modules), a flexible architecture and some QML magic for properly selecting components depending on the platform at hand. That required a lot of refactoring/merging of desktop and Android codebases and some polishing is still in progress. The unified codebase has already been pushed to Applications/16.12 branch and that was a quite important move to keep feature parity between platforms and streamline evolution.
An important aspect of Minuet architecture is the selection of different sound controllers (new Qt plugins) depending on the platform supporting its execution. In Linux and Windows (yes, now we have a Windows build), sound synthesis is made by Fluidsynth, while CSound (which is, by the way, celebrating its 30th anniversary :O) is the back-end adopted in Android.Tablet UX
One of the issues we had in last Minuet for Android release was its poor rendering on tablet screens. With Applications 16.12, I've done some work to properly layout UI components in different form factors and also using a fixed or collapsed navigation drawer depending on how much horizontal space is available on the screen. I'm still doing some polishing to automatically change the layouting flow for use in landscape and portrait modes. The resulting is quite nice already :)
Some weeks ago, Hannah (TheOneRing) sent me a few lines patch which made Minuet to work on Windows. To be honest, my first impression was: is that all there is? :). We were lucky of having Fluidsynth functionalities working like a charm in Windows and then it ended up being a matter of dealing with emerge and installer issues. That was my first adventure with emerge but, with the help of Hannah and Kevin Funk (thanks folks!), I'm glad to announce we'll have a Windows installer for Minuet in 16.12.
For some reason, Windows installers generated by emerge become easily quite bloated and blacklisting files is a pain. For now, I'm following some systematic instructions to manually select the files which should go with the installer.
Minuet is totally built on top of QtQuickControls2 and different QML styles are used depending on the deployment platform. When running on Android, Minuet uses the Material style, while Windows executions are rendered with the Universal style. In Linux, Minuet currently adopts the default style for now. IIRC, there is work in progress regarding Breeze styles implementation for QtQuickControls2.
So, what's next? :) I'm still wondering whether I should invest some time towards Minuet builds for OS X and iOS but I guess that's likely to happen at some point, given the huge musicians userbase for those platforms. If you wanna help with that, just poke me by email or in the #kde-edu channel on Freenode, and then I'd have some more spare time to work on some new appealing features for Minuet next releases.
As usual, bug reports (in any supported platform) are quite welcome as well.
Right on my first blog post about Cutelyst users asked me about more “realistic” benchmarks and mentioned TechEmpower benchmarks. Though it was a sort of easy task to build the tests at that time it didn’t seem to be useful to waste time as Cutelyst was moving target.
Around 0.12 it became clear that the API was nearly freezing and everyone loves benchmarks so it would serve as a “marketing” thing. Since the beginning of the project I’ve learned lots of optimizations which made the code get faster and faster, there is still room from improvement, but changes now need to be carefully measured.
Cutelyst is the second Web Framework on TechEmpower benchmarks that uses Qt, the other one being treefrog, but Qt’s appearance was noticed on their blog:
The cutelyst-thread tests suffered from a segfault (that was restarted by master process), the fix is in 1.0.0 release but it was too late for round 13, so round 14 it will get even better results.
If you want to help MongoDB/Grantlee/Clearsilver tests are still missing
Everything starts with a good idea or a bug report. Someone asked for an app icon for claws mail (https://bugs.kde.org/show_bug.cgi?id=371914) and Jens Reuterberg make one. As I don’t think that every application need an breeze specific app icon, I’m look more for a consistent look of the applications so I made an claws breeze icon theme. You can download the icon pack from the claws webpage and dont’t forget to give me feedback cause I don’t use claws.
So if you think there is an application which need to be breezified, fill a bug report. This doesn’t mean I will fix it (in my spare time), but there is a chance.
I was selected for delivering a talk on WikiToLearn at the FUDCon APAC, Phnom Penh, Cambodia from 4th to 6th November, 2016.
FUDCon (Fedora Users and Developers Conference) is an important event in the world of free software that is held in different parts of the world organized by Fedora Organization. The FUDCon comprised of sessions, talks, workshops and hackfest in which project participants worked on specific initiatives. FUDCon Phnom Penh was conducted at Norton University, Phnom Penh along Barcamp ASEAN. Around 50 speakers from around the world gave talks related to entrepreneurship and open source software. I was traveling with one my friends, Abhinand N, who also got selected to deliver a talk on Mediawiki. Looked like, we were the only two undergrads who were invited to deliver talks.
It was my first international trip and pretty amazing. My itinerary was something like this : Cochin -> Kuala Lumpur -> Phnom Penh (4th November) and Phnom Penh -> Bangkok -> Cochin (9th November).
Phnom Penh looked more or less like an Indian city just with more prettier girls (:D) and no public transport. We reached Phnom Penh on 4th evening, and a tuktuk driver was waiting for us at the airport to take us to the hotel. If you're wondering what a tuktuk looks like, see this :
As soon as we reached Hotel, it was almost Dinner time. Sirko Kemter was the local organizer and all the developers decided to go to a nearby BBQ place. Remember, Abhinand is a pure vegeterian and he came to eat BBQ (:P). Anyway, the food was great, since I had never tried Lobster and Prawn. Amazing experience, it was.
At the time of dinner, I interacted with rest of the Fedora developers from India, Australia, China and USA. Kushal Das, Sayan Chowdhary were among the famous open source developers from India. It was great meeting and interacting with them.
Day 1 : FUDCon APAC, Norton University, Phnom Penh
FUDCon Day 1 was pretty amazing. We started off with Barcamp pitches followed by Fedora State of the Union talk from Brian Exelbierd, Fedora Community Action and Impact Coordinator.
The first talk I went to was Introduction to Rust Programming Language by Kanika Murarka. Kanika actively contributes to Fedora, and is an intern at Red Hat, Bangalore. She engrossed us, telling that Rust is designed to be a safe, concurrent, practical language, supporting functional paradigms and is sponsored by Mozilla.
Lunch was pretty interesting. Everyone gathered at a common lunch place with full of local khmer snacks, jackfruits, veg fried rice and non veg rice. Veg food had egg in it, so yeah! (:D) Lunch was okayish, but what made it interesting was the discussion! I had a long discussion with Sumantro Mukherjee and Parag Nemade about my project and it was great! After the discussion, we followed for the next series of talks.
Next talk, I went onto was How to globalize your software by Parag Nemade. Parag Nemade is a Senior Software Engineer at Red Hat. He is an active contributor to Fedora project, sponsor for packager group, proven packager, helps in improving Fedora packaging and testing Fedora updates. Parag introduced us to Globalization. It is a collaborative work done by internationalizing, localizing your software. He told us how important it is to globalize the code you write. Then he told what Localization is and how to add internationalization in code by showing some code examples. It was a great talk!
The following talk was by Alex Eng on Zanata, a translation platform. One of the best and interesting talk for the day. Alex presented a round up of the new features that will be available in the next release of the translation tool. I was very eager to learn more about how Zanata works, and therefore had a brief conversation with him. I was fascinated about the new editor and discussed my GSoC project and collaborative editing would work in Zanata. Handling translations is very challenging and great thing is that, WikiToLearn is also looking for ways to implement Zanata.
The next talk was on Web Virtual Reality by Sumantro Mukherjee. The highlight of the talk was a-frame. A-frame is a web framework for building virtual reality experiences and works on almost all devices. With just few lines of code, you can turn a video into 360 degree Virtual Reality. Amazing, isn't it?
The last talk of the day was by Anwesha Das on A walk on licenses in Fedora ecosystem. She gave an overview of all the open source licenses, why it is important to use a license and what are the best practices of using a license. The take from the talk was not to use personalized licenses and even if you use it, not to name it like Buy me a beer or something similar. Overall, it was great to learn about Licenses.
The day ended with all the Indians and Ryan going to a Riverside Restaurant and having amazing food.
Day 2 : FUDCon APAC, Norton University, Phnom Penh
Day 2 started with heavy rains at Cambodia. Thanks to Sirko for providing raincoats! It was another day of interesting talks and I had my talk at 3pm.
The first talk I went to was by Noriko Mizumoto on How can you help us get Fedora to the world?. Noriko hails from Japan and is a Community Relations Specialist and Program Manager, Red Hat Asia Pacific. Noriko focused on the importance of localization. Localization of a software is very important, since non-native English speakers are much more when compared to native English speakers.She introduced how Fedora has been localized into over 80 languages. A great talk, indeed.
Following was the talk on Exploring Fedora Infrastructure by Sayan Chowdhary. Sayan Chowdhary is a Senior Software Engineer at Red Hat, Pune and has been a Python developer contributing to Fedora. Sayan talked about Fedora web projects and how can one contribute to them.
Next was the talk by Kushal Das on Testing Fedora Atomic in an automated way. I don't need to introduce him (:P). He talked about testing fedora atomic project in an automated way by using Python and Go script made by him. It went over my head mostly, since I never contributed to Fedora. Anyway, it is always amazing to listen him speaking. The way he explains a scenario, is absolutely stunning.
After the better lunch, next talk I attended was on Fedora QA by Sumantro Mukherjee. Sumantro introduced us to Fedora Quality Assurance, the workflow and how to test a package. Great talk, indeed.
Now, it was time for my talk on WikiToLearn : Bringing Academia to the Internet Era : A revolution in Knowledge Sharing. I introduced WikiToLearn to the attendees, how to contribute and gave them a hand-on session on "How to make a personalized book". I briefed on how WikiToLearn is being adapted at European Universities and making it easier for students and professors for collaborative learning. I spoke on who/how can contribute being a student, teacher, translator or hacker, how the project is having powerful impact not only in Europe but also in the world with many universities involved and also organizations like KDE, Wikimedia Foundation and the CERN, About the power of collaboration and its impact in academia with the help of WikiToLearn and also how students and professors are using it in their universities as a tool to make learning much more effective in a collaborative way. Slides for the talk can be found here.
The last talk was on Contributing to Mediawiki by Abhinand N. Abhinand is a Google Summer of Code'16 select for Mediawiki. He actively contributes to Mediawiki. He introduced attendees to Mediawiki and how can one contribute to Mediawiki by code. He briefed about Gerrit and the workflow of patch submition. It was a great talk, too.
We had a great party after the talks at Fudpub with Barcamp organizers. Free beer, yaay (:D).
This was the first time, I attended Fedora event and it was amazing to meet and interact with developers around the world. Kudos to the local organizers and KDE for sponsoring my trip. Overall, it was an amazing experience which I'm going to cherish for long.
WikiToLearn1.0 is moving its first steps, let’s find out how is it going!
Here we go! It is almost two weeks now since we released WikiToLearn1.0!
Since the release, we got a lot of feedback and support! We could accomplish this not only through our own promotion, but also, inter alia/amongst others, with the help of:
- Dot-Kde announcement;
- An interview with Radio Popolare (Italian radio station);
- baltolkien ‘s post on KDE-Blogs;
- a presentation at Imperial College London;
- Wikimedia CH, KDE and many contributors of ours shared the announcement post on their socials
We are very happy, that we could welcome new contributors and we hope our community will keep on growing, both in contribution and content.
Now, something special for you in this episode! We have decided to do an interview with Srijan Agarwal: he is a member of our community located in Meerut, India, where he’s doing great promoting WikiToLearn! To spread the word about our community, he is organizing events (MediaWikiToLearn hack/edit-a-thon) and talks on WikiToLearn. We wanted to appreciate his efforts and therefore , we decided to put him into WikiToLearn’s spotlight and interviewed him.
Q: When (and how) did you become a member of the WikiToLearn community?
Ans: So, it all started after I made my first technical contribution to Mediawiki in early 2016. I was looking for a project to contribute to in Google Summer of Code that same year, and one of my mentors at Free Software club in our campus : FOSS@Amrita, Harish Navnit, asked me to check WikiToLearn. And there starts my journey with WikiToLearn. I applied for a project : Offline Extension for WikiEditor, and it got accepted. My GSoC mentors, Gianluca Rigoletti and Irene Cortinovis, were really helpful and guided me throughout the summer of 2016.
Q: You are part of the community for a while now. What do you like most?
A: I really like the motive behind the WikiToLearn project.. WikiToLearn focuses on a worldwide problem with students, that can be solved by sharing knowledge. Being a student myself, I’ve experienced and know the problems faced by students and I really like how WikiToLearn is helping solve these problems.
Q: You are doing a great work to talk about WikiToLearn in your country, can you tell us something more about it?
A: Sure. What I feel is that, Indian education system lacks creativity, collaborative thinking and a technology infrastructure. WikiToLearn is a platform, which certainly is the answer to these problems. Therefore, I’m promoting WikiToLearn in India in as many ways as I can. I have been giving talks on WikiToLearn at universities and conferences, eventually helping students and professors with contributing to WikiToLearn. I’m now working on making the next event a success, i.e, WikiToLearn India Conference, 2017.
Q: Are you happy with your WikiToLearn-experience so far?
A: Yes of course. WikiToLearn is like a second family for me. It has taught me that love for knowledge and learning can overcome all kinds of barriers, even geographical and cultural ones. Working with such amazing developers around the world has taught me so very much. I have grown so much technically and socially with my association with WikiToLearn. Overall, my experience has been startling.
Q: Why should other people join WikiToLearn?
A: Are you a student and want to have personalised textbooks for your courses? Are you a professor and want to make your teaching methodologies better? Are you a programmer, and want to contribute to open source software? WikiToLearn is the right place for you, then. Join WikiToLearn and grow along with volunteers and academics around the world.
If you are more curious on who are our top contributors these two weeks after the release, want to know more about our statistics you should know that with the 1.0 release, Reports-WikiToLearn came out too. Here you can find these two weeks report!
Thats it for this episode,
Here is the fourth Krita 3.1 beta! From the Krita 3.1 on, Krita will officially support OSX. All OSX users are urged to use this version instead of earlier “stable” versions for OSX. We’re releasing a fourth beta because of more changes to the code that actually saves your images… We’ve tried to make it much safer, but please do test this!
These are the most important fixes:
- Don’t show and hide the rulers on creating an image
- Improve the framerate of the stabilizer
- Fix a regression with saving animations in the previous beta (3.0.92)
- Fix some crashes when drawing in the scratch pad
- Make the color selector in the color-to-alpha filter work properly
Note: the beta still contains the colorize mask/lazy brush plugin. We will probably remove that feature in the final release because the current algorithm is too slow to be usable, and we’re still looking for and experimenting with new algorithms. With the current beta you will get a preview of how the user interface will work, but keep in mind that the we know that it’s too slow to be usable and are working on fixing that
The fourth beta is also much more stable and usable than earlier builds, and we’d like to ask everyone to try to use this version in production and help us find bugs and issues!
You can find out more about what is going to be new in Krita 3.1 in the release notes. The release notes aren’t finished yet, but take a sneak peek all the same!Windows
Note for Windows users: if you encounter crashes, please follow these instructions to use the debug symbols so we can figure out where Krita crashes.
- 32 bits Windows: krita-3.0.93-x86-setup.exe (MD5 Hash: ad8d773b10772616e5d8ed623c648a80)
- Portable 32 bits Windows: krita-3.0.93-x86.zip (MD5 Hash: a4632822eeea5ce572544ea9a3b53d41)
- Debug symbols. (Unpack in the Krita installation folder) (MD5 Hash: dc59208feabb7af99267984a6fe5a5e1)
- 64 bits Windows: krita-3.0.93-x64-setup.exe (MD5 Hash: 2930af181a810c4974d7f056d751e766)
- Portable 64 bits Windows: krita-3.0.93-x64.zip (MD5 Hash: 9d895b6727d835e0267e4c20aa3d8934)
- Debug symbols. (Unpack in the Krita installation folder) (MD5 Hash: 3beca45f6ba2b3c43ce70aee2b27742d)
- 64 bits Linux: krita-3.0.93-x86_64.appimage (MD5 Hash: ff3e3f49fbd095504b7cdb3af5698c96)
There is also a snap image available in the Ubuntu App Store, in the beta channel.OSX
- OSX disk image: krita-3.0.93.dmg (MD5 Hash: acd4056716f8c272d8975ed9ca8f0a9d)
- Source code: krita-3.0.93.tar.gz (MD5 Hash: 6c26648fe82887ad28a0bf84711292cc)
The dependency freeze for KDE Applications 16.12 is on since November 10
For all repositories part of the KDE Applications 16.12 release the Applications/16.12 branch has been created.
The list of modules+branches that will be part of the release is at https://cgit.kde.org/sysadmin/release-tools.git/tree/modules.git?h=Applications/16.12
Please make sure the list is correct. If it's not please email release-team at kde.org *NOW*
From now on master is open for feature changes, but remember that all your fixes also should get to the Applications/16.12 branch (my suggestion, commit fixes to Applications/16.12 and then merge that branch to master)
KDE Applications 16.12 Beta (version number 16.11.80) will be tagged November 17 at 23:59 UTC
Once the Beta is tagged no more features can be added.
Today, KDE Frameworks 5.28 was released with the brand new KSyntaxHighlighting framework. The announcement says:
New framework: syntax-highlighting
Syntax highlighting engine for Kate syntax definitions
This is a stand-alone implementation of the Kate syntax highlighting engine. It’s meant as a building block for text editors as well as for simple highlighted text rendering (e.g. as HTML), supporting both integration with a custom editor as well as a ready-to-use QSyntaxHighlighter sub-class.
This year, on March 31st, KDE’s advanced text editor Kate had its 15th birthday. 15 years are a long time in the software world, and during this time Kate won the hearts of many users and developers. As text editing component, Kate uses the KTextEditor framework, which is used also by applications such as KDevelop or Kile.
The KTextEditor framework essentially is an embeddable text editing component. It ships everything from painting the line numbers, the background color, the text lines with syntax highlighting, the blinking cursor to code completion and many more features. One major feature is its very powerful syntax highlighting engine, enabling us to properly highlight around 275 languages.
Each syntax highlighting is defined in terms of an xml file (many examples), as described in Kate’s documentation. These xml files are read by KTextEditor and the context based highlighting rules in these files are then used to highlight the file contents.
For the last 15 years, this syntax highlighting engine was tightly coupled with the rest of the KTextEditor code. As such, it was not possible to simply reuse the highlighting engine in other projects without using KTextEditor. This lead to the unfortunate situation, where e.g. the Qt Creator developers partly reimplemented Kate’s syntax highlighting engine in order to support other languages next to C/C++.
This changed as of today: The KSyntaxHighlighting framework is a tier 1 functional framework that solely depends on Qt (no dependency on Qt Widgets or QML), is very well unit tested, and licensed under the LGPLv2+. As mentioned in the announcement and in the API documentation, it is a stand-alone implementation of the Kate syntax highlighting engine. It’s meant as a building block for text editors as well as for simple highlighted text rendering (e.g. as HTML), supporting both integration with a custom editor as well as a ready-to-use QSyntaxHighlighter sub-class. This also implies that you can reuse this framework to add syntax highlighting to e.g. QML applications.
We hope that other applications such as Qt Creator will start to use the KSyntaxHighlighting framework, since it allows us to cleanly share one single implementation of the syntax highlighting engine.
In the next KDE Frameworks releases, we will remove KTextEditors syntax highlighting engine in favor of just using KSyntaxHighlighting. This will happen step by step. For instance, we already have a pending patch that removes all xml files from KTextEditor.git in favor of using the ones shipped by the KSyntaxHighlighting framework. That means, with the KDE Frameworks 5.29 release, Kate’s and KTextEditors dependency (and other application’s dependencies) will look as follows:
This is quite an interesting change, especially since moving the syntax highlighting engine out of KTextEditor was already planned since Akademy 2013 in Bilbao:
Another idea was raised at this year’s Akademy in Bilbao: Split Kate Part’s highlighting into a separate library. This way, other applications could use the Kate Part’s highlighting system. Think of a command line tool to create highlighted html pages, or a syntax highlighter for QTextEdits. The highlighting engine right now is mostly internal to Kate Part, so such a split could happen also later after the initial release of KTextEditor on 5.
This goal is now reached – thanks to Volker Krause who did most of the work. Pretty cool!
If you are interested in using the KSyntaxHighlighting framework, feel free to contact us on our mailing list. Further, we welcome all contributions, so please send patches to our mailing list, or post them on phabricator. (You can also find the KSyntaxHighlighting framework on github for convenience, but it’s not our primary platform).
You can also support Kate and the KDE Frameworks by donating to the KDE e.V., KDE’s non-profit organization.
VLC Media Player has the ability to convert video/audio files into various formats it supports, since a long time. There is a dedicated “Convert/Save” menu for converting single or multiple files at once into a different format, with limited ‘editing’ features such as specifying a start time, caching options etc. It is quite useful for basic editing/cropping of multimedia files.
As an example, one of the easiest ways to create a custom iPhone ringtone is to create a “.m4r” (AAC format) file exactly 40 seconds long. It is a matter of selecting your favourite music file and doing a “Convert/Save” with appropriate “Profile”. A “Profile” specifies the video/audio encoding to be used, which can be easily customized by selecting different audio and video codecs.
The options “Caching time”, “Play another media synchronously” (think adding different sound track to a video clipping) and a “Start time” etc can be specified under “Show more options” button and even more advanced functionality is available by making use of the “Edit Options” line. Internally, all the options specified at this line are passed to the converter.
There was one thing lacking in this “Convert/Save” dialog though – there was no possibility to specify a “Stop Time” akin to the “Start Time”, in the GUI (although it can be manually specified in the “Edit Options”, but you need to calculate the time in milliseconds). VLC 2.x series convert looks like as follows – notice the lack of “Stop time”:
Being bugged by this minor annoyance, I set out to add the missing “Stop-time” functionality. Going through the codebase of VLC, it was relieving to see that the converter backend already supports “:stop-time=” option (akin to “:start-time=“). It was then a matter of adding “Stop Time” to the GUI and properly updating the “Edit Options” when user changes the value.
A working patch was then sent to vlc-devel mailing list for review and feedback. After 5 rounds of review and constructive feedback from Filip Roséen the code was cleaned up (including existing code) which is now committed to the master branch. This functionality should be available to users in the upcoming 3.0 release. Screenshot below:
Tagged: hacking, vlc
Kitware released CMake version 3.7 on Friday night. There is one feature mentioned at the very bottom of the feature list that makes this a really exciting release for people writing tools that integrate with CMake: The server-mode.What is CMake server-mode?
The Qt Creator team has had contact with the CMake communinity for a long time now and was actively involved in discussions with CMake and other IDE and tools vendors. After many discussions the CMake community decided that the best way forward to support the use-cases of IDEs was to add a new interactive way to interact with CMake, the so called server-mode. There was some initial development started by Stephen Kelly, who made an impressive prototype.
At this point the Qt Creator team decided that this functionality is crucial to enable first class CMake support in Qt Creator. So I went ahead and jumped into CMake development. The result is a set of patches that implement a production-ready server-mode for CMake that was merged in time for the CMake 3.7 release. The server-mode currently focuses on core functionality like parsing the project structure, etc.
This development happened in close collaboration with developers from KDevelop and the CMake community.
I am committed to maintain CMake server-mode support going forward and hope to continue to develop this feature in close collaboration with all interested parties.
CMake version 3.7 is the first release that ships this code.What does CMake 3.7 enable?
The first change in CMake 3.7 is that it now provides machine-readable output with basic information about the capabilities of the CMake binary (via “cmake -E capabilities”).
This includes static information like version number or whether server-mode is available, but also details on the supported generators.
IDEs can use this information to provide a better UI for selecting generators.
CMake server-mode (started via “cmake -E server”) allows IDEs to query a range of CMake settings and project information in a machine-readable form, many of which were not available to IDEs before. This enables a more detailed view of the CMake project.
The information is also taken from CMake directly, making sure to use the same code that is also used by the CMake generators to write the actual build-system files. So the information is more accurate than what was available before. This makes the code model more exactly represent what is actually going to be built.When will we see these improvements in action?
I think the server-mode is the way forward for all tools that need to extract information from CMake. Interest in this topic seemed very strong in my workshop about CMake at QtCon this year. I hope to see CMake server-mode flourish going forward.
There is code that makes use of the new CMake 3.7 features in the master branch of Qt Creator. So this will be present in Qt Creator 4.3, planned for spring of 2017.What will improve in Qt Creator?
Creator will continue to support any CMake version 3.0 (or later), just as current versions of Qt Creator do. But Qt Creator master does support CMake server-mode already and will make use of the better information. You will be able to switch between CMake binaries with and without server-mode support as needed.
Using CMake server-mode enabled binaries will have the following effects:
- Generator selection is no longer limited to those generators with support for the “CodeBlocks” extra generator. Any generator can now be used.
- The Generator selection UI now knows which options are available for each generator. E.g. the “Ninja” generator used above does not support Toolsets or Platform settings.
- The project tree is much improved and knows about projects and build targets defined in CMake.The screenshots show the project tree from Qt Creator 4.2 and from Qt Creator master — with an old CMake and with CMake server-mode.
Qt Creator master adds all headers found in include paths of a build target and not listed in the CMakeLists.txt to the project tree (for all versions of CMake). These headers are printed with a grey text color so they can be distinguished from sources known to CMake.
In server-mode the project structure is more visible: The “scribus” project defined in the top-level CMakeLists.txt file is clearly visible. So are the different build targets. The “scribus_colormgmt_lib” build target is expanded and all files belonging to that target are listed.
- The code model has way more accurate information about all targets. This sounds very simple, but has not always been the case for CMake projects up to now.
Stephen Kelly has pioneered interesting features in his CMake server-mode implementation prototype. Many did not make it into the new CMake release.
Going forward I would like to see more of these powerful features. This includes debugging of CMakeLists.txt files and syntax highlighting driven by CMake itself. These require deep integration into CMake and will require a much deeper understanding of CMake internals than I currently have. So I hope CMake developers find the server-mode interesting enough to help out a bit here and there:-)
I would like to say thanks to Aleix Pol (KDevelop) and Stephen Kelly (CMake community) for all the feedback they provided. Finally I have to thank Brad King from Kitware for his patience while reviewing my code.Where can I get this?
Get CMake 3.7 here: https://cmake.org/download/
View the Qt Creator master sources: https://code.qt.io/cgit/qt-creator/qt-creator.git/
Or use git to clone the code: git clone git://code.qt.io/qt-creator/qt-creator.git
Could you tell us something about yourself?
My name is Katharina and I am from Germany. I study in Cologne and share a flat with my fiancé and three rabbits.Do you paint professionally, as a hobby artist, or both?
Drawing is mainly a hobby for me, to express myself and getting my thoughts together. But from time to time I do a little freelance work, mostly fanart of games.What genre(s) do you work in?
My works are mainly fantasy inspired, and I try to communicate through them. I like to address topics such as environmental protection and animal rights. For me, perfect fantasy drawings are not too cheesy but invite you to dream and contemplate.Whose work inspires you most — who are your role models as an artist?
When it comes to my role models I am rather focused on artists who create esthetical, dramatic and dark images. Even though I love vibrant colours, I am also a fan of ghoulish and gloomy works. I am mostly inspired by digital artists such as Ruan Jia, Guangjian Huang, Dave Rapoza, Jeff Simpson and Tobias Kwan (his works for the Motherland Chronicles are insane.)
One of the most important aspects for me is to always go back to the roots of art. I am deeply obsessed with classical and traditional art, I adore Gustav Klimt. Also Rousseau and Mucha. And I am most vigorously attracted to art of the 1800s to early 1900s, like Adolf Hirémy-Hirschl, Sir Lawrence Alma-Tadema and Edmund Blair Leighton. One of my favourite drawings is Guillaume Seignac’s Pierrot’s Embrace.
And even though I am not really into drawing manga I deeply admire Hayao Miyazaki for always addressing delicate topics such as environmental pollution and violence in a way everyone can understand it. He manages to merge art and understanding. I know that artists often do not want to use the moral club because they do not want to scare away their fanbase, so I think he and Studio Ghibli are kind of pioneers in that matter.
In my opinion, the perfect digital artwork is based on the understanding of traditional arts. It connects future and past, tradition and innovation.How and when did you get to try digital painting for the first time?
I bought my graphic tablet in 2012 from the money my father gave me as graduation gift. The catalyst was actually one single picture, which was Ruan Jia’s Vanishness. It has shaken my very foundations that a human being could create such delicate art… with a computer.What makes you choose digital over traditional painting?
The most wonderful thing about digital art is the endless amount of vibrant and crazy colours one can use. Or you can create a completely authentic, classical ‘oil’ painting. As you wish. And no cleaning up afterwards. (Yess!) Of course one should not forget that, to a certain point, the comprehension of traditional art and art techniques is the key to deeply succeed with the graphic tablet. But of course digital art also gives the artist the possibility to create art effectively, quick and clean, which can speed up the learning process. Ideally digital art goes hand in hand with traditional.How did you find out about Krita?
Krita originally was a stopgap for me. As a student I just could not afford an expensive program. A friend of mine told me about various freeware, among others Krita. As I started to use Krita, I got used to it very quickly. Might sound cheesy, but right now I am not looking forward to getting my hands on another program. In fact, I have not spent a single thought on it for years.What was your first impression?
One of my first impressions was the fact that every artist who saw WIP posts from my works wanted to know the name of that extremely handsome program and were very curious about that new kid in the neighbourhood. And they were kind of right, Krita neither looks nor feels like freeware. This surely impressed me, since I was kinda ashamed at the beginning to use freeware.
By now I am really proud when I can lecture clueless people about the benefits of Krita.
What do you love about Krita?
I love the professionality of Krita. It really does not need to hide behind the big guys in business. You can use your photoshop or whatever brushes and formats and many more, there is no “Meh, that brush is not made by us, you can’t use it!“. The user interface is smart and chic, the brushes work smooth and I never had any problems with my hardware. It simply combines everything I need, without the need to check a manual too often. It feels effortless to use it! And also it is nice to find other Krita artists randomly on the internet, it is always a nice way to start a conversation.What do you think needs improvement in Krita? Is there anything that really annoys you?
I actually can not think of anything that bugs me about Krita itself. Of course I am not a professional who could tell you something about the technical features. Back then, when I first downloaded Krita it crashed from time to time, especially while auto-saving. But the Krita team did a very good job fixing bugs and little mistakes, listening to the community and stepping up their game. There is actually nothing negative to tell you about right now.
I just wish for more advertising and awareness for Krita; I think a bigger community would be wonderful and beneficial for all users, sharing experience and love. Also a bigger presence in all social medias and especially art-oriented platforms, contests and live-streams or local events would be amazing. It could help Krita to reach more potential, influential supporters, artists and media personalities. I am excited to see how the Krita Foundation will develop in the next years, not only the program itself but also the public relations section.What sets Krita apart from the other tools that you use?
As I already mentioned, I am really not in the position to talk about technical stuff, since I am not really into that. But I can share my experience so far. The most frequent compliment I get for my digital artworks are the colours. And I think Krita’s colours and colour management are highly satisfying. Definitely one of the most outstanding features. Combined with the lovely user interface and well working brushes, it just creates something other programs don’t have. I can not exactly pin down what makes Krita so unique, I guess it is the whole package. It is just right for lazy people like me who just want to download and start drawing. And also for professionals, who are well informed and who like to get deeper into detail.
If you had to pick one favourite of all your work done in Krita so far, what would it be, and why?
One of my favourite drawings completely done with Krita is ‘Garden of the Creator’ (originally Des Schöpfers Garten) which was inspired by Eugene Bidau’s ‘A Peacock And Doves In A Garden’ from 1888 and the movie Blade Runner, or to be precise the book ‘Do Androids Dream Of Electric Sheep?’. I wanted to draw a prosperous garden like Bidau did, moist air, the screeching sound of an artificial peacock and a damaged android, waiting in the gloomy light. The android’s hand has been cut off, and the viewer does not know what happened. Did the creator try to destroy it, another android? Who is it waiting for, someone to fix it or someone to finally kill it? I enjoy to add little story-telling elements to my works which one does not see at first glance. I love to explore other artists’ artworks. So you could say that I mainly aim to create art for art’s sake, but I often try to add a little twist.What techniques and brushes did you use in it?
I did a sketch first, afterwards a greyscale layer to define shadows and lights. Later, I coloured this layer and drew all details by hand. (I will never draw a peacock again.) I do use the lasso tool a lot to render and
define. I often do not use texture brushes while drawing, often I add some textures in the end, if necessary. I also try not to use the undo function too often, but to overpaint my mistakes like you would on canvas. I aim to keep my working process as traditional as possible. ‘Normal’, ‘multiply’ and ‘overlay’ are my most frequently used brush modes.
You can find me on ArtStation, this is where I upload my digital artworks only. (https://kathiptt.artstation.com/) . On my blog (http://postinett.blogspot.de/) you can see my digital works, sketchbook pages, practices, commissons, news and traditional stuff. I am also on DeviantArt as PTTartwork, but I do not like to use it anymore.Anything else you’d like to share?
I would like to motivate everyone, especially experienced artists, not to judge a book by its cover. Krita might be freeware, but there is actually no downside to it.
Furthermore I want to address aspiring artists to always be honest with yourself, stay true to your heart and do not try to be someone else. Of course great artists always have been inspired by each other, but they only grew bigger than their fellows by being unique and breaking rules.
One more thing; be kind, respect nature, create love.