FLOSS Project Planets

Drupal In the News: Drupal Association appoints Executive Director

Planet Drupal - Tue, 2019-04-30 14:06

Heather Rocker will lead the Association in supporting the global Drupal community.

Washington DC, April 30, 2019 - The Board of Directors of the Drupal Association has voted unanimously to appoint Heather Rocker as Executive Director to lead the Drupal Association.

Adam Goodman, chair of the Drupal Association Board, said, "Drupal is for ambitious digital experiences. Heather’s experience matches this ambition as we seek to increase adoption, diversify and invest in our community, and grow opportunities for builders, agencies, content creators and marketing decision makers. Heather brings seriousness of purpose, character consistent with our values and principles, and lively good humor — just what the Board and I were seeking out for our next leader."

The Drupal Association's mission is to unite a global community to build, promote, and secure the open source Drupal software. Since 2008, the organization has supported a global network of open source contributors; a robust business ecosystem; and has hosted events across 4 continents and more than 20 countries.

Heather Rocker said, "It’s an incredible honor to serve the Drupal Association in this capacity.  This opportunity is not only in alignment with my skills and experience but also with my core belief that outstanding things can be achieved through a dedicated and diverse community of volunteers and partners.  I look forward to building on the solid foundation and collaborative spirit that exists today. "

Heather will begin her work with the Association at the beginning of June.

About Heather

Heather Rocker joins the Drupal Association with a strong history of leadership in technology and the nonprofit world. She was the first executive director of the Women in Technology Foundation, as well as the CEO of Girls Incorporated of Greater Atlanta. Most recently she acted as the Managing Principal of Systems Evolution, Inc. in Atlanta, Georgia. She also serves as Immediate Past-President of the Board of Directors of Georgia FIRST Robotics.

Dries Buytaert, founder of the Drupal project, said, "I’m confident that Heather will move the Drupal Association into its next chapter. Her skills and experience at building relationships in both the non-profit and technology spaces will be a tremendous asset.  I also believe she’ll be a great partner with me to move forward the Drupal project as a whole."

About Drupal

Drupal is content management software. It is used to make many of the websites and applications you use every day. Drupal has great standard features, easy content authoring, reliable performance, and excellent security. What sets it apart is its flexibility; modularity is one of its core principles. Its tools help you build the versatile, structured content that ambitious web experiences need.

About the Drupal Association

The Drupal Association is dedicated to fostering and supporting the Drupal project, the community and its growth. The Drupal Association helps the Drupal community with funding, infrastructure, education, promotion, distribution and online collaboration at Drupal.org.

###

Media Contact: Rebecca Pilcher
Phone: 503-405-1159 x 705
Email: rebecca@association.drupal.org

Categories: FLOSS Project Planets

Dries Buytaert: Welcoming Heather Rocker as Drupal Association Executive Director

Planet Drupal - Tue, 2019-04-30 14:02

The Drupal Association announced today that Heather Rocker has been selected as its next executive director.

This is exciting news because it concludes a seven month search since Megan Sanicki left.

We looked long and hard for someone who could help us grow the global Drupal community by building on its diversity, working with developers and agency partners, and expanding our work with new audiences such as content creators and marketers.

The Drupal Association (including me) believes that Heather can do all of that, and is the best person to lead Drupal into its next phase of growth.

Heather earned her engineering degree from Georgia Tech. She has dedicated much of her career to working with women in technology, both as the CEO of Girls, Inc. of Greater Atlanta and the Executive Director of Women in Technology.

We were impressed not only with her valuable experience with volunteer organizations, but also her work in the private sector with large customers. Most recently, Heather was part of the management team at Systems Evolution, a team of 250 business consultants, where she specialized in sales operations and managed key client relationships.

She is also a robotics fanatic who organizes and judges competitions for children. So, maybe we’ll see some robots roaming around DrupalCon in the future!

As you can tell, Heather will bring a lot of great experience to the Drupal community and I look forward to partnering with her.

Last but not least, I want to thank Tim Lehnen for serving as our Interim Executive Director. He did a fantastic job leading the Drupal Association through this transition.

Categories: FLOSS Project Planets

Drupal Association blog: Drupal Association appoints Executive Director

Planet Drupal - Tue, 2019-04-30 14:00

Heather Rocker will lead the Association in supporting the global Drupal community.

Washington DC, April 30, 2019 - The Board of Directors of the Drupal Association has voted unanimously to appoint Heather Rocker as Executive Director to lead the Drupal Association.

Adam Goodman, chair of the Drupal Association Board, said, "Drupal is for ambitious digital experiences. Heather’s experience matches this ambition as we seek to increase adoption, diversify and invest in our community, and grow opportunities for builders, agencies, content creators and marketing decision makers. Heather brings seriousness of purpose, character consistent with our values and principles, and lively good humor — just what the Board and I were seeking out for our next leader."

The Drupal Association's mission is to unite a global community to build, promote, and secure the open source Drupal software. Since 2008, the organization has supported a global network of open source contributors; a robust business ecosystem; and has hosted events across 4 continents and more than 20 countries.

Heather Rocker said, "It’s an incredible honor to serve the Drupal Association in this capacity.  This opportunity is not only in alignment with my skills and experience but also with my core belief that outstanding things can be achieved through a dedicated and diverse community of volunteers and partners.  I look forward to building on the solid foundation and collaborative spirit that exists today. "

Heather will begin her work with the Association at the beginning of June.

About Heather

Heather Rocker joins the Drupal Association with a strong history of leadership in technology and the nonprofit world. She was the first executive director of the Women in Technology Foundation, as well as the CEO of Girls Incorporated of Greater Atlanta. Most recently she acted as the Managing Principal of Systems Evolution, Inc. in Atlanta, Georgia. She also serves as Immediate Past-President of the Board of Directors of Georgia FIRST Robotics.

Dries Buytaert, founder of the Drupal project, said, "I’m confident that Heather will move the Drupal Association into its next chapter. Her skills and experience at building relationships in both the non-profit and technology spaces will be a tremendous asset.  I also believe she’ll be a great partner with me to move forward the Drupal project as a whole."

About Drupal

Drupal is content management software. It is used to make many of the websites and applications you use every day. Drupal has great standard features, easy content authoring, reliable performance, and excellent security. What sets it apart is its flexibility; modularity is one of its core principles. Its tools help you build the versatile, structured content that ambitious web experiences need.

About the Drupal Association

The Drupal Association is dedicated to fostering and supporting the Drupal project, the community and its growth. The Drupal Association helps the Drupal community with funding, infrastructure, education, promotion, distribution and online collaboration at Drupal.org.

###

Media Contact: Rebecca Pilcher
Phone: 503-405-1159 x 705
Email: rebecca@association.drupal.org

Categories: FLOSS Project Planets

Chris Lamb: Free software activities in April 2019

Planet Debian - Tue, 2019-04-30 13:59

Here is my monthly update covering what I have been doing in the free software world during April 2019 (previous month):

  • It was my last month in my tenure as Debian Project Leader after two years in the post. Thank you so much for all the support and kind words that I received in the past few weeks and congratulations to Sam Hartman for being elected to the post for the upcoming year.

  • Attended the foss-north.se conference in Gothenburg, Sweden where I gave a talk entitled "What can free software learn from classical music?". As part of this, I also organised a Debian Bug Squashing Party as part of the conference's Community Day — thanks to Kuro Studio for their hospitality.

  • For the Tails privacy-oriented operating system, I attended an in-person sprint in France where I worked on countless issues, features and adjacent concerns regarding the move to Debian "buster".

  • As part of my duties of being on the board of directors of the Open Source Initiative I attended our monthy board meeting, participated in various licensing discussions occurring on the internet, etc.

  • Opened a pull request against the django-q task queue for projects using the Django web framework project in order to inline a Python import. This prevents circular imports under some toolchain combinations. [...]

  • Opened a pull request for the ADMS code generator for the Verilog-AMS hardware description language to make the build reproducible. [...]

  • More hacking on the Lintian static analysis tool for Debian packages, including:

    • Correct false-positives in the missing-systemd-timer-for-cron-script tag due to an incorrect regular expression. (#927970)
    • Don't check for the x86-specific "SafeSEH" hardening feature for code that is JIT-compiled by the Mono runtime. (#926334)
    • Triaged and accepted a huge number of patches and merge requests that had accumulated, adding a large number of new tags, updating systemd hardening flags [...], etc.
  • Created a quick-and-dirty script to obtain Max Temkin's highlights of Star Trek: The Next Generation. [...]

Reproducible builds

Whilst anyone can inspect the source code of free software for malicious flaws almost all software is distributed pre-compiled to end users.

The motivation behind the Reproducible Builds effort is to ensure no flaws have been introduced during this compilation process by promising identical results are always generated from a given source, thus allowing multiple third-parties to come to a consensus on whether a build was compromised.

The initiative is proud to be a member project of the Software Freedom Conservancy, a not-for-profit 501(c)(3) charity focused on ethical technology and user freedom.

Conservancy acts as a corporate umbrella, allowing projects to operate as non-profit initiatives without managing their own corporate structure. If you like the work of the Conservancy or the Reproducible Builds project, please consider becoming an official supporter.

This month:

I also made the following changes to diffoscope, our in-depth and content-aware diff utility that can locate and diagnose reproducibility issues:

  • Add support for semantic comparison of GnuPG "keybox" (.kbx) files. (#871244)
  • Treat missing tools as failures if a "magic" environment variable is detected in order to faciliate interpreting required tools on the Debian autopkgtests as actual test failures, rather than skipping them. The behaviour of the existing testsuite remains unchanged. (#905885)
  • Filed a "request for packaging" for the annocheck tool which can be used to "analyse an application's compilation". This is as part of an outstanding wishlist issue. (#926470)
  • Consolidated on a single alias as the exception value across the entire codebase. [...]

I spent a considerable amount of time our website this month too, including:

  • Using an explicit "draft" boolean flag for posts. Jekyll in Debian stable silently (!) does not support the where_exp filter. [...]
  • Moving more pages away from the old design with HTML to Markdown formatting and the new design template. [...]
  • Addding a simple Makefile to implicitly document how to build the site [...] and add a simple .gitlab-ci.yml to test branches/builds [...].
  • Adding as simple "lint" command so we can see how many pages are using the old style. [...]
  • Adding an explicit link to our "Who is involved?" page in the footer of the newer design [...] and add a link to donation page [...].
  • Moved various bits of infrastructure to support a monthly report structure. [...]

Finally, I made the following changes to strip-nondeterminism, our tool to remove specific non-deterministic results from a completed build:

  • Workaround Archive::Zip's incorrect handling of the localExtraField class member field by monkey-patching the accessor methods to always return normalised values. This fixes the normalisation of Unix ownership metadata within .zip and .epub files. (#858431)
  • Actually check the return status from Archive::Zip when writing file to disk. [...]
  • Catch an edge-case where we can't parse the length of a particular field within .zip files. [...]


Debian Debian LTS

This month I have worked 17¼ hours on Debian Long Term Support (LTS) and 12 hours on its sister Extended LTS project.


Uploads


Finally, I also made the following non-maintainer uploads (NMUs) to fix release-critical bugs for "buster".

FTP Team


As a Debian FTP assistant I ACCEPTed 30 packages: easygen, faudio, golang-github-anmitsu-go-shlex, golang-github-apparentlymart-go-cidr, golang-github-apparentlymart-go-rundeck-api, golang-github-corpix-uarand, golang-github-cyberdelia-heroku-go, golang-github-emirpasic-gods, golang-github-facebookgo-inject, golang-github-fzambia-sentinel, golang-github-gliderlabs-ssh, golang-github-hashicorp-go-safetemp, golang-github-hmrc-vmware-govcd, golang-github-icrowley-fake, golang-github-jesseduffield-gocui, golang-github-jesseduffield-pty, golang-github-jesseduffield-termbox-go, golang-github-kevinburke-ssh-config, golang-github-michaeltjones-walk, golang-github-nozzle-throttler, golang-github-stvp-roll, golang-github-willf-bloom, golang-gopkg-src-d-go-billy.v4, libdmtx, openjdk-13, pmdk-convert, python-deprecated, python-django-debreach, qgis & redfishtool.

I additionally filed 3 RC bugs against packages that had potentially-incomplete debian/copyright files against faudio, libdmtx & python-deprecated.

Categories: FLOSS Project Planets

Continuum Analytics Blog: Reflections on AnacondaCON 2019 with NVIDIA’s Josh Patterson

Planet Python - Tue, 2019-04-30 13:01

I love this month. April 19’ brings back Game of Thrones, Avengers: Endgame (that Thanos snap though), and of course AnacondaCON. I’ve been to every AnacondaCON, which makes this my third show. Of all data…

The post Reflections on AnacondaCON 2019 with NVIDIA’s Josh Patterson appeared first on Anaconda.

Categories: FLOSS Project Planets

Neckbeard Republic: Make a Location-Based Web App With Django and GeoDjango

Planet Python - Tue, 2019-04-30 10:00
Learn how to use Django and GeoDjango to build a location-based web application from scratch. You’ll be building a simple nearby shops application that lists the shops closest to a user’s location.
Categories: FLOSS Project Planets

Craft: Platforms and Compiler

Planet KDE - Tue, 2019-04-30 07:43
Craft: Platforms and Compiler
While my last post was still about the new cache and which compilers we should support, the pre built binaries for Craft (the cache) are now 2 years old. They are used for continues integration and to speed up user builds.

We now provide binaries for Windows, MacOS and Linux.


With the cache we now even provide dmg images for MacOS.
Here a bit more about the relative new Mac support Interview: How KDE Craft Improves the ownCloud Client Build Process

Which compilers to supportThe last time I wrote, I ask you for which platforms we should provide a cache.
Currently we are providing caches for windows-msvc2015_64, windows-msvc2017_32, windows-msvc2017_64, windows-mingw-w64-gcc-8.1.0_64, osx_appleclang_64, linux-gcc_64.

Maintaining all those configurations on Windows became a burden, also in the sense that our builder are running out of space.

And with the recent release of Visual Studio 2019 it became even bigger.

Discontinue caches for msvc2015 and reduced support for 32bit With the arrival of Visual Studio 2019 we now plan to stop providing caches for msvc2015, and reduce the cache for msvc2017_32 to Qt and KDE Frameworks only. This will also mean that we will discontinue 32bit installers on BinaryFactory.
If you still depend on msvc2015, we suggest you to set up your own cache.
As usual we'll branch Craft before the release of the new cache and try to maintain the last build based on Qt 5.12.2 for a bit longer. 


You have no idea what Craft is?Craft helps you building and package your application and all its dependencies on Windows Mac and Linux.

 Start Crafting now!







Categories: FLOSS Project Planets

Codementor: HOW TO GET STARTED WITH

Planet Python - Tue, 2019-04-30 07:13
this article will help people to find a path to get started their journey with machine learning
Categories: FLOSS Project Planets

The Future of AST-Matching refactoring tools (EuroLLVM and ACCU)

Planet KDE - Tue, 2019-04-30 05:02

I recently made a trip to LLVM in Brussels and ACCU in Bristol. It was a busy week. I gave a talk at both conferences on the topic of the future of AST Matchers-based refactoring.

As usual, the ‘hallway track’ also proved useful at both conferences, leading to round-table discussions at the LLVM conference with other interested contributors and getting to talk to other developers interested in refactoring tooling at ACCU.

Presentations

The learning curve for AST-Matcher-based refactoring is currently too steep. Most C++ developers who are not already familiar with the internal Clang APIs need to invest a lot in order to learn how to make such bespoke tooling to improve and maintain their codebase.

The presentations both include demos of steps I’ve been taking to try to address these problems.

The first demo is of clang-query discovery features which aim to reduce the need to infer AST Matcher code by examining the Clang AST itself. I also showed the debugging features I am preparing to upstream to clang-query. Finally – in terms of demo content – I showed a Qt tool which can eliminate some of the additional difficulties and problems of long-developer-iteration-time.

The debugging features and the Qt tool were world exclusives at the LLVM conference (and at the ACCU conference because most people didn’t attend both ). I hadn’t shown them to anyone else before, so I was quite happy the demos went well.

Videos

My 25 minute presentation to the LLVM developers tried to show that these changes can make mechanical refactoring more easily available to C++ developers.

The aim was to show the features to the LLVM community to

  1. illustrate the issues as I see them
  2. get some feedback about whether this is a good direction
  3. introduce myself for the sake of further code reviews (and collaborators). As this was my first LLVM conference, I am not already familiar with most of the attendees.

My 1.5 hour ACCU presentation is a far-less-rushed presentation of the same tools and a repetition of some of the content at code::dive 2018. In the ACCU presentation, the new demo content starts about 30 minutes in. This talk is the one to watch if you are interested in using mechanical refactoring on your own code.

Feedback was very positive from both talks, so I’m happy with that.

It's always insightful how powerful visualizations are to help tackle hard problems. https://t.co/fxywk0Uycn

— Manuel Klimek (@manuelklimek) April 17, 2019

Great talk! One of my highlights from this year’s #ACCUconf

— Alisdair Meredith (@AlisdairMered) April 14, 2019

Great presentations at #EuroLLVM in Brussels. Glad to see Firefox used for demos (here, Stephen Kelly about refactoring using clang API) and in the audience. pic.twitter.com/Nfmbx7fK26

— Sylvestre Ledru (@SylvestreLedru) April 9, 2019

Qt Tooling

Earlier this year I refactored the clang AST dump functionality. It was previously implemented in one class, ASTDumper, which had the dual responsibilities of traversing the clang AST and creating a textual representation of it. I separated the textual output from the generic output independent traversal, which introduces the possibility of alternative output formats such as JSON.

Of course, given my KDE and Qt contribution history, I would only create a generic tree traversal class in order to implement QAbstractItemModel for it.

The demos show all of the features you would expect from a point-and-click refactoring tool including exploring, feature discovery, debugging with in-source feedback, live source updates, experimental refactoring etc.

Of course, all of this requires changes to Clang upstream (for example to add the debugging interface) which was the point of my visit to EuroLLVM. Hopefully, once enough of the changes are upstream, I’ll be able to open source the tool.

The idea as always is to hopefully have enough functionality in Clang itself that IDEs such as Qt-Creator, KDevelop and Visual Studio would be able to integrate these features using their own GUI APIs, making the simple tool I made obsolete anyway. I only made it for demo purposes.

This will take the mechanical refactoring workflow which is currently

and turn it into

You will still do the same things, but with much faster development iteration to achieve the same result.

There is even more that can be done to make the process of mechanical refactoring with clang easier and faster. We discussed some of that at EuroLLVM, and hopefully all the pieces can come together soon. Meanwhile I’ll be upstreaming some of this work, talking at NDC Oslo, and at my local meetup group on this topic.

Categories: FLOSS Project Planets

CTI Digital: Drupal 8.7 Release (And why this is big news for Marketing)

Planet Drupal - Tue, 2019-04-30 04:27

Drupal is to release its latest version, Drupal 8.7, on the 1st May 2019. Review the entire Drupal product roadmap here.

Categories: FLOSS Project Planets

Low Kian Seong: How do you run inspec.io on Solaris without killing yourself ??

Planet Python - Tue, 2019-04-30 03:58
We are using inspec.io for our post deployment verification / checking strategy. When I evaluated inspec, I really like a few things about it:


  • It had a small toolchain and good support for various platforms - Windows, Redhat, Ubuntu, Mac etc. Easy to install, experiment and implement.
  • It's supermarket checks is like collection of checks done and outsourced by other teams which are open sourced which we can leverage and quickly get working on our own script to do code as governance. 
  • You do your scripts in Ruby. Period.
  • The ability to run locally as well using ssh which is something that I really liked as well. 
We were planning to use inspec as the post deployment verification after deployment as part of our Continuous Delivery strategy. Everything was going along fine, until today. A few things hit us. This target server that we wanted to run the scripts on was a Solaris platform. First warning bell tolls. Sola-whut-again ? Really ? No packages were available for Solaris for inspec on their site. 
So that rules out calling our post deployment checks locally on the server. I mean of course this is not the end. We can try to install inspec on the server using source. Have not tried this, don't know what kinds of misery awaits to take huge chunks of meat from my arm when I reach out to open this door once, but I have a feeling we will have an easy time with this one. At this point too I was thinking ... I might not know enough here but who in their right minds runs a production system on an OS whose very existence instantly puts the whole project into a deep tech dept ?? Put another way, I was at one point in my life, keyword here definitely being "was" impressed with SunOS way back in 2005 back in the days of IpVx watching in awe as my Senior banged out long strings of commands without the help of the tab key and could somehow magically get the commands right every single time while he looked straight ahead and banged them out in blinding speed. Fast forward to 2019, let's just say after all that's happened I have lost equal measure of respect for that senior as well the OS on which he was banging out those commands on. Come on .... who uses SunOS in this day and age ? I don't really like using RedHat when managing servers but RedHat is manna from heaven compared to this rusty old doornail. Thanos ... hand me that glove while I snap this tired old OS out of it's existence in my workplace! The day was getting along, tired and a trying to avoid pushing my blood pressure up any further, I soldiered on for other solutions that we could use.
Installing inspec on the Jenkins server ?
So, then we thought about calling inspec from the build server which is a Jenkins server. So, the plan: Install inspec on the Jenkins server, call the scripts from the Jenkins server and use the "-t ssh:// ..." argument to target the deployment server. Sounds good. Not ideal but it's workable. I don't really like this idea as in order to run it in this fashion, ssh keys has to be maintained in the Jenkins server or some kind of script wizardy has to be imbued in the scripts to make it run correctly. At this stage my first paddle did not look so good, so I decided what is the harm in trying the second paddle ... turns out the second paddle has it's problem as well. It's running an almost ancient version of Windows. I know, I know who in their right minds would run Jenkins on Windows right ? Sigh, for the sake of argument and the readability of this post, believe me, we did question this. Let's just say the server OS choice and installation is out of our control and our control extends as far as being able to configure stuff using Jenkins only. Again we hit the same problem here: There are not packages available for this OS as well. Yes another day in the land of "Dev" on this side of the mountain while "Ops" being on the other continent! So yayy for our second paddle sinking to the murky depths of the river. 
So what now ?The way I look at it, we are left with a few choices now. All unknowns ... great! 
  1. Try to bash my skull in and install inspec on Solaris. There was one measly comment on SO when someone asked this question pointing to some Chef scripts. That's all ! Confidence level plummeted to the core of the earth after seeing this. The usually boisterous SO was strangely quiet this time. 
  2. Try to install all of our post deployment scripts on an external RedHat server and call them from there. The question here then becomes how the heck to you capture the status of the checks ? Is this even possible ?
  3. Spin up a docker instance in Jenkins and call the scripts from within the docker from the Jenkins server ? I really don't know this one and I have not tried it. 
I am reaching out to all those 48 people who read this blog if you guys have ever tried or better yet succeeded in using inspec on your Solaris boxes before, please find it in the kindness of your hearts to share in the comments section on how you did it to benefit the tired writer of this blog as well as the others who might one day stumble upon this blog post. Cheers.
Categories: FLOSS Project Planets

Catalin George Festila: Python 3.7.3 : Fix kivy python module installation.

Planet Python - Tue, 2019-04-30 02:16
Kivy is a multi-platform GUI development library for Python, running on Windows, Mac, Linux, Android, and iOS. Today I tested kivy python module with python version 3.7.3 and I got some errors but I fixed. I started with the default installation using the pip tool. C:\Python373>cd Scripts C:\Python373\Scripts>pip install kivy ... Installing collected packages: docutils, pygments, Kivy-Garden,
Categories: FLOSS Project Planets

Quansight Labs Blog: uarray: A Generic Override Framework for Methods

Planet Python - Tue, 2019-04-30 01:04
uarray: A Generic Override Framework for Methods

uarray is an override framework for methods in Python. In the scientific Python ecosystem, and in other similar places, there has been one recurring problem: That similar tools to do a job have existed, but don't conform to a single, well-defined API. uarray tries to solve this problem in general, but also for the scientific Python ecosystem in particular, by defining APIs independent of their implementations.

Array Libraries in the Scientific Python Ecosystem

When SciPy was created, and Numeric and Numarray unified into NumPy, it jump-started Python's data science community. The ecosystem grew quickly: Academics started moving to SciPy, and the Scikits that popped up made the transition all the more smooth.

However, the scientific Python community also shifted during that time: GPUs and distributed computing emerged. Also, there were old ideas that couldn't really be used with NumPy's API, such as sparse arrays. To solve these problems, various libraries emerged:

  • Dask, for distributed NumPy
  • CuPy, for NumPy on Nvidia-branded GPUs.
  • PyData/Sparse, a project started to make sparse arrays conform to the NumPy API
  • Xnd, which extends the type system and the universal function concept found in NumPy

Read more… (5 min remaining to read)

Categories: FLOSS Project Planets

Sergio Durigan Junior: Debian Bug Squashing Party, Toronto version

Planet Debian - Tue, 2019-04-30 00:00

Heya!

This past Saturday, April 27th, 2019, Samuel Vale, Alex Volkov and I organized the Toronto Bug Squashing Party here in the city. I was very happy with the outcome, especially the fact that we had more than 10 people attending, including a bunch of folks that came from Montréal!

The start

It was a cold day in Toronto, and we met at the Mozilla Toronto office at 9 in the morning. Right there at the door I met anarcat, who had just arrived from Montréal. Together with Alex, we waited for Will to arrive and open the door for us. Then, some more folks started showing up, and we waited until 10:30h to start the first presentation of the day.

Packaging 101

Anarcat kindly gave us his famous "Packaging 101" presentation, in which he explains the basics of Debian packaging. Here's a picture of the presentation:

And another one:

The presentation was great, and Alex recorded it! You can watch it here (sorry, youtube link...).

During the day, we've also taught a few tricks about the BTS, in order to help people file bugs, add/remove tags, comment on bugs, etc.

Then, we moved on to the actual hacking.

Bug fixing

This part took most of the day, as was expected. We started by looking at the RC bugs currently filed against Buster, and deciding which ones would be interesting for us. I won't go into details here, but I think we made great progress, considering this was the first BSP for many of us there (myself included).

You can look at the bugs we worked on, and you will see that we have actually fixed 6 of them! I even fixed a JavaScript bug, which is something totally out of my area of expertise ;-).

I also noticed something interesting. The way we look at bugs can vary wildly between one DD and another. I mean, this is something I always knew, especially when I was more involved with the debian-mentors effort, but it's really amazing to feel this in person. I tend to be more picky when it comes to defining what to do when I start to work on a bug; I try really hard to reproduce it (and spend a lot of time doing so), and will really dive deep into the code trying to understand why some test is failing. Other developer may be less "pedantic", and choose to (e.g.) disable certain test that is failing. In the end, I think everything is a balance and I tried to learn from this experience.

Anyway, given that we looked at 12 bugs and solved 6, I think we did great! And this also helped me to get my head "back in the Debian game"; I was too involved with GDB these past months (there's a post about one of the things I did which is coming soon, stay tunned).

Look at us hacking:

Wrap up

At 19h (or 7p.m.), we had to wrap up and prepare to go. Because we had a sizeable number of Brazilians in the group (5!), the logical thing to do was to go to a pub and resume the conversation there :-). If I say it was one of the first times I went to a pub to drink with newly made friends in Toronto, you probably wouldn't believe, so I won't say anything...

I know one thing for sure: we want to make this again, and soon! In fact, my idea is to do another one after Buster is released (and after the summer is gone, of course), so maybe October. We'll see.

Acknowledgements

I would like to thank Mozilla Toronto for hosting us; it was awesome to finally visit their office and enjoy their hospitality, personified by Will Hawkins. It is impossible not to thank anarcat, who came all the way from Montréal to give us his Debian Packaging 101 talk. Speaking of the French-Canadian (and Brazilian), it was super awesome meeting Tiago Vaz and Tássia Camões, and it was great seeing Valessio Brito again.

Let me also thank the "locals" who attended the party; it was great seeing everybody there! Hope I can see everybody again when we make the second edition of our BSP :-).

Categories: FLOSS Project Planets

Dirk Eddelbuettel: RcppArmadillo 0.9.400.2.0

Planet Debian - Mon, 2019-04-29 21:59

A new RcppArmadillo release based on the very recent Armadillo upstream release arrived on CRAN earlier today, and will get to Debian shortly.

Armadillo is a powerful and expressive C++ template library for linear algebra aiming towards a good balance between speed and ease of use with a syntax deliberately close to a Matlab. RcppArmadillo integrates this library with the R environment and language–and is widely used by (currently) 587 other packages on CRAN.

The (upstream-only again this time) changes are listed below:

  • Upgraded to Armadillo release 9.400.2 (Surrogate Miscreant)

    • faster cov() and cor()

    • added .as_col() and .as_row()

    • expanded .shed_rows() / .shed_cols() / .shed_slices() to remove rows/columns/slices specified in a vector

    • expanded vectorise() to handle sparse matrices

    • expanded element-wise versions of max() and min() to handle sparse matrices

    • optimised handling of sparse matrix expressions: sparse % (sparse +- scalar) and sparse / (sparse +- scalar)

    • expanded eig_sym(), chol(), expmat_sym(), logmat_sympd(), sqrtmat_sympd(), inv_sympd() to print a warning if the given matrix is not symmetric

    • more consistent detection of vector expressions

Courtesy of CRANberries, there is a diffstat report relative to previous release. More detailed information is on the RcppArmadillo page. Questions, comments etc should go to the rcpp-devel mailing list off the R-Forge page.

This post by Dirk Eddelbuettel originated on his Thinking inside the box blog. Please report excessive re-aggregation in third-party for-profit settings.

Categories: FLOSS Project Planets

Matt Layman: Teaching a kid to code with Pygame Zero

Planet Python - Mon, 2019-04-29 20:00
How can you excite a kid about coding and computers? As a software developer and father of two children, I think about this question often. A person with software skills can have big advantages in our modern world, so I’d like to equip my kids for their future. In my home, we play video games together. My children (aged six and four) watch me play through many classics like Super Mario World and The Legend of Zelda: A Link to the Past.
Categories: FLOSS Project Planets

Palantir: National Rural Health Resource Center

Planet Drupal - Mon, 2019-04-29 18:13
National Rural Health Resource Center brandt Mon, 04/29/2019 - 17:13

How we helped NRHRC conduct user testing to validate an audience-centric navigation. 

ruralcenter.org User Testing to Validate an Audience-Centric Navigation On

The National Rural Health Resource Center (The Center) is a nonprofit organization dedicated to sustaining and improving health care in rural communities by providing technical assistance, information, tools, and resources. Users on The Center’s site are looking for information relating to services they provide, programs and events they coordinate, and resources that have been developed to guide and support rural health stakeholders, like webinars, articles, and presentations.

The Center had been making iterative modifications to their Drupal site to improve wayfinding for their visitors, but the team had not yet been able to conduct any user testing on the organization of the site. The Center partnered with Palantir.net to build on previous architecture work and test, validate, and provide recommendations for a more effective, user-centric navigation that lowers user effort on their site.
 

The goals of the engagement were to: 


 

  • Make navigation labels and structure relevant and intuitive to users
  • Test and validate hypotheses with real user data
  • Have the web team partner hands-on with Palantir, so they could see how the user testing processes and tools work and execute these research methods on their own for future optimization efforts
The project had two key constraints:
  • Testing needed to focus on copy and labeling rather than new features. The Center’s goal was to surface UX improvements that their team could implement within the Drupal CMS by iterating on menu labels, menu structure, and copy.
  • Limited budget. The Center’s budget could cover a limited set of tests, so Palantir needed to formulate a testing plan that maximized the value of the user testing.

Palantir and the Center teamed up to run a Top Task survey to inform a new Information Architecture (IA) and then ran a tree test to validate the new IA.

Key results with the new Information Architecture and the optimized tree:

  • 17% higher success rate overall for users completing tasks
  • 8% increase in overall “directness” rate (tasks completed with fewer backtracks)
How did we get there?

Palantir implemented a three-step process:

  1. Work with key stakeholders at the Center to identify key metrics.
  2. Design and implement tests.
  3. Handoff our recommendations for the Center to implement.
Step 1: Work with key stakeholders at the Center to identify key metrics.

It was imperative to understand the Center’s goals as they relate to their user’s goals to be able to optimize the site structure and test against what users find important. 

Because the Center’s site is a resource site first, the goals focused on users being able to find the resources they are looking for.

Key Performance Indicators (KPIs)

How we planned to measure success against our established goals:

  • Customer-reported satisfaction with “findability”
    • “Did this content answer your question?” feature (example)
  • Improvement in task performance indicators
    • Webinar participation
    • Completion of Self-Assessment form
    • Download of publications
  • Qualified, interested service leads
Step 2: Design and implement tests.

Our testing approach was two-fold, with one underlying question to answer: what is the most intuitive site structure for users?

Test #1: Top Task survey

During the Top Task survey, we had users rank a list of tasks we think they are trying to complete on the site, so that we have visibility into their priorities. The results from this survey informed a revised version of the navigation labels and structure, which we then tested in the following tree test. The survey was conducted via Google forms with existing Center audiences, aiming for 75+ completions.

We then used these audience-defined “top tasks” to inform the new information architecture, which we tested in our second test.

Test #2: IA tree test

During the tree testing of the Information Architecture, we stripped out any visuals and tested the outline of the menu structure. We began with a mailing list of about 2,500 people, split the list into two segments, and A/B tested the new proposed structure (Variant) vs. the current structure (Benchmark). Both trees were tested with the same tasks but using different labels and structure to see with which tree people could complete the tasks quicker and more successfully.

Step 3: Handoff our recommendations for the Center to implement.

Once the tests were completed, users’ behavior was compared to an “ideal” path, and success rates were analyzed. The test results informed our recommendations to help the Center think about label changes that are more user-centric as opposed to internal jargon. 

The Center has worked with Palantir on multiple projects. Palantir delivers their service in close partnership with our small team. This approach has allowed us to build our internal website development capacity and repeat success even after Palantir’s contract work was completed.

Phillip Birk

Senior IT Specialist

The Outcomes

Overall, users had a 17% higher success rate with the optimized tree, and they completed the tasks with fewer “backtracks” (less second-guessing their path) on the variant.

One of the most impressive results for the Center was that 29% more users could find recorded webinars with the newly proposed tree. 
 

Next steps for the Center will be to implement the top-level navigation recommendations made by Palantir, and then select KPIs to monitor long-term. They’ll also follow up with program-specific tree test projects.

The greatest mark of success for this project is that the Center’s web team now has knowledge of the tools and processes needed to run these tests on their own, so they can continue to make iterative improvements over time. Websites are one of the most important tools used to deliver business value, and just like your business’ needs evolve over time, so do the needs of your audience. It’s never too late to perform user testing and improve upon your user experience.

Categories: FLOSS Project Planets

Pages