Thursday, September 11, 2014

Accessible KDE, Kubuntu

KDE is community. We welcome everyone, and make our software work for everyone. So, accessibility is central to all our work, in the community, in testing, coding, documentation. Frederik has been working to make this true in Qt and in KDE for many years, Peter has done valuable work with Simon and Jose is doing testing and some patches to fix stuff.

However, now that KF5 is rolling out, we're finding a few problems with our KDE software such as widgets, KDE configuration modules (kcm) and even websites. However, the a11y team is too small to handle all this! Obviously, we need to grow the team.

So we've decided to make heavier use of the forums, where we might find new testers and folks to fix the problems, and perhaps even people to fix up the https://accessibility.kde.org/ website to be as
awesome as the KDE-Edu site. The Visual Design Group are the leaders here, and they are awesome!

Please drop by #kde-accessibility on Freenode or the Forum https://forum.kde.org/viewforum.php?f=216 to read up on what needs doing, and learn how to test. People stepping up to learn forum
moderation are also welcome. Frederik has recently posted about the BoF: https://forum.kde.org/viewtopic.php?f=216&t=122808

A11y was a topic in the Kubuntu BoF today, and we're going to make a new push to make sure our accessibility options work well out of the box, i.e. from first boot. This will involve working with the Ubuntu a11y team, yeah!

More information is available at
https://community.kde.org/Accessibility and
https://userbase.kde.org/Applications/Accessibility

Tuesday, September 9, 2014

Fixing mistakes and growing stronger

In Creativity, Inc., Catmull explores an example of where their structure had created some problems, and how they identified and fixed that, improving their over-all culture. I know this is a wall of text, but Catmull asks excellent questions. I felt it was worthwhile to copy for you. He says,
Improvements didn't happen overnight. But by the time we finished A Bug's Life, the production managers were no longer seen as impediments to creative process, but as peers--as first-class citizens. We had become better. 
This was success in itself, but it came with an added and unexpected benefit: The act of thinking about the problem and responding to it was invigorating and rewarding. We realized that our purpose was not merely to build a studio that made hit films but to foster a creative culture that would continually ask questions. Questions like: If we had done some things right to achieve success how could we ensure that we understood what those things were? Could we replicate them on our next projects? Perhaps as important, was replication of success even the right thing to do? How many serious, potentially disastrous problems were lurking just out of sight and threatening to undo us? What, if anything, could we do to bring the to light? How much of our success was luck? What would happen to our egos if we continued to succeed? Would they grow so large they could hurt us, and if so, what could we do to address that overconfidence? What dynamics would arise now that we were bringing new people into a successful enterprise as opposed to a struggling startup?

What had drawn me to science, all those years ago, was the search for understanding. Human interaction is far more complex than relativity or string theory, of course, but that only made it more interesting and important; it constantly challenged my presumptions.... Figuring out how to build a sustainable creative culture--one that didn't just pay lip service to the importance of things like honesty, excellence, communication, originality, and self-assessment but really *committed* to them, no matter how uncomfortable that became--wasn't a singular assignment....

As I saw it, our mandate was to foster a culture that would seek to keep our sightlines clear, even as we accepted that we were often trying to engage with and fix what we could not see. My hope was to make this culture so vigorous that it would survive when Pixar's founding members were long gone. [p. 64-5]
Again, I see an almost perfect match between their task and ours, where ours=KDE e.V.. In the Community Working Group (CWG) in particular, I see my task as essentially gardening. This includes improving the soil, weeding, but never removing valuable little shoots which can grow into exciting new directions for the community. Of course I can't carry the metaphor too far, since others do the planting. But we can keep the conditions for growth optimal with our work.

In the documentation workshop yesterday, we explored the current state of the KDE documentation, how we can improve access, and grow the documentation team again. We also found some large choke points, which includes KDE.org. We really need a web team! KDE.org is valuable real estate on the web, which has been neglected for too long. More about that later.....

For now, looking forward to another day of hard work and fun in Brno!


Sunday, September 7, 2014

Late posting: Heading to Brno for Akademy!

So excited to be in the air over Seattle, heading toward Vienna and Brno, and Akademy! Beside me is Scarlett Clark, who will be attending her first Akademy, and first Kubuntu meeting. We've both been sponsored by Ubuntu for the costs of travel; thank you! Scarlett was telling me, as we waited to board our first flight, how long she looked for a place to contribute to a Linux community. She said she tried for years, in many distributions, on mail lists and in IRC. What she was told was "do something." How does a first-time contributor know what is needed, where to ask, and how to make that crucial first step?

I was glad to hear that once she found the KDE-doc-english mail list, that she was encouraged to stick around, get onto IRC, and guided every step of the way. I was also happy to hear that Yuri, Sune and Jonathan Riddell all made her feel welcome, and showed her where to find the information she needed to make her contributions high quality. When Scarlett showed up in #kubuntu-devel offering to learn to package, I was over the moon with happiness. I really love to see more women involved in free and open source, and especially in KDE and Kubuntu, my Linux home.

I was a bit sad that the Debian community was not welcoming to her, with Sune the one bright spot. Yeah SUNE! (By the way, hire him!) I think she will find a nice home there as well, however, if our plans to do some common packaging between Kubuntu and Debian works out in the future. It was interesting to see the blog by the developers of systemd discussing the same issue we've been considering; the waste of time packaging the same applications and other stuff over and over again. So much wasted work, when we could really be using our time more productively. Rather than working harder, let's work smarter! Check out their blog for their take on the issue: http://0pointer.net/blog/revisiting-how-we-put-together-linux-systems.html

Welcome to Scarlett, who is planning to get her blog up and running again, and on the planets. She'll be saying more about these subjects in the future. Scarlett, and all you other first-time Akademy attendees, a hearty hug of greeting. Have a wonderful time! See me in person for a real hug!

PS: I couldn't post this until now, Sunday morning. The Debian folks here, especially Pinotree have been great! I look forward to our meeting with them on Thursday morning.

Saturday, September 6, 2014

Creativity and KDE

Creativity Inc., by Ed Catmull, President of Pixar

My book to read for this trip finally arrived from the library last week, and I could hardly wait to dip into it. I see a profound parallel between the work we do in KDE, and the experiences Catmull recounts in his book. He's structures it as "lessons learned" as he lead one of the most creative teams in both entertainment and in technology. His dream was always to marry the two fields, which he has done brilliantly at Pixar. He tried to make a place where you don't have to ask permission to take responsibility. [p. 51]

Always take a chance on better, even if it seems threatening Catmull says on p. 23. When he hired a person he deemed more qualified for his job than he was, the risk paid off both creatively and personally. Playing it safe is what humans tend to do far too often, especially after they have become successful. Our stone age brains hate to lose, more than they like to win big. Knowing this about ourselves sometimes gives us the courage to 'go big' rather than 'go home.' I have seen us follow this advice in the past year or two, and I hope we have the courage to continue on our brave course.

However, experience showed Catmull that being confident about the value of innovation was not enough. We needed buy-in from the community we were trying to serve.[p 31] My observation is that the leaders in the KDE community have learned this lesson very well. The collaborative way we develop new ideas, new products, new processes helps get that buy in. However, we're not perfect. We often lack knowledge of our "end users" -- not our fellow community members, but some of the millions of students, tech workers and just plain computer users. How often do teams schedule testing sessions where they watch users as they try to accomplish tasks using our software? I know we do it, and we need to do it more often.

Some sources rate us as the largest FOSS community. This can be seen as success. This achievement can have hidden dangers, however. When Catmull ran into trouble, in spite of his 'open door' management style, he found that the good stuff was hiding the bad stuff.... When downsides coexist with upsides, as they often do, people are reluctant to explore what's bugging them for fear of being labeled complainers.[p. 63] This is really dangerous. Those downsides are poison, and they must be exposed to the light, dealt with, fixed, or they will destroy a community or a part of a community. On the upside, the KDE community created the Community Working Group (CWG), and empowered us to do our job properly. On the downside, often people hide their misgivings, their irritations, their fears, until they explode. Not only does such an explosion shock the people surrounding the damage, but it shocks the person exploding as well. And afterwards, the most we can do is often damage control, rather than helping the team grow healthier, and find more creative ways to deal with those downsides.

Another danger is that even the smartest people can form an ineffective team if they are mis-matched. Focus on how a team is performing, not on the talents of the individuals within it.... Getting the right people and the right chemistry is more important than getting the right idea.[p. 74] One of the important strengths of FOSS teams, and KDE teams in particular, is that people feel free to come and go. If anyone feels walled out, or trapped in, we need to remove those barriers. When people are working with those who feed their energy and they in turn can pass it along. When the current stops flowing, it's time to do something different. Of course this prevents burnout, but more important, it keeps teams feeling alive, energetic, and fun. Find, develop, and support good people, and they will find, develop, and own good ideas."[p. 76] I think we instinctively know in KDE that good ideas are common. What is unusual is someone else stepping up to make those "good ideas" we are often given, to make them happen. Instead, the great stuff happens when someone has an itch, and decides to scratch it, and draws others to help her make that vision become reality. 

The final idea I want to present in this post is directed to all the leaders in KDE. This doesn't mean just the board of the e.V., by the way. The leaders in KDE are those who have volunteered to maintain packages, mentor students, moderate the mail lists and forums, become channel ops in IRC, write the promo articles, release notes and announcements, do the artwork, write the documentation, keeps the wikis accurate, helpful and free of spam, organize sprints and other meetings such as Akademy, translate our docs and internationalize our software, design and build-in accessibility, staff booths, and many other responsibilities such as serving on working groups and other committees. This is a shared responsibility we carry to one another, and what keeps our community healthy.

It is management's job to take the long view, to intervene and protect our people from their willingness to pursue excellence at all costs. Not to do so would be irresponsible.... If we are in this for the long haul, we have to take care of ourselves, support healthy habits and encourage our employees to have fullfilling lives outside of work. [p. 77] This is the major task of the e.V. and especially the Board, in my opinion, and of course the task of the CWG as well. 

Isn't this stuff great!? I'll be writing more blog posts inspired by this book as I get further into it. 

Monday, September 1, 2014

Steven Pinker's The Blank Slate: The Modern Denial of Human Nature

Steven Pinker's The Blank Slate: The Modern Denial of Human Nature

Interesting, engaging, and sometimes challenging. My only criticism of the book is that he dwells a bit on fads in academia which are fading, but since he's been extensively challenged by that crowd, I suppose it is forgivable.

I'll quote extensively from the last chapter, but first, Emily Dickinson (quoted in that final chapter):
The Brain--is wider than the Sky--
For--put them side to side--
The one the other will contain
With ease--and you--beside-- 
The Brain is deeper than the sea--
For--hold them--Blue to Blue--
The one the other will absorb--
As Sponges--Buckets--do-- 
The Brain is just the weight of God--
For--Heft them--Pound for Pound--
And they will differ--if they do--
As Syllable from Sound--
And the beginning of the final chapter:
The Blank Slate was an attractive vision. It promised to make racism, sexism, and class prejudice factually untenable. It appeared to be a bulwark against the kind of thinking that led to ethnic genocide. It aimed to prevent people from slipping into a premature fatalism about preventable social ills. It put the spotlight on the treatment of children, indigenous peoples, and the underclass. The Blank Slate thus became part of secular faith and appeared to constitute the common decency of our age.  
But the Blank Slate had, and has, a dark side. The vacuum that was posited in human nature was eagerly filled by totalitarian regimes, and it did nothing to prevent their genocides. It perverts education, child-rearing, and the arts into forms of social engineering. It torments mothers who work outside the home and parents whose children did not turn out as they would have liked. It threatens to outlaw biomedical research that could alleviate human suffering. Its corollary, the Noble Savage, invites contempt for the principles of democracy and of "a government of laws not of men." It blinds us to our cognitive and moral shortcomings. And in matters of policy it has elevated sappy dogmas above the search for workable solutions. 
The Blank Slate is not some ideal that we should all hope and pray is true. No, it is anti-life, anti-human theoretical abstraction that denies our common humanity, our inherent interests, and our individual preferences. Though it has pretensions of celebrating our potential, it does the opposite, because our potential comes from the combinatorial interplay of wonderfully complex faculties, not from the passive blankness of an empty tablet. 
Regardless of its good and bad effects, the Blank Slate is an empirical hypothesis about the functioning of the brain and must be evaluated in terms of whether or not it is true. The modern sciences of mind, brain, genes, and evolution are increasingly showing that it is not true. The result is a rearguard effort to salvage the Blank Slate by disfiguring science and intellectual life: denying the possibility of objectivity and truth, dumbing down issues into dichotomies, replacing facts and logic with intellectual posturing. 
The Blank Slate became so deeply entrenched in intellectual life that the prospect of doing without it can be deeply unsettling. ...Is science leading to a place where prejudice is right, where children may be neglected, where Machiavellianism is accepted, where inequality and violence are met with resignation, where people are treated like machines? 
Not at all! By unhandcuffing widely shared values from moribund factual dogmas, the rationale for these values can only become clearer. We understand *why* we condemn prejudice, cruelty to children, and violence against women, and can focus our efforts on how to implement the goals we value most. ... 
... Acknowledging human nature does not mean overturning our personal world views... It means only taking intellectual life out of its parallel universe and reuniting it with science and, when it is borne out by science, by common sense.
This book was published in 2002, and I think Pinker and his fellow scientists who investigate human nature are beginning to make headway. This book was a good reminder of some of the nonsense we are now sweeping into the dustbin of history, and new understanding of human nature now coming to light.

Friday, August 22, 2014

Counting the days until Akademy!

It seems so soon after returning home from Randa and Geneva, but already the day of departure to Vienna and then Brno looms. So excited! For starters, both Scarlett and I got funding from Ubuntu so the e.V. is spared the cost of our travel! I've often felt guilty about how much airfare from Seattle is, for previous meetings. We're having a Kubuntu gathering on Thursday the 11th of September. Ping us if you have an issue you want discussed or worked on.

Also, Scarlett and I will be traveling together, which will be fun. And we're meeting Stefan Derkits in Vienna, to see some of his favorite places. Oh, a whole day in Vienna seems like heaven. We have a hostel booked; I hope it's nice. Now I need to figure out the bus or train from Vienna <> Brno.



Then there is the e.V. annual meeting, which I enjoy since I was admitted to membership. It is great to hear the reports personally, and meet people I usually only hear from in email or IRC.

Finally, there is Akademy, which is always a blur of excitement, learning, socializing, and interacting with the amazing speakers. My favorite part is always hearing from the GSoC students about their projects, and their experience in the KDE community. After Akademy proper, there are days of BOFs, and our Kubuntu meeting. This part is often the most energizing, as each meeting is like a small-scale sprint.

Of course we do take some time to walk through the city, and eat out, and party a bit. Face-to-face meetings are the BEST! Sometimes we return home exhausted and jetlagged, but it is always worth it. KDE is a community, and our annual gathering is one important way for us to nurture that community. This energizes the entire next year of creating amazing software.

An extra-special part of Akademy this year is that we are planning to release our new KDE Frameworks 5 Cookbook at Akademy. Get some while they're hot!

Learning to git

A few years ago, I learned from Myriam's fine blog how to build Amarok from source, which is kept in git. It sounds mysterious, but once all the dependencies are installed, PATH is defined and the environment is properly set up, it is extremely easy to refresh the source (git pull) and rebuild. In fact, I usually use the up-arrow in the konsole, which finds the previous commands, so I rarely have to even type anything! Just hit return when the proper command is in place.

Now we're using git for the KDE Frameworks book, so I learned how to not only pull the new or changed source files, but also to commit my own few or edited files locally, then push those commits to git, so others can see and use them.

To be able to write to the repository, an SSH key must be uploaded, in this case done in the KDE Identity account. If the Identity account is not a developer account, that must first be granted.

Just as in building Amarok, first the folders need to be created, and the repository cloned. Once cloned, I can see either in konsole or Dolphin the various files. It's interesting to me to poke around in most of them, but the ones I work in are markdown files, which is a type of text file. I can open them in kate (or your editor of choice) either from Dolphin or directly from the cli (for instance kate ki18n/ki18n.in.md).

Once edited, save the file, then it's time to commit. If there are a number of files to work on, they can be all committed at once. git commit -a is the command you need. Once you hit return, you will be immediately put into nano, a minimal text editor. Up at the top, you will see it is waiting for your commit message, which is a short description of the file or the changes you have made. Most of my commits have said something like "Edited for spelling and grammar." Once your message is complete, hit Control X, and y and return to save your changes.

It's a good idea to do another git pull just to be sure no one else has pushed a conflicting file while the commit message was being crafted, then git push. At this point the passphrase for the ssh key is asked for; once that is typed and you hit return, you'll get something like the following:

Counting objects: 7, done.                                                                                                                                                                              
Delta compression using up to 8 threads.                                                                                                                                                                
Compressing objects: 100% (4/4), done.                                                                                                                                                                  
Writing objects: 100% (4/4), 462 bytes | 0 bytes/s, done.                                                                                                                                                
Total 4 (delta 2), reused 1 (delta 0)                                                                                                                                                                    
remote: This commit is available for viewing at:
remote: http://commits.kde.org/kf5book/90c863e4ee2f82e4d8945ca74ae144b70b9e9b7b
To git@git.kde.org:kf5book                                                                                                                                                                              
   1d078fe..90c863e  master -> master                                                                                                                                                                    
valorie@valorie-HP-Pavilion-dv7-Notebook-PC:~/kde/book/kf5book$

In this case, the new file is now part of the KDE Frameworks 5 book repository. Git is a really nifty way to keep files of any sort organized and backed up. I'm really happy that we decided to develop the book using this powerful tool.