FLOSS Project Planets

Junichi Uekawa: Playing with FUSE and git.

Planet Debian - Thu, 2015-10-01 17:58
Playing with FUSE and git. I've been playing with FUSE and git to make a file system, for fun. There's already many filesystems that are implemented with FUSE, and there are quite a few ones that implement filesystem for git, but I don't use any of them. I wondered why that is the case but tried to build one anyway. It's in github repository gitlstreefs. I have created several toy file systems in C++. ninjafs is one where it shows ninja targets as files and builds the file target when file is actually needed. They aren't quite as useful yet but an interesting excercise, FUSE was reasonably straightforward to implement simple filesystems with.

Categories: FLOSS Project Planets

VM(doh): Drupal's Recent Twitter Vulnerability Underscores Importance of Continuous Monitoring

Planet Drupal - Thu, 2015-10-01 17:57

Drupal's recent problem with the Twitter module provides a crucial lesson for all of us: a proactive, vigilant approach to security -- i.e. practices such as continuous monitoring, which we'll explore a little in this post -- are becoming a necessity in an online environment saturated with black hat hackers.

The Twitter Module Flaw

In Drupal versions 6.x and 7.x, the Twitter module had some slight security issues, to say the least. It did not check for access in the proper way, which meant that any authenticated Twitter user could sneak into your Twitter account, post a tweet, change your account settings, or even delete your account.

Drupal issued a request to users to update their Twitter module to the latest version to fix the security bug.

Continuous Monitoring

The term "continuous monitoring" has become popular. And it means exactly what it sounds like: companies enact policies and procedures that enforce 24/7 close monitoring of their infrastructure. Information-Age.com defines it this way:

The main role of continuous monitoring is to keep your security team constantly aware of newly detected vulnerabilities, weaknesses, missing patches and configuration flaws that appear to be exploitable.

Part of the reason for the urgency is the rise of "zero-day exploits," which are vulnerabilities in software that no one previously knew about and for which a patch does not exist.

The Pressure is On: In Competition with Black Hats

As Information Age points out in their article linked above, black hat hackers have developed their own continuous monitoring capabilities. In some cases, they will even patch the vulnerabilities of a website -- without the owner's knowledge -- after they've exploited the weakness.


Because these cyber gangs, groups of black hats who function like well-coordinated attack squadrons, don't want the competition (other black hat cyber gangs) also exploiting your site's weakness. Black hat hackers will claim your site as their turf and actually use continuous monitoring to protect it against other black hats. (After, of course, they've exploited your site for their own purposes.)

Drupal Security Team Warns About the Speed of Black Hats

Well-organized black hat cyber gangs are so efficient, and in many cases so well-equipped with their own in-house continuous monitoring technology, that they will detect vulnerabilities before anyone else does -- even before Drupal.

When a weakness in Drupal 7 was detected, this announcement from Drupal demonstrates how fast the Black Hats can exploit a vulnerability:

Automated attacks began compromising Drupal 7 websites that were not patched or updated to Drupal 7.32 within hours of the announcement of SA-CORE-2014-005 - Drupal core - SQL injection. You should proceed under the assumption that every Drupal 7 website was compromised unless updated or patched before Oct 15th, 11pm UTC, that is 7 hours after the announcement.

Continuous Monitoring Isn't Easy, But It's Becoming a Necessity

The question is simple: do you want black hat hackers or your company's IT/Security team to do your continuous monitoring for you? If black hat hackers rely on continuous monitoring to be successful, then companies and website owners must respond in kind and fight fire with fire.

That doesn't mean it's easy, of course. It requires systemic transformation. As quoted by Information Age, Jan Schreuder of PwC sympathized with the challenges that continuous monitoring creates: "...[it] represents a significant change to the way IT departments operate, and to be successful it requires significant commitment through leadership support, enforcement, and system owner responsibility and accountability."

Thankfully, Drupal responds quickly to security crises, but there's only so much it can do. Each user has a responsibility as well, and continuous monitoring has become an unavoidable necessity for security vigilance.

Contact us for more information on how we can help monitor and protect your Drupal website against security vulnerabilities.

Categories: FLOSS Project Planets

Wunderkraut blog: DrupalCon Barcelona: What Happened and What to Watch

Planet Drupal - Thu, 2015-10-01 17:56

Last week’s DrupalCon was an outstanding event that saw over 2,000 people from the community come together in Barcelona to attend sessions, sprints, and socialise.

We sent 74 of our own team members to the conference (over a third of our group) and we asked them about their experiences to offer a vision of DrupalCon from Wunderkraut’s perspective. Here you will find out what happened, what you should catch up on, and what we recommend to prepare you for next year’s conference in Dublin.

Pre-Conference Opening - Sunday 20th September

Before the conference officially opened for registration, members of our team met with other community developers to get sprinting at Makers of Barcelona - a beautiful and quirky co-working space 25 minutes from the conference centre.

With D8 close and everyone keen to hear what the first days of the conference had to offer in the way of Drupal 8 news, everyone was in high spirits to collaborate and code face-to-face at the extended sprints.

Registration Day - Monday 21st September

Barcelona International Convention Centre opened its doors for attendees to register. Whilst contributors and coders headed to the Contribution Lounge, leaders of Drupal businesses came together at the Business Summit to share experiences, learn new things, and make acquaintances.

Exhibitors and organisers were also buzzing around the exhibitor hall to prepare their stands and catering areas for the evening’s opening reception, giving all attendees a great opportunity to network and discuss the days ahead.

Watch our roundup of Monday at DrupalCon:

DrupalCon Barcelona Monday from WunderTV on Vimeo.

Day 1 - Tuesday 22nd September

The day opened with Dries’ keynote which gave people a status update on Drupal 8’s release, an overview of the state of the CMS market, and an introduction to new techniques for contributing to Drupal. Overall this was well received and the first deadline of October 7th 2015 was set for D8’s Release Candidate.

Our team then went on to enjoy a variety of tracks and sessions throughout the day. Here’s what Wunderkraut recommends watching from the first day:

Highly recommended by our team

Cut the crap. Practical tips and real world examples for removing waste from your development process.

Recommended by our consultants

Caching at the Edge: CDNs for everyone

Drupal 8 media status update

Design to support strategic objectives (hosted by our own Roy Scholten)

Recommended by our back-end developers

Self-Managing Organizations: Teal is the new Orange

Drupal in 2020

Following a day full of fantastic sessions, the Wunderkraut team headed over to Barcelona’s beaches to have a WunderParty. This gave our international group a great opportunity to socialise and network with one another over good food and a few drinks, which our friends from the conference also attended.

Watch our roundup of Tuesday at DrupalCon

DrupalCon Barcelona Tuesday from WunderTV on Vimeo.

Day 2 - Wednesday 23rd September

The second day of the conference kicked off with an inspirational keynote by Nathalie Nahai on web psychology. This lead nicely into the second day of sessions, sprints and BoFs. Here is what our attendees recommend:

Recommended by our back-end developers

Defense in Depth: Lessons learned securing 100,000 Drupal Sites

Recommended by our consultants

Making Drupal fly - The fastest Drupal ever is here!

No therapist needed: clients, teams and no tears (hosted by our own Alice Richmond)

Recommended by our care team

How to print 200.000 Magazines Weekly, and Have Them Published on the Web and Mobile From a Single Drupal Site

Recommended by our operations team

Breaking Down Silos - How channel thinking limits companies and agencies in creating succesful sites and campaigns

Creating a collaborative agency culture that scales

Recommended by our front-end team

Next generation graphics: SVG

Trophy Winning Teams

What's your type?

In the evening a number of our team members headed into the “old town” area of Barcelona to enjoy the local tapas, sangria, and local culture. All of the local people were out and celebrating La Mercè Festival which involved fireworks, parties, and fun.

Watch our roundup of Wednesday at DrupalCon

Drupalcon Barcelona Wednesday from WunderTV on Vimeo.

Day 3 - Thursday 24th September

Thursday was the final day of sessions and by this point a lot of new information, local culture, and sangria had been consumed by conference attendees who stayed since the start. It was hard to find one of our bean bags free at the conference that didn’t have an attendee catching a nap on it!

The final day of sessions, however, was great and they were started by two excellent community keynotes by David Rozas and Mike Bell on mental health in the open source world and the phenomenon of contributing to a community. Both talks were received very well by our team and the community.

Here’s what else Wunderkraut recommends from the day:

Recommended by our back-end developers

Testing with Monkeys: Using Chaos for Better Code

Building the Front End with Angular.js

Recommended by our consultants

Visual Regression Testing

Making Drupal a better out-of-the-box product: Report on usability testing results and how we can make 8.1.x+ shine (joint hosted by our own Lewis Nyman)

All of the conference’s sessions ended with Holly Ross’ Closing Session that provided some cool community and conference stats, in addition to the location of next year’s Drupalcon - Ireland!

To celebrate a successful DrupalCon, most of the attendees headed down to the Trivia Night where they had an opportunity to win some fun prizes, including these sought after goodies:

Some @Wunderkraut beanbags are up 4 grabs. A lot of folk have their eye on this prize, even sans-beans. #DrupalCon pic.twitter.com/B5Bti8iyJi

— Andrew Macpherson (@MartianWebDev) September 24, 2015 Sprinting for Beginners and All - Friday 25th September

Friday was a day for first-time sprinters to meet the mentors and get started with contributing to Drupal. It began with a workshop on downloading the tools required to contribute and lead to people being assigned to different contribution tasks and issues, depending on their different skills.

Later on in the afternoon Angie Byron (webchick) committed a selection of contributions that newcomers made to Drupal 8 whilst they were at the conference and everyone celebrated the new additions together.

Extended Sprints - Saturday 26th - Sunday 27th September

The rest of the weekend was spent sprinting by contributors back at the creative co-working space, Makers of Barcelona. Overall, a nice way to finish of the week in beautiful Barcelona.

Tips for future DrupalCon Goers

With over 70 odd of our team attending this year’s DrupalCon we’d like to leave a few bits of advice for future participants who may be completely new to the conference to make their experiences as enjoyable as ours.

Marc Galang, Software Developer

“Attend the prenote! Also if you're joining the sprints make sure you have a running environment before you leave your country/office because sometimes the internet could be really slow that it takes A LOT of time to download stuff that is needed for the sprints.

Bert Boerland, Sales Manager

Sleep as much as you can upfront. You should also add the checkmark of being at the con in your Drupal.org profile.

Mikael Kundert, Software Developer

After you start to find sessions that aren’t that useful for you, move on to participate in BoFs and sprints!

Bernt Andreas Drange, Software Developer

Remember your business cards and cash for coffee!

Jenny Kannelsuo, Service Manager

Plan ahead and check the sessions beforehand.

Randal Whitmore, Marketing Assistant

Embrace as much as you can, especially if this is your first experience with the community. Communicating with people in person and getting to understand those behind Drupal is invaluable.

Categories: FLOSS Project Planets

PyCharm: PyCharm 5 EAP 143.24 is Available

Planet Python - Thu, 2015-10-01 13:58

Today we announce the third PyCharm 5 EAP build 143.24. Please download it from our EAP page.

This EAP build consolidates many fixes and improvements for recently added features, as well as a couple of new features that we hope you’ll enjoy.

The most notable brand-new feature in this build is the Conda Integration, considered to be a big improvement for scientific Python developers. Conda is an open source package management system and environment management system for installing multiple versions of software packages and their dependencies and switching easily between them. The Conda Integration implemented in PyCharm is primarily designed for managing Anaconda installations. You can create new Conda environment the same way as usual python virtualenvs right from the Python Interpreters dialog in Settings | Project | Project Interpreter:

PyCharm is also able to recognize existing Conda environments. You can check which ones are automatically discovered by using the Project Interpreter drop-down list, or by adding Conda environments with the “Add Local” option. PyCharm uses Conda’s package manager and its environment management functionality.

Another addition in this build is that we now bundle the EditorConfig plugin. EditorConfig helps developers define and maintain consistent coding styles between different editors and IDEs. Please read more about EditorConfig on its official website.

This build also includes fixes for Google and Numpy docstrings support, fixes for Django support, and a lot of web and platform improvements including a few new platform features. For the detailed list of changes and improvements, please check the Release Notes.

Please take PyCharm 5 EAP build 143.24 for a spin! Hopefully there are no major issues; however, should you encounter any problems please report them to our public tracker.

You can download the build or use the patch-based upgrade to upgrade from within the IDE (from previous PyCharm 5 EAP builds only) without a full re-installation. Just make sure you’ve selected the EAP channel in update settings.

Develop with pleasure!
JetBrains PyCharm Team

Categories: FLOSS Project Planets

FSF News: FSF, Conservancy publish principles for community-oriented GPL enforcement

GNU Planet! - Thu, 2015-10-01 12:20

The FSF and Conservancy each lead worldwide efforts to ensure compliance with the GPL family of licenses. The principles they follow are designed to make copyleft license enforcement first and foremost serve the goal of protecting user freedom, which includes assisting companies to correctly distribute free software. This means carefully verifying violation reports, approaching companies privately rather than publicly shaming them, treating legal action as a last resort, and never prioritizing financial gain over defending the freedom of users.

"GPL enforcement is mostly an educational process working with people who have made honest mistakes, but it must be undertaken with care and thoughtfulness. Our goal is not to punish or censure violators, but to help them come into compliance. Abiding by these principles aids our work in bringing about that outcome," said FSF's licensing and compliance manager, Joshua Gay.

The FSF does license enforcement for programs that are part of the GNU Project, when their copyright is assigned to the FSF, and actively encourages developers to apply for their programs to become part of GNU. License violations can be reported by email following the instructions at http://www.gnu.org/licenses/gpl-violation.html.

"These principles have guided our efforts in defending the rights of computer users since at least 2001. We wanted to collect them and write them down in one place both to bust some myths about our GNU GPL enforcement work, and to help other individuals and organizations get started with their own processes," said FSF's executive director, John Sullivan.

Conservancy has also released an announcement and will host the document on its website.

Conservancy's executive director Karen Sandler will be joining FSF licensing & compliance manager Joshua Gay and FSF copyright and licensing associate Donald R. Robertson, III, on Saturday, October 3rd for the User Freedom Summit in Cambridge, Massachusetts, where they will be running a workshop session titled Community Licensing Education & Outreach.

About the Free Software Foundation

The Free Software Foundation, founded in 1985, is dedicated to promoting computer users' right to use, study, copy, modify, and redistribute computer programs. The FSF promotes the development and use of free (as in freedom) software -- particularly the GNU operating system and its GNU/Linux variants -- and free documentation for free software. The FSF also helps to spread awareness of the ethical and political issues of freedom in the use of software, and its Web sites, located at fsf.org and gnu.org, are an important source of information about GNU/Linux. Donations to support the FSF's work can be made at https://donate.fsf.org. Its headquarters are in Boston, MA, USA. More information about the FSF, as well as important information for journalists and publishers, is at https://www.fsf.org/press.

About the GNU Operating System and Linux

Richard Stallman announced in September 1983 the plan to develop a free software Unix-like operating system called GNU. GNU is the only operating system developed specifically for the sake of users' freedom. See https://www.gnu.org/gnu/the-gnu-project.html. In 1992, the essential components of GNU were complete, except for one, the kernel. When in 1992 the kernel Linux was re-released under the GNU GPL, making it free software, the combination of GNU and Linux formed a complete free operating system, which made it possible for the first time to run a PC without non-free software. This combination is the GNU/Linux system. For more explanation, see https://www.gnu.org/gnu/gnu-linux-faq.html.

Media Contacts

Joshua Gay
Licensing & Compliance Manager
Free Software Foundation
+1 (617) 542 5942

Categories: FLOSS Project Planets

Andrzej Skupień: Joe

Planet Python - Thu, 2015-10-01 11:13

In this article I write about Joe – Python tool that makes creating .gitignore files much easier.


Every time I create new project, there comes time, when I want to put it under git control and do the first commit:

$ git init Initialized empty Git repository in </path/to/directory> $ git status # good practice - check before commit # (...) Untracked files: (use "git add <file>..." to include in what will be committed) __init__.pyc __pycache__/ openstack.pyc test.py

In this moment I realize that I have forgot to add .gitignore. And to be honest, hate to do this. What should I place there? Should I put this __pycache__ folder too?

But have no fear Joe is here.

Joe will generate .gitignore for you:

$ joe python > .gitignore $ cat .gitignore ### joe made this: https://goel.io/joe #####=== Python ===##### # Byte-compiled / optimized / DLL files __pycache__ \*.py[cod] # C extensions *.so # Distribution / packaging .Python env/ build/ develop-eggs/ dist/ downloads/ eggs/ lib/ lib64/ parts/ sdist/ var/ *.egg-info/ .installed.cfg *.egg #( ... )

Joe can create gitignore rules for many other files:

$ joe list actionscript, ada, agda, android, anjuta, appceleratortitanium, archives, archlinuxpackages, autotools, bricxcc, c, c++, cakephp, cfwheels, chefcookbook, clojure, cloud9, cmake, codeigniter, codekit, commonlisp, composer, concrete5, coq, craftcms, cvs, dart, darteditor, delphi, dm, dreamweaver, drupal, eagle, eclipse, eiffelstudio, elisp, elixir, emacs, ensime, episerver, erlang, espresso, expressionengine, extjs, fancy, finale, flexbuilder, forcedotcom, fortran, fuelphp, gcov, gitbook, go, gradle, grails, gwt, haskell, idris, igorpro, ipythonnotebook, java, jboss, jdeveloper, jekyll, jetbrains, joomla, jython, kate, kdevelop4, kohana, labview, laravel, lazarus, leiningen, lemonstand, libreoffice, lilypond, linux, lithium, lua, lyx, magento, matlab, maven, mercurial, mercury, metaprogrammingsystem, meteor, microsoftoffice, modelsim, momentics, monodevelop, nanoc, netbeans, nim, ninja, node, notepadpp, objective-c, ocaml, opa, opencart, oracleforms, osx, packer, perl, phalcon, playframework, plone, prestashop, processing, python, qooxdoo, qt, r, rails, redcar, redis, rhodesrhomobile, ros, ruby, rust, sass, sbt, scala, scons, scrivener, sdcc, seamgen, sketchup, slickedit, stella, sublimetext, sugarcrm, svn, swift, symfony, symphonycms, tags, tex, textmate, textpattern, tortoisegit, turbogears2, typo3, umbraco, unity, vagrant, vim, virtualenv, visualstudio, vvvv, waf, webmethods, windows, wordpress, xcode, xilinxise, xojo, yeoman, yii, zendframework, zephir

So if you are convinced, you will find Joe here

Categories: FLOSS Project Planets

InternetDevels: The UX myths — infographics (part 1)

Planet Drupal - Thu, 2015-10-01 09:38

Talking about UX design services becomes a new trend. While not so many people are certain who is a user and what is his or her experience, hundreds would like to contribute into the discussion about proper approaches to it. Let’s take a look on 5 the most widespread UX myths and their disproof.

Read more
Categories: FLOSS Project Planets

Zengenuity: September's Most Interesting New Drupal Modules

Planet Drupal - Thu, 2015-10-01 09:00

Some of the most interesting new modules I saw posted to drupal.org in September:

Views Advanced Routing

(for Drupal 8) Allows you to specify the routing configuration YAML for a Views page. Meaning, you can use custom access control callbacks, default parameters, etc. Sweet!

Commerce Responsive UI

Provides replacement interfaces for the parts of Drupal Commerce that are table dependent and non-mobile responsive by default. These include Responsive Cart, Responsive Checkout, and Responsive User Facing Orders.

Drupal 8 Contrib Porting Tracker

Not a module, but a centralized place for tracking the Drupal 8 porting status of contributed projects (modules, themes, distributions). The best place to find out that the Bad Judgement module is ready for D8!

Advanced Image Crop

This image field cropper lets the user do a different crop in each of the image styles configured by the admin. You better have some saavy users to comprehend this, but if you do, it looks awesome.

Webform Replay [sandbox]

Extends the Webform module by adding an option to “replay” selected webform values in situations where multiple webform submissions per user are allowed, and some of that information is likely to be repeated on each submission. By enabling webform replay for these fields, the user only needs to complete them for the initial webform submission, and on subsequent entries these fields will be pre-populated with the values from the previous submission.

Forbidden File Format

Flips the file field extension checking around so that you can allow all types of files except the extensions specified. So you could deny .js, .exe, .bat, and .com, but allow other types.

Tableau WDC [sandbox]

Tableau 9.1 includes a new Web Data Connector feature, which lets you build connections to data accessible over HTTP with JSON data and REST APIs. This module attempts to bridge the gap between Drupal and Tableau by adding a new views plugin (tableau_wdc) which renders content as a JSON with some extra meta information needed by Tableau. Once you have created your endpoints, you can add the tableau-wdc block to any page and it will automatically render a button for each data source together with all the necessary scripts to parse and prepare the data for import.

Nuke Drupal Frontend

Allows you to completely disable frontend HTML access to a Drupal site, for when you’re building a headless site, and you’re not using the Drupal-provided frontend.

Doubtfire [sandbox]

An alternative to the Masquerade module, with some useful UI additions.

Gmail Connector [sandbox]

Lets users view their Gmail inbox and messages in Drupal using the Gmail RESTful API.

Categories: FLOSS Project Planets

Graham Dumpleton: A new job and a new set of goals.

Planet Python - Thu, 2015-10-01 08:53
Okay, it isn’t quite a new job as I have already been there for over two months, but then for most of the past month I was on an extended family holiday which had been organised long before the idea of changing jobs had arisen. Prior to the holiday I had been busy with conferences, training and the general firehouse of new information that comes with a new job. It is only now after I have got
Categories: FLOSS Project Planets

Secrets of Krita: the Third Krita Training DVD

Planet KDE - Thu, 2015-10-01 08:31

Comics with Krita author Timothée Giet is back with his second training DVD: Secrets of Krita, a collection of videos containing 100 lessons about the most important things to know when using Krita. In 10 chapters, you will discover with clear examples all the essential and hidden features that make Krita so powerful and awesome! The data DVD is English spoken with English subtitles.

Secrets of Krita – DVD (€29,95)

Secrets of Krita – Download (€29,95)

Table of Contents

04-Display Colors
06-Canvas-Only Mode
07-Canvas Input
08-Other Shortcuts
10-Advanced Color Selector

2-Generic Brush Settings
01-Popup Palette
02-Toolbar Shortcuts
03-Dirty Presets
05-Precision Setting
06-Soft Brush
07-Build-Up And Wash
08-Dynamic Settings
09-Lock Setting
10-Smoothing mode

3-Specific Brush Settings
01-Pixel Brush: Color Dynamics
02-Pixel Brush: Pixel Art Presets
03-Color Smudge Brush: Overlay Mode
04-Sketch Brush: How It Works
05-Bristle Brush: Ink Depletion
06-Shape Brush: Speed And Displace
07-Spray Brush: Shapes And Dynamics
08-Hatching Brush: Hatching Options
09-Clone Brush: Shortcuts And Modes
10-Deform Brush: Deformation modes

01-Background Modes
02-Layer Groups
03-Inherit Alpha
04-Erase Mode
05-Filter Layer And Mask
06-Layer Conversion
07-Split Alpha
08-Split Layer
09-File Layer
10-Layer Color space

01-Selection Operations
03-Selection View
04-Global Selection Mask
05-Local Selection Mask
06-Selection Painting
07-Select Opaque
08-Contiguous Selection
09-Vector Selection
10-Convert Selection

01-Crop Tool
02-Pseudo-Infinite Canvas
03-Transform Tool
04-Transform Tool – Free Transform
05-Transform Tool – Perspective
06-Transform Tool – Warp
07-Transform Tool – Cage
08-Transform Tool – Liquify
09-Transform A Group
10-Recursive Transform

01-Assistant Magnetism
02-Vanishing Point
06-Concentric Ellipse
07-Parallell Ruler
09-Infinite Ruler
10-Fish Eye Point

01-Filter Presets
02-Dodge And Burn
04-Index Colors
05-Color To Alpha
06-Alpha Curve
07-Color Transfer
09-Layer Styles

9-Vector Tools
01-Vector Drawing
02-Vector Editing
03-Stacked Shapes
05-Stroke Shapes
07-Artistic Text
08-Multiline Text
09-Pattern Editing
10-Gradient Editing

01-Mirror view
02-Wrap Around mode
03-Mirror Painting
05-Save Incremental
06-Save Group Layers
08-Task Sets
09-Color Selectors
10-Command Line

Categories: FLOSS Project Planets

Drupal CMS Guides at Daymuse Studios: Upgrade Your Tools: Build a Drupal Developer Toolkit Tutorial

Planet Drupal - Thu, 2015-10-01 08:03

Drupal Developer Toolkit tutorial series reviews web apps, desktop applications, mobile tools, and web services to improve your work and quality of life.

Categories: FLOSS Project Planets

Petter Reinholdtsen: French Docbook/PDF/EPUB/MOBI edition of the Free Culture book

Planet Debian - Thu, 2015-10-01 07:20

As I wrap up the Norwegian version of Free Culture book by Lawrence Lessig (still waiting for my final proof reading copy to arrive in the mail), my great dblatex helper and developer of the dblatex docbook processor, Benoît Guillon, decided a to try to create a French version of the book. He started with the French translation available from the Wikilivres wiki pages, and wrote a program to convert it into a PO file, allowing the translation to be integrated into the po4a based framework I use to create the Norwegian translation from the English edition. We meet on the #dblatex IRC channel to discuss the work. If you want to help create a French edition, check out his git repository and join us on IRC. If the French edition look good, we might publish it as a paper book on lulu.com. A French version of the drawings and the cover need to be provided for this to happen.

Categories: FLOSS Project Planets

Mike Gabriel: My FLOSS activities in August/September 2015

Planet Debian - Thu, 2015-10-01 07:18

Here comes my "monthly" FLOSS report for August and September 2015. As 50% of August 2015 had been dedicated to taking some time off (spending time in Sweden with the family), it happened that even more workload had to be processed in September 2015.

  • Completion of MATE 1.10 in Debian testing/unstable and Ubuntu 15.10
  • Contribution to Debian LTS, Debian packaging
  • Development of GOsa² Plugin SchoolManager
  • Automatic builds for Arctica Project
  • Forking Unity Greeter as Arctica Greeter (with focus on the remote logon part inside Unity Greeter)
Received Sponsorship

My monthly 8h portion of working for the Debian LTS project I had to dispatch from August into September. Thus, I received 16h of paid work for working on Debian LTS in September 2015. For details, see below. Thanks to Raphael Hertzog for having me on the team [1]. Thanks to all the people and companies sponsoring the Debian LTS Team's work.

The development of GOsa² Plugin SchoolManager (for details, see below) was done on contract for a school in Nothern Germany. The code will be released under the same license as the GOsa² software itself.

Completion of MATE 1.10 in Debian testing/unstable and Ubuntu 15.10

In the first half of September all MATE 1.10 packages finally landed in Debian testing (aka stretch). Martin Wimpress handled most of the packaging changes, whereas my main job was being reviewer and uploader of his efforts. Thanks to John Paul Adrian Glaubitz for jumping in as reviewer and uploader during my vacation time.

read more

Categories: FLOSS Project Planets

The Future of Kontact

Planet KDE - Thu, 2015-10-01 06:49
KDE Project:

Supplemental to what we reported previously about the work in Randa [1, 2] there was a session on the future of Kontact, KDE’s personal information manager (PIM). Over the years this tool has evolved into a monster making both development as well as usage sometimes tricky. It’s time to cut hydra’s arms.

TL;DR: Sorry for the long posting. This blog post is about requirements for Kontact mobile. It also shows a couple of mockups based on the preliminary mobile HIG that illustrate what the requirements mean.

Formerly, Kontact had a rather simple vision which was updated at the last PIM sprint:

“The KDE PIM Framework allows to easily create personal information management applications ranging from personal to large enterprise use, for any target device and major platform. It seamlessly integrates data from multiple sources, while aiming to be rock-solid and lightning-fast....” (read more at Thomas Pfeiffer's blog and the new KDE PIM wiki page)
(Probably we do not talk about a framework anymore but a full-featured PIM suite)

In addition the generic “simple by default and powerful on demand” should be true. That means among others to drop all non-core features. Since KDE software will run on mobile and touch devices the next version of Kontact has to runs smoothly on all devices and form factors. And the special aim of the developers is that Kontact will become the first tool when privacy and security is of primary interest.

Persona and Scenario
Kontact will stick to the KDE personas. The main area of application is in medium to large size companies with a focus on security. So we talk about people like Berna or Santiago as the primary persona. The secondary persona is the private user with average knowledge (Susan) but also those with special needs like mailinglists (Philip).

There shouldn’t be much to clarify about the desktop scenario. In respect to mobiles we have to consider first phones with ~4 to 5” in both vertical and horizontal orientation. For instance, the phone can be used vertically to get an overview of incoming emails and provide details on the selected item when rotated. Additionally we have to take tablets with 10-12” and wearables into account. The latter might be a small wrist watch but also a head-mounted display with a larger visualization.

Most relevant in this early stage of development is to define the intended features clearly. So this blog post is actually about requirements.

  • Essential for Kontact+ are email, calendar, and address book. Additional modules like notes, to-do lists, feeds etc. will be made available via plugin.
  • It has to be easy to switch between these modules
  • Modules have to allow interactions in terms of adding an appointment to the calendar that was received by email.
  • Configuration of the app is important
  • Comply with KDE phone (swipe up/down from top and bottom; extend the to
  • olbar wrt. the form factor)

Some time ago an analysis was done in respect to Plasma Active, which shouldn’t be outdated too much.

  • Received emails have to be shown in a comprehensive list that allows to focus on important items.
  • Discussions (mailinglists) are shown in threads, which is one of the killer feature of today’s KMail.
  • Emails can be sorted and filtered by date/sender/receiver/size/flags with all flexibility
  • Security/privacy is of major interest.
  • Core technical features are:
    • Support multiple accounts
    • Support standard protocols (IMAP, POP3, SMTP)
    • Supports authentication via NTLM (Microsoft Windows) and GSSAPI (Kerberos)
    • Supports plain text and secure logins, using SSL and TLS
    • Native support for inline OpenPGP, PGP/MIME, and S/MIME encryption
    • Filter spam (Integration with popular spam checkers, e.g. SpamAssassin, Bogofilter, etc.)
    • Provide synchronization features (e.g. owncloud)
    • Notification for new messages
    • Deal with text and HTML formatted emails

UI relevant features with relevance and suggested realization:

  • Receive/update: core > auto push or swipe down
  • Overview as well as details view and the complete email: core/performance > selection and touch again
  • Distinguish read from unread messages: core > grey out
  • Reply/reply all/forward: performance (reading is preferred on mobiles) > context drawer / handle (reply to all only for mobiles)
  • Compose: performance > global drawer
  • Delete: performance > context drawer
  • Move to folder (archive): buzz > context drawer
  • Save/add attachment: buzz > context drawer
  • Link item (add sender to/from address book, add appointment etc.): performance > context drawer
  • Toggle html on/off: exotic / buzz > context drawer
  • Show full header info: exotic / buzz > link
  • Handle long lists of receivers: exotic (at overview)/ performance wrt. to security > cut by default
  • Search for items: exotic > not implemented
  • Sort items by property (time, sender, receiver...): exotic > not implemented
  • Import/Export emails: exotic > not implemented

core/basic features = program does not work without, performance = not absolutely necessary, but create the impression of a good product, buzz = not expected by default, exotic = not really needed
For more about context drawer or global (or menu) drawer you may read the preliminary HIG or wait for the upcoming blog post by Thomas Pfeiffer.

Calendar & Addressbook
We talked also in short about the calendar app. Ideas will be presented later to not overload this posting.

Requirements are essential for products. But since people tend to not read walls of text- and because it’s often not easy to follow the ideas, it makes sense to visualize with simple mockups.

Multiple level of details

Figure 1: Several level of detail in order to support both a fast overview as well as having a preview and a full-size read mode. The figures also illustrate the idea to add graphical guidance a la GitHub.

The probably most shining feature is the graph supporting the orientation. It is inspired by GitHub with the idea to flatten the current system of reply indention. If Alice communicates with Bob there would be a straight line. And if John joins and “branches” the discussion this would be illustrated respectively.
Threads are identified by the topic, highlighted in blue here. With the goal to show as many (incoming) emails as possible we start from the left with the highly condensed view that lists sender and time of the email. Items expand on selection (indicated also by a bigger sign in the graph) providing a quick preview. The actual email address is shown here for security reasons. If the user touches the item once again the app provides inline access with almost the complete functionality. However, from time to time it might be necessary to read the message in full size with for example all HTML features, as illustrated in the right picture.
By the way, the bottom panel with the red cross is a placeholder for global plasma functions on mobiles.


Figure 2: Context functions with the selected item and global interactions with the app. In the right mockup the idea of dynamic filters is shown.

Context relevant functions are located in the right drawer. It opens when the user swipes from right to left offering all functions with the current list as well as the selected item. If the user wants to have quick access to a particular function, such as reply (reply to all in case of mobiles) and delete, these features may be selected for having them at the handle, which is shown on slid sideways. The user can decide what he or she wants to have there but with a limit to a few functions only (here two).
Access to global functions, i.e. compose for email, and other modules are available in the left, global drawer. And there is also a core feature of the email app: Dynamically combined filters.

Normal email programs work with a couple of fix folders like inbox, sent, and trash plus user-defined folders. But reading an email in a conversation without reference to own contributions is weird. And using predefined folders is also somewhat outdated. The idea is to have filters like “all incoming unread messages” (replacing the inbox), “emails with reference to KDE in the header or sent from *@kde.org” (replacing personal folders). The creation of those filters (like smart folders in the Mac OS world and also similar to the stored search in the current KMail) could be done on the desktop for convenience. The mobile app provides checkboxes to have any combination of those filters.

Form factors and orientation

Figure 3: Horizontal orientation.

Different form factors like in rotated orientation or in case of a larger displays have to be taken into consideration. While the number of shown emails is reduced it is possible to read the content of the selected item, at least in terms of the preview.

Figure 4: Desktop or tablet size version of Kontact+.

With more size the screen may get organized like in conventional email applications. The left, global drawer (aka sidebar in desktop apps) offers navigational and global features (still providing access to dynamic filters), there is an overview of all emails (here with more information compared to the mobile version), and the details below. Large screens makes it also possible to show a toolbar with labeled buttons instead of the right context drawer.

It should be kept in mind that users may want to switch to the mobile version on the desktop, for example in order to have a small app running on a secondary screen.

Alternative version

Figure 5: Alternate, even more simple version.<(i>

Of course you can (and should) refuse requirements that make no sense to you. For instance, if threading is less important and if the major focus is not on as many items as possible at once, the user interface may look like in figure 5. Colors can be added to support navigation and orientation, but must not be used as primary indicator. That means, similar to existing apps the items may have a small indicator bar, or the like, for the respective filter.

Finally, and to make it really confusing, the app is made for KDE. And since we offer all freedom the configuration should allow flexibility and individualization. However, the mobile app needs to be simple so we must not add all the features available currently.
Here are some ideas for the configuration:

  • Sender name: ( ) First name Surname, (o) Surname, First name, ( ) First name only, ( ) Surname only
  • [x] Show sender’s full address
  • [x] Allow HTML emails
  • [x] Show navigation graph
  • <1> Number of preview lines
  • [Breeze|Oxygen|Rainbow|B/W] Color set
  • <0.5> Time to mark as read (steps in 250ms)

Conclusion / Participation
What do you think? Are the requirements sufficient for your workflow or do you think we have to add or remove something? We are looking forward your ideas. Please join the discussion at the KDE forums thread "The Future of Kontact".

Finally kodus go to Michael Bohlender, Christian Mollekopf, Andreas Kainz, Uri Herrera, and Jens Reuterberg who discussed the topic at Randa. Also big hugs to the mobile HIG team with Thomas Pfeiffer and Alex L.
Images were made with Balsamiq Mockups. The source can be downloaded from KDE share.

Categories: FLOSS Project Planets

Mike Gabriel: Nightly builds for Arctica Project (Debian / Ubuntu)

Planet Debian - Thu, 2015-10-01 06:42

I am happy to announce that The Arctica Project can now provide automatic nightly builds of its developers' coding code work.

Packages are built automatically via Jenkins, see [1] for an overview of the current build queues. The Jenkins system builds code as found on our CGit mirror site [2].

NOTE: The Arctica Project's nightly builds may especially be interesting to people that want to try out the latest development steps on nx-libs (3.6.x branch) as we provide nx-libs 3.6.x binary preview builds.

Currently, we only build our code against Debian and Ubuntu (amd64, i386), more distros and platforms are likely to be added. If people can provide machine power (esp. non-Intel based architectures), please get in touch with us on Freenode IRC (channel: #arctica).

This is how you can add our package repositories to your APT system.

Debian APT (here: stretch)

Please note that we only support recent Debian versions (currently version 7.x and above).

$ echo 'deb http://packages.arctica-project.org/debian-nightly stretch main' | sudo tee /etc/apt/sources.list.d/arctica.list $ sudo apt-key adv --recv-keys --keyserver pgp.mit.edu 0x98DE3101 $ sudo apt-get update Ubuntu APT (here: trusty)

Please note that we support recent Ubuntu LTS versions only (Ubuntu 14.04 only at the moment).

$ echo 'deb http://packages.arctica-project.org/ubuntu-nightly trusty main' | sudo tee /etc/apt/sources.list.d/arctica.list $ sudo apt-key adv --recv-keys --keyserver pgp.mit.edu 0x98DE3101 $ sudo apt-get update

read more

Categories: FLOSS Project Planets

Codementor: Simple Python Snake Game using Curses

Planet Python - Thu, 2015-10-01 06:38

Here is a good description of a Snake Game from wikipedia. Snake is a game where the player maneuvers a line which grows in length, with the line itself being a primary obstacle. There is no standard version of the game. The concept originated in the 1976 arcade game Blockade, and its simplicity has led to many implementations (some of which have the word snake or worm in the title). After a variant was preloaded on Nokia mobile phones in 1998, there was a resurgence of interest in the Snake concept as it found a larger audience.

Problem Solving Approach

Let’s start with the elements of a Snake Game. Firstly, the snake itself is the main character. Secondly, it should be able to move in four directions (up, down, left, right). Each time it eats food, its body would stretch. Thirdly, the food will appear in random places. Fourthly, the snake should not eat itself. Fifth make the game faster Lastly, we should track the score.

In order to make the code easier to maintain, I used OOP and created three classes, which are Snake, Body, and Food.

Snake Class

class Snake(object): def __init__(self, x, y, window): # initialize snake: # - create head # - create body # - set starting x, y position def eat_food(self, food): # remove food # stretch body # add score # make the game faster def update(self): # update snake location (move the snake) def render(self): # draw the snake in the console using curses def move(self): # move up down left right

Body class

class Body(object): def __init__(self, x, y, char='#'): self.x = x self.y = y self.char = char @property def coor(self): return self.x, self.y

Food class

class Food(object): def __init__(self, window, char='*'): # set random x, y position def render(self): # draw food to console def randomize(self): # randomize x, y position

Main loop

while True: # clear screen # display the snake # display the food # display the score # listen to keypress event # respond to keypress event # stop the game if the head hits the body (eat itself)

I have made ​a GitHub​ repository, so feel free to use this link to view the source code.

Pros and Cons

The good thing about this game and our solution is that it is very simple. The approach is pretty simple and easy to understand even for beginners. This game could run on many platforms.

The bad thing is that the “look” of the game is pretty ancient (DOS style), so it’s not so appealing. When the user presses and holds the navigation key, the snake moves faster this is due to the way I used timeout to delay the rendering in the main loop.


Since I created this game just for fun and to teach beginners how to code a snake game, I know that there are many things that could be improved. The code itself could be more optimised. Perhaps using curses.napms to delay the rendering instead of using window.timeout. Adding sound effects and a theme song should be easy and fun. Currently this code only works on Linux and Mac OSX. In order to make it work with Windows platform, UniCurses should be used instead of curses.

Categories: FLOSS Project Planets

Michal &#268;iha&#345;: IMAP utils 0.5

Planet Debian - Thu, 2015-10-01 06:00

I've just released new version of imap-utils. Main reason for new release was change on PyPI which now needs files to be hosted there.

However the new release also comes with other changes:

  • Changed license to GPL3+.
  • Various coding style fixes.

Also this is first release done from Git repository hosted on GitHub.

Filed under: Coding English IMAP | 0 comments

Categories: FLOSS Project Planets

eGenix.com: eGenix PyRun - One file Python Runtime 2.1.1 GA

Planet Python - Thu, 2015-10-01 05:00

eGenix PyRun is our open source, one file, no installation version of Python, making the distribution of a Python interpreter to run based scripts and applications to Unix based systems as simple as copying a single file.

eGenix PyRun's executable only needs 11MB for Python 2 and 13MB for Python 3, but still supports most Python application and scripts - and it can be compressed to just 3-4MB using upx, if needed.

Compared to a regular Python installation of typically 100MB on disk, eGenix PyRun is ideal for applications and scripts that need to be distributed to several target machines, client installations or customers.

It makes "installing" Python on a Unix based system as simple as copying a single file.

eGenix has been using eGenix PyRun internally in the mxODBC Connect Server product since 2008 with great success and decided to make it available as a stand-alone open-source product.

We provide both the source archive to build your own eGenix PyRun, as well as pre-compiled binaries for Linux, FreeBSD and Mac OS X, as 32- and 64-bit versions. The binaries can be downloaded manually, or you can let our automatic install script install-pyrun take care of the installation: ./install-pyrun dir and you're done.

Please see the product page for more details:

    >>> eGenix PyRun - One file Python Runtime


This patch level release of eGenix PyRun 2.1 comes with the following enhancements:

Enhancements / Changes
  • Upgraded eGenix PyRun to work with and use Python 2.7.10 per default.
  • eGenix PyRun will now adjust sys.base_prefix and sys.base_exec_prefix in the same way it does for sys.prefix and sys.exec_prefix. This is needed for Python 3.4 in order to have distutils find the Python.h include file when compiling C extensions.
  • PyRun for Python 3.4 will now show the correct file name of scripts in tracebacks when running them directly, instead of just '<string>'.
  • The new internal _sysconfigdata module used by the sysconfig module is now patched with the eGenix PyRun config data as well, to make sure that PyRun doesn't ship with two sets of build config variables.
install-pyrun Enhancements
  • Updated install-pyrun to default to eGenix PyRun 2.1.1 and its feature set.

For a complete list of changes, please see the eGenix PyRun Changelog. Downloads

Please visit the eGenix PyRun product page for downloads, instructions on installation and documentation of the product.


Commercial support for this product is available directly from eGenix.com.

Please see the support section of our website for details.

More Information

For more information on eGenix PyRun, licensing and download instructions, please write to sales@egenix.com.

Enjoy !

Marc-Andre Lemburg, eGenix.com

Categories: FLOSS Project Planets

Sooper Drupal Themes: Module Spotlight #3: Yoast Drupal SEO

Planet Drupal - Thu, 2015-10-01 01:48
Yoast Drupal SEO Module: Tested and Reviewed

Yoast SEO is a household name in the WordPress community and as a premium drupal themes shop owner I was jealous of their favorite tool. Yoast SEO gained popularity because it didn't just make SEO finetuning possible in WP, it made it fun.  Important onpage SEO factors are pulled together...

Categories: FLOSS Project Planets

Acquia Developer Center Blog: Announcing the Drupal 8 Contrib Porting Tracker Project on Drupal.org

Planet Drupal - Thu, 2015-10-01 01:31
Angela ByronThe Problem

I have a theory.

My theory is that every single person / organization who is considering building a site on Drupal 8 has created some variation of the exact same spreadsheet. The spreadsheet tracks rows with information like which contributed projects the site needs, what URL those projects live at, who the maintainers are, what the project's current porting status is, etc.

To figure this out, you go to each of the respective project pages and look for an 8.x version. If that comes up empty, you attempt to search the issue queue for variations of "Drupal 8," "D8 port," etc. Worst-case, falling back to good ol' Google. Repeat every few weeks.

Man months have probably been spent on this duplication of effort so far.

To further build on that theory, I'm guessing that these spreadsheets do not always jive with current reality. Because you might have missed the update that contributor X gave on Twitter one time about her predicted module's release date. Or you might not have been sitting next to contributor Y at dinner during DrupalCon and found out that her module's actually being ported on GitHub or BitBucket, only being moved to Drupal.org when it's complete. Or, you didn't get the chance to actually install the project yet to determine that even though one has just a -dev release it's actually quite stable, and even though this one has an beta release, it's changing APIs every 6 minutes. Or whatever.

The Solution

Enter the Drupal 8 Contrib Porting Tracker! This is a "meta" project that holds issues that represent the porting status various projects, and allows us to work as a unified Drupal community to combine our collective observational super powers into one data set that can be used by anyone considering building on Drupal 8.

Tags: acquia drupal planetdrupal 8contributed projects
Categories: FLOSS Project Planets
Syndicate content