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."

Friday, March 24, 2017

Laptop freezing -- figuring out the issues

Hi all, I have an awesome laptop I bought from my son, a hardcore gamer. So used, but also very beefy and well-cared-for. Lately, however, it has begun to freeze, by which I mean: the screen is not updated, and no keyboard inputs are accepted. So I can't even REISUB; the only cure is the power button.

I like to leave my laptop running overnight for a few reasons -- to get IRC posts while I sleep, to serve *ubuntu ISO torrents, and to run Folding@Home.

Attempting to cure the freezing, I've updated my graphics driver, rolled back to an older kernel, removed my beloved Folding@Home application, turned on the fan overnight, all to no avail. After adding lm-sensors and such, it didn't seem likely to be overheating, but I'd like to be sure about that.

Lately I turned off screen dimming at night and left a konsole window on the desktop running `top`. This morning I found a freeze again, with nothing apparent in the top readout:

So I went looking on the internet and found this super post: Using KSysGuard: System monitor tool for KDE. The first problem was that when I hit Control+Escape, I could not see the System Load tab he mentioned or any way to create a custom tab. However, when I started Ksysguard from the commandline, it matches the screenshots in the blog.

Here is my custom tab:

So tonight I'll leave that on my screen along with konsole running `top` and see if there is any more useful information.

Wednesday, February 15, 2017

Folding, origami, and Folding@Home

A few months ago, I started Folding@Home in the Ubuntu Folding team. I really enjoy checking my standings each night before I go to bed. What is Folding@Home? https://folding.stanford.edu/home/about-us/. Has Folding at Home actually done anything useful? Check Reddit and see what you think.

Team 45104 Rankings. http://wiki.ubuntu.com/FoldingAtHomeTeamUbuntu if you are interested in competing while contributing. It seems like interest has fallen off in the past year or so, which is a bit sad. On the other hand, it makes climbing up the standings easier!

I was reminded to make this post while watching NOVA tonight on PBS, about Origami. There are so many new applications to this ancient art of folding paper in art, in mathematics, physics and material science, and even biology. You can see it online if PBS is not available to you.

PS: right now, I have 921,667 points, which puts me in the top 180 in TeamUbuntu (#179 to be precise).

Saturday, January 14, 2017

Google Code-in draws to a close -- students finish your final task by January 16, 2017 at 09:00 (PST)

KDE's Google Code-in party is ending once again. Student work submitted deadline is January 16, 2017 at 09:00 (PST). 

Mentors, you have until January 18, 2017 at 09:00 (PST) to evaluate your student's work. Please get that done before the deadline, so that admins don't have to judge the student work.

Then it will be time to choose winners. We need to have our choices in by January 23, 2017 at 09:00 (PST). Winners and Finalists will be announced January 30, 2017 at 09:00 (PST).

To me, this contest has been lovely. Because there are more organizations participating now, there are more tasks for students, and less pressure on each org. It seems that the students have enjoyed themselves as well.

Spencerb said, in #kde-soc, This was my first (and final) gci, so I don't have much of a point of comparison, but it's been awesome. I've been an opportunity to meet new people and just get involved with KDE, which I've wanted to do for a long time. I've also learned a lot about serious software development that I wouldn't have otherwise.

"I'll turn 18 this Monday, which is why this is my last year :(  I'm so glad to have had the chance to participate at least once.

As a task, Harpreet filed a GCi review: http://aboutgci2016.blogspot.in/

So far, we've had 121 students. The top ten have 103 completed tasks so far! And 160 tasks completed so far. Most exciting for me is that Beginner tasks completed: 45. Getting kids acquainted with Free and Open Source Software communities, which is why every organization must have beginner tasks. I'm glad 45 kids got to know KDE a bit.