Tuesday, August 15, 2017


I grew up in a right-wing, Republican family. As I grew to adulthood and read about the proud history of the Republican party, beginning with Lincoln, I embraced that party, even as racism began to be embraced as a political strategy during Nixon's campaign for president. I overlooked that part, because I didn't want to see it. Besides, the Democrats were the party of racists.

However, as I heard about the crimes that President Nixon seemed to be excusing, and that people around me also seemed to excuse, I began to think long and hard about party versus principle. Within a few years, I left that party, especially as I saw the Democrats, so long the party steeped in racism, begin to attempt to repair that damage done to the country. It took me many years to admit that I had changed parties, because my beliefs have not changed that much. I just see things more clearly now, after reading a lot more history.

Today I've seen a Republican president embrace racism, support of the Confederacy, and support racists, neo-Nazis, white nationalists, and the Ku Klux Klan party -- a party his father supported in Queens, New York. Fred Trump was arrested for marching publicly in full regalia, masked, hooded and robed. I've seen no report that he was convicted, although there are pictures of the march and the arrest report in the local newspaper.

Make no mistake about it; today's statement was deliberate. Trump's entry into the political fray was as a leader of the so-called birthers, questioning Barack Obama's citizenship. His announcement of candidacy was a full-throated anti-immigrant stance, which he never moderated and has not changed.

Yes, previous American presidents have been racist, some of them proudly so. But since the Civil War we have not seen -- until today -- a president of the United States throw his political lot in with white nationalists and neo-Nazis. Good people voted for this man, hoping that he would shake things up in Washington. Good people cannot stand by statements such as Trump made today.

It is time for the Congress to censure this President. The statements made today are morally bankrupt, and are intolerable. Good people do not march with neo-Nazis, and good people cannot let statements such as those made today, stand.

Friday, August 11, 2017

Akademy; at 20, KDE reaches out

Some of the talks, initiatives, conversations, and workshops that inspired me at Akademy. Thanks so much for the e.V. for sponsoring me.

A. Wikidata  - We have some work to do to get our data automatically uploaded into Wikidata. However, doing so will help us keep our Wikipedia pages up-to-date.

B. Looking for Love, Paul Brown's talk and workshop about Increasing your audience's appreciation for your project. Many of the top Google results for our pages don't address what people are looking for:
  1. What can your project do for me? 
  2. What does your application or library do?
Paul highlighted one good example: https://krita.org/. That crucial information is above the fold, with no scrolling. Attractive, and exactly the approach we should be taking in all our public-facing pages.

My offer to all projects: I will help with the text on any of your pages. This is a serious offer! Just ask in IRC or send an email to valorie at kde dot org for editing.

C. The Enterprise list for people with large KDE deployments, an under-used resource for those supporting our users in huge numbers, in schools, governments and companies. If you know of anyone doing this job who is not on the list, hand along the link to them.

D. Goalposts for KDE - I was not at this "Luminaries" Kabal Proposals BoF, but I read the notes. I'll be happy to see this idea develop on the Community list.

E. UserBase revival -- This effort is timely! and brings the list of things I'm excited about full circle. For many teams, UserBase pages are their website. We need to clean up and polish UserBase! Join us in #kde-wiki in IRC or the Telegram channel and https://userbase.kde.org/Wiki_Team_Page where we'll actually be tracking and doing the work. I'm so thankful that Claus is taking the leadership on this.

If you are a project leader and want help buffing your UserBase pages, we can help!

In addition to all of the above ideas, there is still another idea floating around that needs more development. Each of our application sites, at least, should have a quality metric box, listing things like code testing, translation/internationalization percentage, number of contributors, and maybe more. These should be picked up automatically, not generated by hand. No other major projects seem to have this, so we should lead. When people are looking for what applications they want to run on their computers, they should choose by more than color or other incidentals. We work so much on quality -- we should lead with it. There were many informal discussions about this but no concrete proposals yet.

Saturday, August 5, 2017


There are a couple of reasons to create a network of trust, using gpg keys. If you are a software developer and want to sign your commits, and on a larger stage, sign software releases, you need a key pair. On a distribution level, ISOs are signed as well. In Ubuntu, a GPG key is required to sign the Code of Conduct.

On a personal level, emails and other communications and files can be signed and/or encrypted. In this era of wide-spread spoofed emails and more and more efforts to snoop into our every move, gpg is a tool we can use to prove our identity and be able to rely on gpg-signed emails.

I attended a keysigning at Akademy, which involved a few steps. First, generating a key pair. This is amazingly easy: gpg --gen-key . Various options are discussed here, among other places: http://www.cryptnet.net/fdp/crypto/keysigning_party/en/keysigning_party.html#keypair_generation. This site and many others describes how to immediately create a revocation certificate, just in case. This is not difficult either. Finally, send your key pair to a keyserver, and your fingerprint to the person running the keysigning event, or print out the fingerprint yourself.

At the keysigning, you will check to see that your own fingerprint is correct as provided by the host, and that each person at the event has valid identification proving they are who they say they are.

The final step to creating your web of trust is signing those keys. Some people have an additional step before signing and uploading; that of sending an encrypted email to each person to establish that both keys work. Since I created my key pair using my gmail address, I was having some difficulty with decrypting some of those emails using "mailvelope", a gmail addon. Bhushan Shah told me that I can download the raw encrypted email and then decrypt that file by gpg --decrypt filename.txt . Excellent!

gpg --encrypt filename.txt recipientkeyID works as well.

Now I've found and am trying out GooPG which is interesting, and seems to work. Nothing seems to be able to read the email I got from Launchpad to verify my uploaded key, however. :(  The actual code block throws a CRC error.

To sum up: be a geek, do some key signing, and sign your emails! And when needed, encrypt them.

PS: Martin Bednar asked where to find the Google extension. None of my browsers let me answer comments (or even make comments) directly, so here is the link: https://chrome.google.com/webstore/detail/goopg/ifpoaednafmgolabhpjmbimllaoidelg

Thursday, July 27, 2017

SeaGL's Call for Presentations open through August 6th

SeaGL is a grassroots technical conference, in Seattle, dedicated to spreading awareness and knowledge about the GNU/Linux community and free/libre/open-source software/hardware. We welcome speakers of all backgrounds and levels of experience – even if you’ve never spoken at a technical conference.


This year's conference is on Oct 6 & 7 and will take place at Seattle Central College.

Wednesday, July 26, 2017

Artful Alpha 2 release candidate is ready for testing!

Test if you can, on real hardware if possible, in virtual machines if not.

Kubuntu Desktop amd64 testcases in Artful Daily:

The label "Daily" will change once the Alpha 2 has been milestoned. Remember to report bugs and link them on the qa site. The easy way to file bugs is in the commandline: ubuntu-bug packagename. Ask us in IRC (#kubuntu-devel) if you need a package name.

Kubuntu Desktop i386 testcases in Artful Daily:

It is so important to get this preliminary testing done if we want a 32-bit Alpha 2 ISO! We could not do an alpha 1 of Artful for this reason.

Thank you folks. That alpha 2 ISO will be spun on the 27th -- IF we have all tests done. If not.......


PS: sorry for the late notice; I'm currently in Spain at KDE Akademy. You can subscribe to get the testing notices directly: http://iso.qa.ubuntu.com/qatracker/subscription

Wednesday, May 10, 2017

GSoC: How can I improve next year?

For those students who are disappointed with a rejection email, here are some common mistakes and strengths we noticed. Keep these in mind to strengthen your proposal next year.

Common Mistakes:

  • Did not follow directions
  • Did not subscribe to and use the mail lists, IRC channels, attend team meetings, etc.
  • Did not submit a final, complete proposal
  • Misunderstood the project's scope, or failed to include writing documentation and tests throughout the coding period
  • Poor timeline: unrealistic, or lack of implementation or time detail
  • Did not take mentors' proposal feedback into consideration, or submitted too late to get input
  • Did not link to commits to the KDE codebase
  • Had no engagement with the community
  • Demonstrated no knowledge of the KDE community's needs

On the other hand, some students have active since many months, or even a year.

Accepted Students:

  • Showed extra effort, thought, and time spent on making a great proposal
  • Submitted a complete draft soon after applications opened. Some even asked for feedback before that
  • Improved each draft iteration with mentor feedback
  • Demonstrated areas of growth and collaboration, through linked commits
  • Engaged on mail lists and chat
  • Engaged with the community past the submission deadline
  • Detailed timeline included time for code review, unit testing, and writing documentation throughout the coding period
  • Included all features planned to improve and/or implement the project
  • Marked clear deliverables
  • Included all other commitments, and adjusted timeline based on absences

There is no need to wait around for GSoC deadlines to get started or continue in any open source organization, including KDE.

This year, KDE had great student engagement and a good level of commitment for all students so even if you followed all of these points, you may still have gotten a rejection email. We realize that this can be discouraging. However, we did our best to pick the students whom we think can fulfill the project's needs, and continue along in the future as KDE developers.

We really appreciate all the effort and thank you for applying to KDE. Our community covers the world, and we're here to help you get started in open source development at any time. In fact, if you are interested in being mentored and do not need funding, we'll be rolling out Season of KDE in a couple of months.

Thursday, May 4, 2017

Google Summer of Code students are announced today

Google Summer of Code students are announced today! The KDE community is happy to welcome our new students, who will be coding for Cantor, Digikam, Frameworks, Gcompris, Kdevelop, Kopete, Krita, Kstars, Labplot, Marble, Minuet, Plasma, and Wikitolearn (alphabetical order, not in order of importance).

For Cantor, Rishabh Gupta will "Port all backends of Cantor to Q/K process." For Digikam, Yingjie Liu will make “Face Management Improvements," Ahmed Fathy will enable "Database export to remote network devices using DLNA/UPNP," Swati Lodha will create "Database separation for Similarity" and Shaza Ismail Kaoud will make a "Healing clone tool for dust spots removal."

In Frameworks, Chinmoy will enable "Polkit Support in KIO." Gcompris has two students working with the same project title, but will be doing different independent tasks. Divyam Madaan and Rudra Nil Basu will both be "Finishing started activities for GCompris in Qt-Quick." In Kdevelop, Emma Gospodinova will provide "Rust support for KDevelop" while Mikhail Ivchenko will give us "Go Language support in KDevelop."

Kopete has two students this year; Vijay Krishnavanshi will create a "Testing interface for Kopete and Improvement of protocol support" and Paulo Lieuthier will make "Chat history improvements." Krita has four students; Alexey Kapustin providing "Telemetry for getting statistics for which features are used the most in Krita," Grigory Tantsevov "A Procedural Watercolor Brush Engine for Krita," Eliakin Costa will "Develop a showcase of Krita's new scripting support" and Aniketh Girish "Integrate with share.krita.org."

In Kstars Csaba Kertesz (kecsap) will "Improve stability, testing and bring modern C++ to KStars." Labplot's Fábián Kristóf will begin "Adding support for plotting of real-time data in LabPlot." Marble: Mohammed Nafees (mnafees) will work on "Marble Indoor Maps" and Bartha Judit (Bernkastel) "Marble Material Maps." Minuet's Ștefan Toncu (StefanT) will create a "Multiple-Instrument View Framework." For Plasma, Lukas Hetzenecker will "Make High-DPI awesome" and Atul Sharma will be "Migrating to Kirigami (Koko)."

Finally, Wikitolearn has three students for 2017. Davide Riva will work on "Chat Bridge," Vasudha Mathur will "Stabilize and ship Ruqola" and Cristian Baldi will make a "Progressive Web App for WikiToLearn."

KDE Student Programs thanks all these students for their fine work so far, and the mentors and teams who are already helping these new KDE developers fix bugs and improve our codebase, documentation, testing, and quality. We're really looking forward to working with all of you as we prepare for the coding period, which begins May 30. Look out for the student blogs and posts on the Planet and mail lists, welcome them and help them as you are able, now during the "community bonding period."