I have some posts to write about Cantor but first I would like to request a help to KDE packagers of several Linux distros around the world.
I received some mails from users asking “how can I use python in Cantor?” or “where is python support in Cantor?”. Well, python2-backend is available in Cantor since KDE 4.12 release. If you is using KDE >= 4.12 but you can not to use python in Cantor, maybe the package was not build correctly.
python 2 development library (commonly packed as python-devel in some Linux distros) is required to build python2-backend. python 2 is required to use Cantor with python 2.
Then if you are a Cantor user and can not to use Cantor with python, please write a bug report in the bug management system of your distro. You can to put a link in the bug report to this post too.
Anyway, if your distro bring or not bring python2-backend, write a comment below and I will make a table with this information.
- Social skills for geeks
- Presenting awesome (workshop about giving presentations)
- How to run a booth and present your project
- Where KDE is and where it is going
- Cloudy experiences at home (about ownCloud!)
- Community building in 10 steps
That's quite a bunch, I know, but it'll be fun! I look forward to Dubrovnik, although I see it will be rainy and not that warm. Ah, sad...
LinuxTag 2014 - all changeA much bigger deal, for me, is LinuxTag. This year, it is considerably different from the previous few years: no more in the Messe! Instead, the team is collaborating with DroidCon and Re:Publica. That, combined with the location (Station in Berlin), could potentially be awesome! Here I give one talk about the future of KDE. I'll also be speaking at the Community Leadership Summit Europe about Open Governance.
But more importantly, I'll be organizing the LT booth for three projects: ownCloud, KDE and openSUSE. Yeah, ambitious again! Not only that, we're not going for the traditional booth. Instead, I've proposed to do something different: have a track of technical mini-workshops at the booth. 45 minute talks, small, hands-on, about the technology of these projects. So, think about building packages with the Open Build Service, writing an ownCloud App or developing a QML based Plasma widget.
Needing some helpThe idea seems generally liked but I haven't found anybody for any of the three above potential talks - so if you can and want to do that or something like it, please let me know! We won't have too much traditional booth space, just enough for a bit of stuff and one or two ppl answering questions. The talks will repeat every day so as volunteer, you give your talk 3 times, once every day. Otherwise you are free to enjoy the talks as well as the Re:Publica booth area. As the tickets are not cheap (Eur 149!) this is a nice way to get into LinuxTag for free (I have only 2 tickets per booth, though). You'll get hugs and Club Mate as much as you want. And there's travel support available for all these projects!
Help me out, please! And if you can't - at least, be sure to visit the booth at LinuxTag or come say hi at the openSUSE Conference!
Plasma NM 0.9.0.11
This may be the last Plasma NM 0.9.0.x release. If you have not moved to Plasma NM 0.9.3.x please do it.
. Port commit 947f56f1cd21a72fa0f88e1c42ac8c19e23864d0 from plasma-nm to fix building with openconnect >= 5.99. There are still some missing bits to fully support openconnect 5.99 tough.
331151: fix crash when retrieving NetworkManager's state.
. Add OpenSwan VPN plugin. Thanks Jan Grulich for this patch.
328189: Add more help information about VPNC's DES encryption setting.
317568: Fixes Plasma NM forgets 802.1x settings as soon as the dialog box is closed.
The following languages have more than 80% of strings translated:
bs ca ca@valencia cs da de el es et fi fr gl hu ia it kk km ko lt nb nds nl pl pt pt_BR ro ru sk sl sr sr@ijekavian sr@ijekavianlatin sr@latin sv tr uk zh_CN zh_TW
Also read some very usefull information about how to use and avoid problems when using Plasma NM in my past posts page.
What I wrote to the kde-community mailing list today:
With the KDE Frameworks 5  and Plasma  well underway the only thing of
the old KDE Software Collection are the KDE Applications that don’t yet have a
release plan or schedule for the Qt5/KF5 port. Beneath these big changes in a
lot of our software there are quite a few other changing and exciting things
- New Qt based software like GCompris and Kronometer
- New software for the web like Bodega and WikiFM
- Even greater hardware projects like the Improv and Vivaldi
- And other things like the new KDE Manifesto and our new Visual Design Group
Everything under the KDE umbrella and in the KDE family. I’d like to take this
time to discuss some ideas for future releases of our software. How we could
reorganize it, what we could formalize and where we need decisions. So this
email is the start of a series of proposals to discuss here and to then get an
The following three (or more proposals are mostly independent:
- Proposal email One: KDE (Core) Apps and Suites
- Proposal email Two: The Sigma Release Days and independent releases
- Proposal email Tre: More formal release and announcement processes
- Proposal email For: More architectures/platforms for KDE’s CI
They will be sent to this mailing list in a minute and are quite short in text
and that on purpose. We can’t yet discuss these things in every detail but we
want to paint the direction in which we are planning to go.
Short disclaimer: With these ideas I’m sitting on the shoulders of giants as
you. I don’t want to steal ideas or that it looks like I stole them.
These are proposals based on several threads, IRC discussions, personal
discussions and other summaries.
Another thing, not included in these proposals, is the KDE Applications 4.14
release schedule  and if we want to make KDE Applications 4.14 an LTS
release till August 2015 (when the Plasma 4.11.x LTS release ends) or if there
should be another 4.15 release. But this discussion should be held on the
release-team mailing list .
So thanks for reading and tell me your opinion and constructive feedback to
these proposals. Try to keep it short and precise and I’ll try to keep record
of numberous opinions and ideas and will post summaries in one or two weeks.
Details can be discussed in Randa and/or at Akademy. So let’s concentrate on
the bigger ideas.
Best regards and hugs
PS: Don’t sent email to this thread for ideas to the proposals mentioned
Hello planet! Okay, that’s not even a word, GSOCer..! but I am selected in Google Summer of Code 2014 with KDE. My project is Integrating Plasma mediacenter with Plasma Next and porting it to KF5 and Qt5. My mentors are Sinny Kumari and Shantanu Tushar Jha.
This project involves various task,
- Porting plasma mediacenter library, plugins, and backends to Qt5/KF5
- Porting user interface elements to QtQuick2 and Plasma Next components or rewriting if needed.
- Creating Plasma shell package which wraps user interface elements.
- Writing more unit tests for plasma-mediacenter library.
- Porting away from deprecated API in KDELibs4Support.
I discussed this project with Shantanu Tushar at the conf.kde.in 2014. Given I already worked on plasmoids porting to Qt5/KF5 in Plasma Next during Season of KDE I found this project perfect for me. Some more things about this project.
- In a free time I already ported plasma mediacenter library and unit tests to KF5 and Qt5. Code lives in frameworks-scratch branch of plasma-mediacenter repo,
- Also I have ported browsing backends and plugins to KF5 and Qt5.
- This will allow me to focus on user interface and shell implementation in coding period.
- During community bonding period I will cordinate with KDE Visual design group and KDE Usability group for new design
Overall, this is going to be a great experience for me like Season of KDE. I will get involved with KDE Community more and more during GSoC and hopefully our users will benifit from it. That’s my wish.
Again Thank you my mentors, Plasma team and KDE for giving me chance to do things this GSoC. Also I thank Google for organizing such a nice program.
You can find the release schedule for KDE Applications 4.14 at http://techbase.kde.org/Schedules/KDE4/4.14_Release_Schedule.
This schedule follows the same rhythm as 4.13 since it seems to have worked well. So in roughly 4 month you get some new KDE Application with some new features.
Also remember that 4.14 will be applications and kdelibs only (feature frozen); KDE Workspaces (aka Plasma) will be getting 4.11.x LTS releases until August 2015.
We’re still discussing if 4.14 will be the last Qt4 based release of the KDE Applications and thus become an LTS release or if there will be another release: 4.15.
There's only 1 tool to deal with an unsupported Windows XP...
I’m pleased to announce that I have been accepted as a student for this year’s GSoC. After having worked on Nepomuk (now Baloo), I will have the chance to work on KDevelop, the wonderful IDE based on KDE technologies.How KDevelop Supports Languages
The code editor component of KDevelop is based on Kate, which provides the basic syntax highlighting and editing capabilities (history, cut and paste, formatting, code folding, etc). KDevelop adds some nice features on top of that, for instance code completion and refactoring.
These features require that KDevelop understands the language used by the user. KDevelop has to know how a variable is declared, when it is used, what is a class in the language used, how functions look like, which symbols are visible in a particular context, etc. This is done using language support plugins that build something called a definition-use chain.
The job of these plugins is to parse a document and to build the definition-use chain for them. For instance, when a variable assignation is encountered (a = 2), the plugin informs KDevelop that the variable “a” has been used. When a variable declaration is encountered, the plugin tells KDevelop where this declaration occurs. This way, KDevelop can highlight the variables in different colors, and if the cursor is on a variable, KDevelop can show on which line the variable has been declared.
Type inference is an intersting topic and I worked on it for about two weeks (the first one was mainly thinking and discovering how KDevelop language plugins work, the second one was actual coding, and the third one was dedicated to submitting review requests for all that). The above screenshot shows that KDevelop is able to infer the return type of the function (the equality operator always returns a type), the type of the parameters (when the function is called, I give it integers, so these parameters are likely to be integers), and the type of the variable.
Other type inference mechanisms are also implemented. If I declare a variable and give it a value, the variable will take the type of the value. var a = "foo"; declares a variable of type string, and writing a = 3; after this line will change the type of “a” to “unsure (string, int)”, because KDevelop cannot say if the variable is a string or an int (I advise the user to avoid writing code like that :-) ).Plan for the Summer
Furthermore, special QML constructs need to be supported. QML has import statements, a special way of declaring objects (by attributing them an “id”), properties having their type declared, etc. This is all very interesting and I hope to be able to support all that by the end of the summer!
In which I can't contain the amazing efficiency of the design community in last weeks thread and blab on and on about that. Also a video AND some other details and tasty treats for you, magnificent reader. But lets start by swearing at my internet provider who've chosen this time to collapse.
Andrew made a collage of these past seven days work.
So "My internet is down". The "dog ate my homework" of this modern era I suppose but it's true! My internet is down meaning this is all going through my cellphones internet connection. So I'll be brief
Lets start by saying I am double-glazed weapons-grade-amazed of the brilliant work done in the forums. Last week I posted Andrews amazing work on the widget theme and that he would open a thread on it in the forum asking for cooperation from the community. And what cooperation he got! A slew of people turned up (all that I would have named had my aforementioned internet not been down for counting) and made something stunning into something even more stellar.
Heres a short video he shot (the colors is of course the phone - we're not going for a sepia theme just yet... or are we?). Just look it! Look I tell you what - you go to a design office and go "hey you know what a group of dedicated individuals working together in cooperation can do faster and better than you?" and then show them the widget theme and the activity the cooperation and just the wonder of it.
I will list you all and hope to get a few interviews in this week to come with a few of you. In the forum another thread exploded into a hive of activity when people started hacking on the Aurorae theme! Gartecho's version (one of several people who've edited, tweaked and worked on it I might add) consists of several different versions and is awesome in all possible ways and you can download it here!
Gartecho's Auroare Theme.
(expect this post to be greatly revised tomorrow morning when, the gods willing, the internet is back completely)
This leads me to three different things I want to ask for help with! First off I want to kick off a Wallpaper Thread properly. Get as many people as possible to join in and start suggesting wallpapers. Now you don't even have to make a new one, just post things you'd LIKE in a wallpaper. You can write and simply say what it is you enjoy, what wallpaper you have and why you have it!
Second I've started looking into sound effects for things.... Now I know, you don't have to say it: a majority of us turn them off directly. Now I'm not saying the current ones are bad - just that I want to simplify them, mute them a bit, make them part of the background and have a boot jingle that isn't so much a jingle. Something with less than three tone shifts in it.
The second I have an internet connection I will post them here!
Thirdly I think it's time to start looking again at the massive thing that is Icon themes - now Uri Herrera (Of Nitrux and Qtbox fame - you should check out his work) is working on the icon theme but to be able to devote enough time he need help on HIS icon theme and he is looking for a skilled icon designer who can follow the design guides for the Flattr theme and help him out.
And finally before my phone bill reaches four figure sums - I want to start planning for the second stage of the VDG. When it moves from designers working silently with a community around it into a group of Community Organizers with a passion for design, open source and cooperation who help create open, inclusive design together with everyone!
This is for me the holy grail of this massive project of mine - to turn design completely into a community effort with a minimum of a hierarchies, a maximum of inclusiveness and a whole lot of cool design work for all!
So these comming weeks will be strange, fun and exhausting as the hunt is on to set up community organizers who want to handle one section of design work together with the community.
Join in at the VDG forums!
And now I will go to bed swearing at internet providers and why I ate all that chocolate cake earlier today.
Happy news arrived on the kwrite-devel mailing list with this post before Easter
Nice to see that our work on Kate is awarded.
About Linux Voice: Seems to be some pretty new magazine about Linux & Open Source (Issue 2 says it all) and they promise to give 50% of their profit back to the Free Software community, developers and events. Hope that works out, it is a nice goal.
P.S. And yeah, this is just one comparison and no, lets not start the “editors wars, … edition” in the comments, there are a lot of text editors to choose between and depending on your needs and preferences Kate might not be your favorite
When I started with Free Software, there was a need for training people in the new tools that were emerging, not just to users, but also to professional that came from the proprietary world. There, the formal learning culture, through certification, is well established. Due to the business models around the delivery of technical information from soft companies to its channel and customers, investing significant amount of resources in these certifications programs was justified. For professionals, it is a way to improve their curriculum and skills.
Before embracing Free Software, I developed my career in the training sector so I made a living trying to solve this problem for companies that were in the process of discovering Free Software.
In the FLOSS world, these investments is not seen as a "requirement". Although the Free Software commercial space is getting more mature and more and more companies provide these kind of trainings, the general mindset is that you learn by doing, that the code and resources are out there that the formal training is not worth it due to its high cost, that Free Software is a learning environment by itself and that, by simply providing "learning time" to your employees they will develop the skills and learn the concepts they need. It is the typical "engineering innovation" kind of culture.
At a management level, the culture of getting training is solid, but many Free Software companies fail in spreading that culture to the technical level. In my 15+ years as professional I have seen very few companies that takes seriously the improvement of employees skills through training, specially in the engineering area.
Like when leaning a new language, in order to improve your technical skills, formal training is needed, specially at two points in time:
- At the very beginning of your learning process, when you are facing something "new".
- When you reach certain level where improving is not a matter of practicing any longer. It is the case when you make yourself understandable but need to express properly.
In the same way professionals put effort in being efficient in their everyday tasks, it is smart to be efficient in learning new concepts, developing new skills. Formal training in the first case is about that.
In the second case, in my opinion, there is no substitute for formal training. There is a point in which your investment in "studying" is less and less effective, reaching a point in which investing effort in "improving" is not perceived as worth it anymore. Internal training should cover this second case.
Despite its cost, investing in having junior developers formally trained by senior ones is worth it. Since nobody is senior in everything, seniors become juniors at some point and the other way around. So having regular training sessions covering the first case (introduction to topics) given by employees have interesting secondary benefits.
For the second case, I always recommend going for external trainers. Even in the case you have the experts at home, bringing external people always adds value, a different vision. It is important also that that person is not just a good professional, but a good trainer. It is not so common to find both skills in the same person....at home. If you have one of those.... send him/her to train your customers, not your employees. You will get a higher return.
Do not forget to evaluate and reward your internal trainers. Provide them training also, so they become better trainers. This actions should be part of a more general designed path to increase the number of engineers within your organization that can be successful facing customers and promoting the use of your products and technologies in events. It is what I like to call Engineering Marketing.
One of those secondary benefits you might have not think about is the technical documentation generated for these sessions. In some cases, specially when you are training in technologies or products your company develops, these material are a perfect base for the technical documentation you provide to customers. You can eat you own food also in this area or, at least, design it to give it an early try.
Technical support engineers and presales ones are used to "making themselves understandable". When thinking about creating or improving such a program, think about them as potential trainers. If you have technical writers in the company, involve them too in the material generation. Yes, it increases the cost of the program, but it increases the outcome too. So instead of focusing only in the cost, try to find ways to translate part of the output to your customers too, so the investment is also worth it from the "sales" perspective in the short/mid term.
Some tips about the training sessions.
In my experience, if your company is young, these sessions should take place on Friday, after lunch. It creates a good atmosphere during the less productive time of the week. It is the "fun time". If your company is a more senior one, it is harder to have a significant number of attendees on Friday afternoon so Thursdays afternoons, at the end of the day, would be the best option.
It always come a question when designing these sessions. Should they be part of the workday schedule or should they take place after work as optional?
In my opinion, these sessions should not be mandatory but they should become part of the working hours. They need follow up though, so evaluation is needed. There are many techniques to make these evaluation processes part of the learning process itself so they are not perceived as "boring". You also have to module the consequences of "failing" in these actions so you incentive participation. Having extra sessions for those who do not accomplish the goals can be a good compromise.
Who can you talk to you about this?
There are two people that I recommend you to contact if you want to know about a successful experience in having seniors training juniors as part of the organization culture. They are Miki Vazquez and Gonzalo Aller.
If you do not have a well established training program within your engineering dept. these two people might help you from different points of view: Paul Brown and Roberto Brenlla. They might help you to design and follow up a technical training program, in collaboration with your HR dept. and your technical managers.
Do you know other professionals or companies who are driving successful internal training programs for engineers (employees)? If so, please let me know. I would appreciate it, and some readers too.Agustin Benito Bethencourt (Toscalix) KDE eV and KDE Spain member Spanish Blog: http://abenitobethencourt.blogspot.com Linkedin profile: http://es.linkedin.com/in/toscalix
Throughout the recent months (and particularly: weeks), people have asked me how to properly secure their SSL/TLS communication, particularly on web servers.
At the same time I’ve started to look for good literature on SSL/TLS. I noticed that many of the “guides” on how to do a good SSL/TLS setup are actually cargo cult. Cargo cult is a really dangerous thing for two reasons: First of all, security is never a one-size-fits-all solution. Your setup needs to work in your environment, taking into account possible limitation imposed by hardware or software in your infrastructure. And secondly, some of those guides are outdated, e.g. they do neglect the clear need for Perfect Forward Secrecy, or use now-insecure ciphers. At the worst case, they are simply wrong.
So I won’t be providing yet another soon-outdated tutorial that leaves you non-the-wiser. Instead, I’ll share my collection of free and for-pay documents, books and resources on the topic which I found particularly useful in the hope that they may help you in gaining some insight.Introduction to SSL/TLS
If you’re unfamiliar with SSL/TLS, you definitely should take half an hour to read the Crypto primer, and bookmark SSL/TLS Strong Encryption: An Introduction for reference.
- Crypto Primer: How does SSL work? sums up the functionality of SSL/TLS
- SSL/TLS Strong Encryption: An Introduction is less of an introduction than a very elaborate glossary of SSL/TLS and crypto terminology
So you want to get your hands dirty? Check your server setup with Qualys SSL Labs’ server test. Make sure you fix the most important issues. You should at least be able to get an “A-” grading. If you find yourself in trouble (and are the administrator of an Apache or nginx setup), you should read the OpenSSL cookbook. Professional system administrators should have Bulletproof SSL/TLS and PKI on the shelf/eBook reader.1)
- Qualys SSL Labs is a web site that can analyze the quality of a given SSL/TLS setup (HTTP only) using a nice rating scheme 2) and providing hints on how to easily improve your setup.
- Bulletproof SSL/TLS and PKI – Subtitled The Complete Guide to Securely Using SSL/TLS and PKI in Infrastructure Deployment and Web Application Development, this book is still work in progress (and is constantly updated, also according to readers feedback). Its author, Ivan Ristić, is also the guy behind ssllabs.com. While not finished, a preview eBook is available for £19 (roughly €23 or $32). Purchasers will receive the full eBook once finished. You can also pre-order a hard copy
- OpenSSL Cookbook – Extended excerpt from Bulletproof SSL/TLS and PKI. Suitable to secure your web server. Free download (requires registration).
- Up-to-date cipher suite recommendation from Mozilla with detailed explanation on why it was chosen. (Thanks to Tom Brossman).
- Efficiently picking PFS-compatible cipher suites for IIS (using PowerShell).
If you are a dedicated IT professional, you should not miss the next section. Although it’s not crucial for those wishing to “simply secure their server”, it provides those who are responsible for data security with a clear understanding of the numerous theoretical and practical limitations of SSL/TLS.
- SSL: Paved with Good Intentions: Presentation on history and weaknesses of SSL/TLS by Richard Moore, CTO at Westpoint Ltd and the maintainer of the Qt SSL/TLS stack.
- Adam Langley (Google Chrome) on the risks of Revocation Checks
- 20 years of SSL/TLS Research Dissertation providing an excellent background on the pitfalls, attacks and risks of SSL/TLS. Suitable for non-scholars (and highly recommended). You may skip the math.
- The case for OCSP-Must-Staple: Great commentary on what is needed for SSL/TLS beyond OCSP Stapling to have good support for certificate revocation.
Sometimes you need to debug errors during the SSL handshake. While a bit primitive, OpenSSL’s s_client tool is the weapon of choice. When it comes to monitoring SSL/TLS encrypted communications, use mitmproxy or Charles. They need to be added as proxies, but can also intercept PFS connections, due to their active MITM position.
- sslyze – a command line script to check SSL/TLS on servers (Python)
- cipherscan – command line client to check effectively supported cipher suites (Bash)
- openssl s_client is a command line tool that provides details on the handshake phase and establishes a secure connection. Use it to debug problems with certificate chaining, OCSP stapling, etc.
- Wireshark packet analyzer (and why it will not help you if you’re using PFS)
- mitmproxy suite — command line tools to analyze encrypted traffic (Python-based, Free)
- Charles Web Debugging Proxy (Java, Commercial)
This list is not exhaustive and if you have more suggestions, please go ahead and post them in the comments. I’ll be happy to add them.
Finally, just like with system administration in general, you’re never “done” with security. SSL/TLS is a swiftly moving target, and you need to be aware of what is going on. If you are an IT professional, subscribe to security mailing lists and the announcement lists of your vendor. Finally, while I’m aiming to update this page, there’s never a guarantee of up-to-dateness for this list either.
Update (22.04.2014): Don’t miss the discussion on this article over at Hacker News.Article History
- 21.04.2014 – Initial version
- 21.04.2014 - Added “The Case for OCSP-Must-Staple”, Mozilla Cipher suite recommendation
- 22.04.2014 – Updated to add sslyze and cipherscan, added HN link, fixed typos
1) I do realize that I am courting Ivan a lot in this section and that relying on only an a single external web service that can go away any day is not a good thing. At the same time I think that the handshake simulation and the simple rating process are priceless, as such assessment cannot be trivially done by people whom’s life does not revolve around crypto and security 24/7. At the same time, I’m happy for any pointers towards other, user friendly tools.
2) While blindly following the rating can easily lead to the establishment of cargo cult, ssllabs.com is continuously updated to only give those a good grading that follow the best pactices. Again: Avoid Cargo Cult, make sure you have a good idea of what you are doing.
Awesome Easter, good Holy Week, too tired to type more :-)
The past week has been exhilarating and exhausting for our Kubuntu crew. I'm sure the other *buntu teams were working just as hard. Not just packaging, because that goes on all the time, though not at this intense pace. But the attention to detail, the testing, polishing, patching, discussion with developers to get those patches upstream, coordination with Debian, cleaning up copyright files, man pages and other documentation, making screen shots, our user docs and new website, more testing, more polish.... it was truly an amazing effort.
I used `ubuntu-bug` from the cli more than I ever have before, testing out the betas. It was an amazing experience to file the bug, and then see it fixed within the day! This happened again and again. The entire Ubuntu ecosystem really works well together. My thanks to those developers who read and respond to those bug reports.
What I love about Kubuntu is how everyone pitches in. All of us try to maintain balance in our lives, so that there is time for leisure and enrichment, along with work. Also, the work is fun, because the team enjoys one another, posting fun links, joking around, but continuing to work away on our todo lists. Even those who didn't have time for packaging, often stopped by the devel channel to find out what needed testing. It all helped!
Since I'm not a devel, all this was inspiring rather than exhausting. So I had the time and energy to spend time helping out folks with questions and trouble in #kubuntu and #kde. That felt great! We were able to answer most of the questions, and overcome most of the difficulties.
One issue that came up quite a few times in the last couple of days, was PPAs. On a clean install, of course all old PPAs are blown away. On an upgrade, however, they can linger and cause lots of perplexing problems. Official PPAs like backports are fine, but specialty ones should be removed before upgrading. If you need them, you can always re-add after the upgrade. For the same reason, unpin any packages you have pinned.
It is really fabulous to be able to present the latest KDE software into our Kubuntu LTS. This will give us the freedom to try out the newest stuff from KDE based on the sparkly new Frameworks, Plasma Next and so forth, in our next release. So, our users will be able to use software supported for five years if they want, while also having the option to install 14.10 (if all goes well) and check out the newest.
this is just a quick bug fix release, the last one depending on PackageKit 0.8 series, it doesn’t have new features apart from having some fixed support for appstream 0.6.
For the next 0.8.3 version PackageKit 0.9 will be required.
For more information you can look at the git logs.
Have fun :)
Me and last year's Season of KDE student Anuj Pahuja implemented a save and load feature as well as keyboard support for KBounce. However, before finally merging the changes into the master branch I'd like to hear your opinion regarding some design questions. Here they go:
1. The player is allowed to load a saved game only once. i.e. as soon as the game is loaded the save file is deleted. I made this to avoid cheating from the player's side. Without deleting the file, a player could replay the same saved game countless times, managing to always go to the highscores list.
I'm unsure about this. Is it desirable for a player to have this ability? What's your general experience on the subject?
2. By default, the keys used to move the cursor are W, A, S, D; L for rotation and Space to simulate a mouse click. What do you think about this setup? Are the arrow keys preferred over W, A, S and D? Independent on the default settings the shortcuts may be changed by the player.
3. The following screenshots show the new dialogs I've had to include. #1 looks terrible though I can't think on good alternatives to improve it for now. Your opinions are very welcome.
Save Game DialogLoad Game Dialog
Trying to Load a Game When Tere's None Saved
4. Is Ctrl+O a good shortcut for "Load Last Saved Game"? What would be a better alternative?
The code is available at the keyboard-integration branch on kbounce's repository. Give it a try and feel free to share your thoughts on the comments bellow.
I’ve been using the vim-fswitch plugin for switching between .h and .cpp files for a long time now. The thing I was really missing was the inability to switch to private headers and implementations (filename_p.h and filename_p.cpp)
Recently, I discovered the (more than awesome) CtrlP plugin. I am not going to explain here what it is – I strongly advise you to check it out!
I’ve written a small extension for it which provides the header/source/private files switcher.
There was a post recently about running a static code analysis tool on Qt 5 with some rather cute results. The main purpose of the post is to advertise the tool used, but it does make a nice point of how careless we can be when writing the code.
Since KDE is a Free/Open project, we don’t usually have the necessary finances in order to be able to use the tools like the one linked above. Fortunately, not all is grim. The great people at Clang, apart from making one of the best C++ compilers, provide us with a few tools as well.
I’ve written about clang-format some time ago. Now, it is the time for another, a bit younger project – Clang Analyzer.What is it?
The Clang Static Analyzer is a source code analysis tool that finds bugs in C, C++, and Objective-C programs. The analyzer is 100% open source and is part of the Clang project. Like the rest of Clang, the analyzer is implemented as a C++ library that can be used by other tools and applications.
~ from the project’s website
It tries to analyze the different execution paths of your code and try to detect whether some of them can lead to problems.
As an example, I’ve used it on KActivities. And I got a false-positive, but a very reasonable false-positive. Namely, one variable was not initialized when declared, and as far as the analyzer is concerned, it might have been left uninitialized till its insertion into sqlite.
In reality, it was initialized in a range-for loop which is guaranteed to have at least one iteration, which the analyzer could not have known. It took me more than a minute to explain to myself that the variable can not be uninitialized, so I can not blame the the static analysis for the false alarm.
At the moment, it does not have a very sophisticated mechanism of execution. It follows the usual pattern of wrapping the compiler commands (similar to icecream, colorgcc etc.).
You need to set your build to use the wrapper instead of the actual compiler.
Lets say that you have installed Clang to /usr/local and copied the llvm/tools/clang/tools/ directory to /usr/local/share/clang/ (the analyzer is not installed by default, so you need to copy it manually).
You can create a separate build directory (in my case /opt/kf5/build-analyzer/path/to/your/project) and invoke cmake from there like this:cmake /path/to/your/project's/sources \ ...options you normally pass to cmake ... \ -DCMAKE_CXX_COMPILER=/usr/local/share/clang/tools/scan-build/c++-analyzer
After cmake finishes its magic, run the analyzer:/usr/local/share/clang/tools/scan-build/scan-build \ --use-analyzer=/usr/local/bin/clang++ make
It will compile your project and analyze it at the same time. It will take much more time than an ordinary compilation run, but that is to be expected because of all the additional work it does.
To see the results, you need to run the scan-view command which will start a small web-server and point your web browser to it. You’ll be able to browse the detected issues from there. It nicely displays the sequence points that lead to the detected problem.
In my previous post, I wrote about a plugin for switching between header and source files (with the support for private classes) for C and C++.
The plugin has evolved for the last two days. It gained another mode, which will also be usable outside of the C/C++ world.
- Full mode – Finding related files based on the words in the file’s name
If you use the CamelCase, or the snake_case naming scheme for your files, the plugin will extract the words from the current file’s name and search (using the find command) for the files that have any of those words in their names.
For example, for ResourceActor.scala, it will return:
ResourceTable.scala ResourceService.scala SomethingElseActor.scala
It is still available at github.com/ivan-cukic/vim-ctrlp-switcher
Hope somebody finds it useful. Everyone is encouraged to contribute or star the project.
Kubuntu 14.04 LTS was released yesterday along with the all new KDE SC 4.13. Browsing around the internet this morning the feedback feels really good. Here’s some of my favourite quotes.
spiros spiros on Google+
Thank you for this great release
César J. Pinto on Google+
My God… I’m very surprise with kubuntu… it feels more fast than unity and gnome. wow…. I just…. i have no words to describe my happiness
@srikrishnaholla on Twitter
Downloading #kubuntu 14.04 LTS. Man, I’ve missed #kde !
@gholmer on Twitter
Get it while it’s hot! Newest Ubuntu with the king of desktop environments, KDE! #kubuntu http://www.kubuntu.org
@apachelogger on Twitter [OK he's not entirely neutral]
This is the best release so far! Such awesome, so #Kubuntu 14.04 LTS! http://goo.gl/jQFdZJ #bestreleaseever
@jotakinhan on Twitter
Using #kubuntu again after using other distros for long time and its great!
@LowEndGeek on Twitter
Re-visiting #kde on #kubuntu 14.04 Working much better than regular #ubuntu
One of the first reviews was on Tux Arena:
“It is a beautiful release and it will definitely be here to stay for quite some time”
And in my inbox:
From: Robert Kovacs
Subject: Excellent Release Kubuntu 14.04
Date: Fri, 18 Apr 2014 00:15:33 -0400
Thanks for all the hard work!. Kudos to the Kubuntu team. Just installed Kubuntu 14.04 and everything is working fine. Was using Kubuntu 12.04.3, which was also a great release.
Bob Kovacs (USA)