FLOSS Project Planets

EuroPython: PyData EuroPython 2016

Planet Python - Sat, 2016-05-21 06:03

We are excited to announce a complete PyData track at EuroPython 2016 in Bilbao, Basque Country, Spain, from July 14-24.

PyData EuroPython 2016

The PyData track will be part of the EuroPython 2016 conference, so you won’t need to buy extra tickets to join.

We will have more than 30 talks, 5 training and 2 poster sessions dedicated to PyData, mainly scheduled on Thursday 21st and Friday 22nd of July.

If you’d like to attend the PyData EuroPython 2016 track, please register for EuroPython 2016 soon.

With gravitational regards,

EuroPython 2016 Team

Categories: FLOSS Project Planets

Petter Reinholdtsen: French edition of Lawrence Lessigs book Cultura Libre on Amazon and Barnes & Noble

Planet Debian - Sat, 2016-05-21 04:50

A few weeks ago the French paperback edition of Lawrence Lessigs 2004 book Cultura Libre was published. Today I noticed that the book is now available from book stores. You can now buy it from Amazon ($19.99), Barnes & Noble ($?) and as always from Lulu.com ($19.99). The revenue is donated to the Creative Commons project. If you buy from Lulu.com, they currently get $10.59, while if you buy from one of the book stores most of the revenue go to the book store and the Creative Commons project get much (not sure how much less).

I was a bit surprised to discover that there is a kindle edition sold by Amazon Digital Services LLC on Amazon. Not quite sure how that edition was created, but if you want to download a electronic edition (PDF, EPUB, Mobi) generated from the same files used to create the paperback edition, they are available from github.

Categories: FLOSS Project Planets

Ian Ozsvald: Will we see “[module] on Python 3.4+ is free but only paid-support for Python 2.7”?

Planet Python - Sat, 2016-05-21 04:05

I’m curious about the transition in our ecosystem from Python 2 to Python 3. On stage at our monthly PyDataLondon meetups I’m known to badger folk to take the step and upgrade to reduce the support burden on developers. The transition gathers pace but it still feels slow. I’ve noted my recommendations for moving to Python 3+ at the end. See also the reddit discussion.

I’m wondering – when will we see the point where open source projects say “We support Python 3.x for free but if you want bugs fixed for Python 2.7, you’ll have to pay“? I’m not saying “if”, but “when”. There’s already one example below and others will presumably follow.

In the last couple of years a slew of larger projects have dropped or are dropping support for Python 2.6 – numpy (some discussion), pandas, scipy, matplotlib, NLTK, astropy, ipythondjango, numba, twisted, scrapy. Good – Python 2.6 was deprecated when 2.7 was released in 2010 (that’s 6 years ago!).

The position of the matplotlib and django teams is clearly “Python 2.7 and Python 3.4+”. Django states that Python 2.7 will be supported until the 2020 sunset date:

“As a final heads up, Django 1.11 is likely to be the last version to support Python 2.7 as it will be supported until the end of Python 2 upstream support in 2020. We’ve adopted a Python version support policy…”

We can expect the larger projects to support legacy userbases with a mix of Python 2.7 and 3.4+ for 3.5 years (at least until 2020). After this we should expect projects to start to drop 2.7 support, some (hopefully) more aggressively than others.

What about smaller projects? Several have outright dropped Python 2.7 support already – nikola, python-thumbnails – or never supported it – wordfreq, featherweight. Which others have I missed? UpdateJupyterHub (cheers Thomas) too.

More interestingly David MacIver (of Hypothesis) stated a while back that he’d support Python 2.7 for free but Python 2.6 would be a paid support option. He’s also tagged (regardless of version) a bunch of bugs that can be fixed for a fee. Viewflow is another – Python 3.4 is free for non-commercial use but a commercial license or support for Python 2.7 requires a fee. Asking for money to support old, PITA or difficult options seems mightily sensible. I guess we’ll see this first for tools that have a good industrial userbase who’d be used to paying for support (like Viewflow).

Aaron Meurer (lead dev on SymPy) has taken the position that library leaders should pledge for a switch to Python 3.x only by 2020. The pledge shows that scikit-bio is about to go Python 3-only and that IPython 6.x+ will be Python 3 only (from 2017). Increasingly we’ll see new libraries adding the shiny features for their Python 3 branch only.

What next? I imagine most new smaller projects will be Python 3.4+ (probably 3.5+ only soon), they’ll have no legacy userbase to support. They could widen their potential userbase by supporting Python 2.7 but this window only exists for 3 years and those users will have to upgrade anyhow. So why bother going backwards?

Once users notice that cooler new toys are Python 3.4+ only they’ll want to upgrade (e.g. NetworKit is Python 3.3+ only for high volume graph network analysis). They’ll only hold back if they’re supporting legacy internal systems (which will be the case for an awful lot of people). We’ll see this more as we get closer to 2020. What about after 2020?

I guess many companies will be slow to jump to Python 3 (it’d take a lot of effort for no practical improvement), so I’d imagine separate groups will start to support Python 2.7 libraries as forks. Hopefully the main library developers will drop support fairly quickly, to stop open source (cost-free) developers having a tax on their time supporting both platforms.

Separate evidence – Drupal 6 adopted a commercial-support-for-old-versions policy (thanks @chx). It is also worth noting that Ubuntu 16.04 LTS ships without Python 2. Microsoft and Brett Cannon have discussed the benefits of moving to Python 3+ recently.

My recommendations (coming from a Senior Industrial Data Scientist with 15+ years commercial experience and 10+ years using Python):

  • Where feasible – all new projects must use Python 3.5+ (e.g. Proof of Concepts, Research, new isolated systems) – this is surprisingly easy
  • If Python 2.7 compatibility is required – write all new code in a Python 3.5+ compatible way (1, 2, 3, 4), make extensive tests for the later inevitable migration (you already have good test-coverage, right?)
  • Accept that support for Python 2.7 gets turned off in 3.5 years and that all Python 2.7 code written now will likely have to be migrated later (this is a business cost that you can estimate now)
  • Accept that as we get closer to 2020 more programmers (both new and experienced) will be using Python 3.5+, so support for Python 2.7-based libraries will inevitably decline (there’s a big business risk here)

Graham and I did a lightning talk on jumping to Python 3 six months back, there’s a lot of new features in Python 3.4+ that will make your life easier (and make your code safer, so you burn less time hunting for problems). Jake also discussed the general problem for scientists back in 2013, it’ll be lovely when we get past this (now-very-boring) discussion.

Ian applies Data Science as an AI/Data Scientist for companies in ModelInsight, sign-up for Data Science tutorials in London. Historically Ian ran Mor Consulting. He also founded the image and text annotation API Annotate.io, co-authored SocialTies, programs Python, authored The Screencasting Handbook, lives in London and is a consumer of fine coffees.
Categories: FLOSS Project Planets

KStars Lite comes to Android

Planet KDE - Fri, 2016-05-20 23:18
Let's start this post by watching two videos :) I have finally got KStars Lite working on Android.

Sorry for bad quality, but it seems to be everything my old smartphone is capable of.
And here comes the corresponding screen video! (Don't forget to set 720p)



As you can see there are a lot of things to do - pinch to zoom right now works as scrolling with wheel, so I need to tweak it a bit. Interface will be changed completely and right now it is just my proposal prototype. Loading of files seems to take more time than on my laptop, but I'm happy to see that with asteroids and comets it still performs well on tablet (need to try it on other devices).

And now I will tell you a small story about what has been done since the previous my post and how did I compile Android version:

  1. All nodes that are responsible for drawing graphics are now reparented to the class RootNode (later there may be used its subclasses for the same purpose). RootNode handles QSGTexture generation for stars and also clipping. The problem with clipping was that in QtQuick Scene Graph you can't draw ellipse as OpenGL draws everything in triangles. To do it I found C++ triangulation algorithm implementation specifically tailored for QQuickItem, but it was designed to handle all kinds of polygons so it required a lot of resources and made SkyMapLite really slow. Later I found much simpler solution: choose some corner (in the case of ellipse any its point) and create a triangle from this point to the next 2 points. Simple but works perfectly.
  2. Added asteroids and comets. To do it I changed the structure of nodes a bit. So now there are 2 types of SkyNodes - PlanetNode and PointSourceNode. Both of them reflect to SkyPainter's functions drawPlanet and drawPointSource. For all objects in PlanetItem and some of the objects in AsteroidsComet PlanetNode is used, while CometsItem uses only PointSourceNode to draw comets as stars. After adding asteroids and comets performance didn't fall down. I even tried to draw all of them as bright stars without any checkings on magnitude/zoom level and everything worked well.
  3. Android build - well, that is a long story :) Initially I thought about it as something easy to do and haven't even included to my tentative timeline in proposal, but I was totally wrong. First there was a problem with KF5 dependencies because less than a half of KF5 modules are available for Android.
    My mentor, Jasem Mutlaq, made a great thing and got rid of KIO dependency, without which I was able to compile Android version. Even after that it didn't work and I got only a black screen. I spent a lot of time trying to setup debugger as you can't debug CMake project for Android from Qt Creator. The only feedback from my tablet that I am able to get now is looking at log output (which seems to be sufficient as all major errors are there).
    After spending a plenty of time on searching for a cause of black screen, I found out that "include(KDECompilerSettings NO_POLICY_SCOPE)" in top CMakeLists.txt file seems to cause the error. Without it everything worked fine, but still I had to tackle a few minor bugs before I was able to see SkyMapLite on my tablet.
    I also started to work on pinch to zoom as you can see from my video. 
You will find instructions on how to compile KStars Lite for Android in my next post (which will be published tomorrow I hope). For now, I will run Android build in various Android emulators to see whether it works fine everywhere and then I will port PlanetMoons to KStars Lite. Stay tuned!
    Categories: FLOSS Project Planets

    #3 days to go… some thoughts

    Planet KDE - Fri, 2016-05-20 20:13

    In 3 days, the initial deadline for Google Summer of Code starts, but for a lot of student’s, the GSoC started days ago.

    I manage a group on facebook with +/-500 students, and a lot of them started they project sooner. And that made me scared. Why? you may ask. With that, I see the difference between they planning and mine. Maybe they started sooner because the difficult is greater, or they think that 3 months isn’t enough time to do what they planned. But for me, I see on them the proactivity that I would like to see in me. I developed a project that consists in make a program better, with the actual libraries, to improve the use of the software. Is centered on that. And I think that I didn’t need start before the initial deadline. Because for part of my mind, when 23 of May arrive, it will become real. But see those students, already working on their projects makes me think about what kind of experience I want to have in this GSoC. I remember that a professor mine, in a lecture said that the “problem” of the class is that we are reactive and not proactive. And that could give to us some trouble in the future, in our jobs or still at the University. I always thought about it, but turn into a reactive person is kinda of hard. Perhaps is the environment: I have a table in my room where my laptop stays, and in this place is where I work and procrastinate, lately I’m guessing that is causing some trouble to concentrate and work. Today I traveled to an another city, where the central pole of my University is, and I’m planning to go there see if I can concentrate enough to work in this initial days of GSoC, and I truly hopes that it works. However, that depends on me. This past month, since I had chosen from GSoC, made me think a lot about what kind of person I’m, and who I want to become. I’m using the community bound period to know the people of KDE Community that I already participate and the people of the group on facebook and this experience couldn’t be more amazing that it is.

    Step by step, that is what I’m thinking right now, but sometimes you need to run or take a distance for a jump, and I guess that during this GSoC, that could happen. And I know, that when 30 August arrives, I will be a different person, and that… will be good. =)

     


    Categories: FLOSS Project Planets

    Plasma 5.6.4 available in Kubuntu 16.04 Backports

    Planet KDE - Fri, 2016-05-20 16:15

    1. sudo apt-add-repository ppa:kubuntu-ppa/backports
    2. sudo apt update
    3. sudo apt full-upgrade -y

    Categories: FLOSS Project Planets

    Continuum Analytics News: New Pip 8.1.2 Release Leaves Anaconda Cloud Broken - Fix in Progress

    Planet Python - Fri, 2016-05-20 14:47
    Developer Blog Posted Friday, May 20, 2016 Stephen Kearns Continuum Analytics

    This is an important update for Anaconda Cloud users who are upgrading to the latest version of Pip. Due to changes in a recent release of Pip v8.1.2, Anaconda Cloud users that are installing packages from the PyPI channel where the package name contains a "." or "-" (period or hypen) will be unable to install those packages.

    The short-term fix is to downgrade Pip to v8.1.1. (The Pip 8.1.2 conda package has been removed from repo.continuum.io so it's not conda-installable currently because of this issue but will be restored to the repo as soon as this issue is resolved in Anaconda Cloud)

    We anticipate having an updated version of Anaconda Cloud released in the next 1-2 weeks to address this issue and allow users to upgrade to 8.1.2. An update to this post will be shared when it's resolved. 

    To read more about the underlying nature of the issue, please refer to this issue: pypa/pip#3666

    Categories: FLOSS Project Planets

    بايثون العربي: موقع Github القيادة والسيطرة (الجزء الثاني) إنشاء الوحدات

    Planet Python - Fri, 2016-05-20 14:35

    في الأجزاء القادمة من هذه السلسلة سنكون قادرين على القيام بأعمال حقيرة مع أحصنة طراودة التي قمنا بإنشاءها مثل تسجيل ضربات لوحة المفاتيح ، إلتقاط صور للشاشة وقبل كل هذا دعونا نقوم بإنشاء بعض الوحدات البسيطة التي يمكننا تجربتها ونشرها بكل سهولة .

    قم بفتح ملف جديد على دليل الوحدات وقم بتسميته ب dirlister.py وأكتب السطور التالية :

    import os def run(**args): print "[*] In dirlister module." files = os.listdir(".") return str(files)

    السطور السابقة عبارة عن مقتطف صغير من الكود يقوم ببساطة عرض و تشغيل دالة تقوم بعرض جميع الملفات الموجودة في الدليل الحالي وطبعا على شكل سلسلة نصية ، وكل وحدة تقوم بتطويرها يجب ان تقوم بعرض وتشغيل دالة يكون لديها مدخلات على شكل متغيرات وهذا يسمح لك بتحميل كل وحدة بنفس الطريقة ويترك لك مساحة كافية حتى يمكنك تخصيص ملفات الإعدادات لتمرير المدخلات إلى الوحدة إذا أردت ذلك .

    الأن سنقوم بإنشاء وحدة جديدة تحت إسم environment.py

    import os def run(**args): print "[*] In environment module." return str(os.environ)

    تقوم هذه الوحدة بإستيراد اي متغير التي تم تعيينها على الجهاز المستهدف والذي تم تشغيل عليه حصان طراودة ، الأن دعونا نقوم برفع الكود على مستودع Github بحيث يكون قابل للإستخدام من قبل حصان طراودة .

    قم بفتح الطرفية بحيث يكون المسار الذي قمنا بإنشاء من قبل وأكتب الأوامر التالية :

    $ git add . $ git commit -m "Adding new modules" $ git push origin master Username: ******** Password: ********</pre> <pre>

    يمكنك تسجيل الدخول على حسابك في موقع Github والتأكد من رفع الكود على المستودع الصحيح وهذه هي الطريقة الوحيدة التي سنتبعها في المستقبل من أجل تطوير الكود

    Categories: FLOSS Project Planets

    FFW Agency: Great Examples Of Distributed Content Management In Product Companies

    Planet Drupal - Fri, 2016-05-20 13:24
    Great Examples Of Distributed Content Management In Product Companies erik.wagner Fri, 05/20/2016 - 17:24

    Welcome to the fifth post in my series on Distributed Content Management.  In previous posts I’ve defined the concept and provided some great examples of Distributed Content Management use cases in higher education, the pharmaceutical industry and media and entertainment companies.  In today’s post I’ll wrap up my industry-specific use cases by investigating ways in which product companies can use Distributed Content Management to improve their approach to everything from internationalization of their websites to managing community contributions. 

    Setting The Scene

    Product websites, whether for physical or virtual products, must ultimately influence their visitors.  For direct-to-consumer products, the goal may be a direct conversion - to get the visitor to buy/download the product.  Business-to-business products often have a more complex buyer’s journey, starting with something as seemingly minimal as driving the visitor to contact the company for more information.  Within the digital sphere, companies whose products are extensible platforms or systems may be seeking not only end-users, but developers or contributors to expand on the value of their initial offerings.  In all of these scenarios, the content presented to the user must be keenly adapted to the task at hand and, with products especially, must co-exist with information available from external sources.  Carefully planning their approach to Distributed Content Management - to the point of expanding what they may consider content - is a key tool for a product company’s success.

    Use Case 1: A Multi-System Approach to Product Experience Management

    Many web platforms strive to be all-in-one solutions for a product’s online presence; however, savvy product companies recognize that they can build a superior web experience by integrating multiple systems and relying on their core strengths.  A common example of this for product companies is around enterprise e-commerce systems (such as Demandware, Magento, or BigCommerce).  All of these solutions provide some level of content management and layout control; however, larger organizations that make heavy use of Distributed Content Management staples such as content re-use and custom publishing workflows may find the out-of-the-box tools duplicative or not sophisticated enough for their processes. Luckily, these systems allow organizations to interact with them programmatically through APIs and many provide pre-built connectors to popular content management systems such as Drupal and WordPress.  By integrating e-commerce tools with powerful content management systems, product companies can have the best of both worlds for both their internal processes and customers’ experience.

    Use Case 2: Internationalization of Product Websites

    Entry-level internationalization may be achieved with a single website and automated text translation; however, as a product company’s reach expands so may the sophistication of their internationalization strategy - and that can impact their needs for Distributed Content Management.  A simple example of this may be the transition between automatic translation technology (such as Google Translate, Lingotek Inside or Translate.com’s Website Translator) and content management provided by native-speaking editors.  Native-language content production, with its cultural nuances and idiomatic expressions, can provide a far superior experience to a website’s visitors but introduces a number of elements to a company’s Distributed Content Management strategy. For example, how will translated content fit within the company’s existing publishing workflow?  How will different language teams coordinate around new pages and content?  Taking this further, companies that produce physical products often have unique product lines in different geographical regions, a reality that necessitates a decentralized management strategy with close coordination around company-wide content.

    Use Case 3: Curating Other People’s Content

    More so than ever before, potential customers have easy access to a flood of content about a product before they decide whether or not to use it.  For a company’s digitally-inclined customers, Amazon’s Q&A and reviews, YouTube videos and even social media interactions with a company have become key elements guiding their decision making.  Attentive product companies actively manage these external sources: answering questions on Amazon, providing high-profile bloggers and YouTube producers with review copies of products, etc., but companies interested in further differentiating themselves are beginning to recognize that the content produced on these channels should be part of their Distributed Content Management strategy.  For example, Twitter actively promotes itself as a customer service platform, citing not only its “unparalleled reach,” but the fact that its conversations can be “embedded across other media.” However, many content strategists promote this same approach for curating testimonials.  Curating and embedding tweets in which a user speaks positively about a company’s product is a great example of managing distributed content to increase potential buyers’ social trust in a product.

    Use Case 4: Content For Contributors and Existing Customers

    Prospective users are not the only audience for product companies.  Physical product companies, especially those making electronics, often provide access to support resources, such as frequently asked questions and downloadable product manuals. Companies that produce digital products may offer software downloads and updates or, in the case of open products, API and developer documentation.  With each of these areas comes important decision around a company’s approach to Distributed Content Management.  Will product support require registration?  If so, what external system integrations are required to share the appropriate content with the user?  Will developers be able to contribute documentation?  If so, what kind of publishing workflows will be in place in for community-contributed content?  While each new audience brings additional considerations around Distributed Content Management, it also increases the opportunities to improve a product’s digital experience and extend its reach.

    What’s Next?

    Now that we have sufficiently explored industry-specific use cases for Distributed Content Management, I’ll move on to discussing prerequisites for proper planning.  Thoughts or questions?  Reach out in the comments below or tweet them to me at @HankVanZile.

    Tagged with Comments
    Categories: FLOSS Project Planets

    Four Kitchens: Trip Report: DrupalCon 2016 — Five Days in New Orleans

    Planet Drupal - Fri, 2016-05-20 12:14

    A mostly full report on what went down last week in the Big Easy, gonzo journalism -style. …

    Categories: FLOSS Project Planets

    Django Weblog: Django 1.10 alpha 1 released

    Planet Python - Fri, 2016-05-20 11:48

    As part of the Django 1.10 release process, today we've released Django 1.10 alpha 1, a preview/testing package that represents the first stage in the 1.10 release cycle and an opportunity for you to try out the changes coming in Django 1.10.

    Django 1.10 has a panoply of new features which you can read about in the in-development 1.10 release notes.

    This alpha milestone marks a complete feature freeze. The current release schedule calls for a beta release in about a month and a release candidate about a month from then. We'll only be able to keep this schedule if we get early and often testing from the community. Updates on the release schedule schedule are available on the django-developers mailing list.

    As with all alpha and beta packages, this is not for production use. But if you'd like to take some of the new features for a spin, or to help find and fix bugs (which should be reported to the issue tracker), you can grab a copy of the alpha package from our downloads page or on PyPI.

    The PGP key ID used for this release is Tim Graham: 1E8ABDC773EDE252.

    Categories: FLOSS Project Planets

    Zlatan Todorić: 4 months of work turned into GNOME, Debian testing based tablet

    Planet Debian - Fri, 2016-05-20 09:47

    Huh, where do I start. I started working for a great CEO and great company known as Purism. What is so great about it? First of all, CEO (Todd Weaver), is incredible passionate about Free software. Yes, you read it correctly. Free software. Not Open Source definition, but Free software definition. I want to repeat this like a mantra. In Purism we try to integrate high-end hardware with Free software. Not only that, we want our hardware to be Free as much as possible. No, we want to make it entirely Free but at the moment we don't achieve that. So instead going the way of using older hardware (as Ministry of Freedom does, and kudos to them for making such option available), we sacrifice this bit for the momentum we hope to gain - that brings growth and growth brings us much better position when we sit at negotiation table with hardware producers. If negotiations even fail, with growth we will have enough chances to heavily invest in things such as openRISC or freeing cellular modules. We want to provide in future entirely Free hardware&software device that has integrated security and privacy focus while it is easy to use and convenient as any other mainstream OS. And we choose to currently sacrifice few things to stay in loop.

    Surely that can't be the only thing - and it isn't. Our current hardware runs entirely on Free software. You can install Debian main on it and all will work out of box. I know I did this and enjoy my Debian more than ever. We also have margin share program where part of profit we donate to Free software projects. We are also discussing a lot of new business model where our community will get a lot of influence (stay tuned for this). Besides all this, our OS (called PureOS - yes, a bit misfortune that we took the name of dormant distribution), was Trisquel based but now it is Debian testing based. Current PureOS 2.0 is coming with default DE as Cinnamom but we are already baking PureOS 3.0 which is going to come with GNOME Shell as default.

    Why is this important? Well, around 12 hours ago we launched a tablet campaign on Indiegogo which comes with GNOME Shell and PureOS as default. Not one, but two tablets actually (although we heavily focus on 11" one). This is the product of mine 4 months dedicated work at Purism. I must give kudos to all Purism members that pushed their parts in preparation for this campaign. It was hell of a ride.

    I have also approached (of course!) Debian for creation of OEM installations ISOs for our Librem products. This way, with every sold Librem that ships with Debian preinstalled, Debian will get donation. It is our way to show gratitude to Debian for all the work our community does (yes, I am still extremely proud Debian dude and I will stay like that!). Oh yes, I am the chief technology person at Purism, and besides all goals we have, I also plan (dream) about Purism being the company that has highest number of Debian Developers. In that terms I am very proud to say that Matthias Klumpp became part of Purism. Hopefully we soon extend the number of Debian population in Purism.

    Of course, I think it is fairly known that I am easy to approach so if anyone has any questions (as I didn't want this post to be too long) feel free to contact me. Also - in Free software spirit - we welcome any community engagement, suggestion and/or feedback.

    Categories: FLOSS Project Planets

    Icon colors

    Planet KDE - Fri, 2016-05-20 09:22

    Breeze icons are very simple SVG files, especially the ones used for actions that are mostly monochromatic are very simple, and that’s part of their appeal.
    Since some time, Plasma themes that are SVG files as well have the capability of being colored with system themes.
    So, why not doing this for every icon as well?
    One problem with monochromatic icons is that they can lose contrast in particular situation: when the application uses another color scheme or in places such as in menu items uder the mouse, that get a blue background, giving a not too visible dark gray on dark blue.
    That’s one of those “last mile” polishing issues that may be small, but have quite a big impact on the perceived quality of the finished product.

    Starting with Plasma 5.7 Icons will behave the same way as Plasma themes: they can have an internal stylesheet which colors will be replaced at runtime with the colors from the system theme.

    Here, Dolphin with the colors theme “Wonton Soup” and all the breeze icons following the text color of the theme:

    Some applications, like Gwenview can use a completely custom color scheme, in the case of GwenView, it switches to a dark color scheme when fullscreen, regardless of the normal system color theme:

    Icons that are in a “selected” state such as the menu item under the mouse or the current dolphin sidebar item change their color, just like the text does too:

    Here with some custom colors for the highlight areas:

    How to create a compatible icon?

    First of all, Big kudos to Andreas for updating the whole breeze theme to the standard described below
    This is a quite minimal SVG file that supports colors from the system theme (Plasma Svg themes follow the same convention):
    <?xml version="1.0" encoding="UTF-8" standalone="no"?> <!-- Created with Inkscape (http://www.inkscape.org/) --> <svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="22" height="22" id="svg3049" version="1.1" inkscape:version="0.91 r13725" sodipodi:docname="coloredsvgicon.svg"> <defs id="defs3051"> <style type="text/css" id="current-color-scheme"> .ColorScheme-Text { color:#4d4d4d; } .ColorScheme-Background { color:#eff0f1; } .ColorScheme-Highlight { color:#3daee9; } .ColorScheme-HighlightedText { color:#eff0f1; } .ColorScheme-PositiveText { color:#27ae60; } .ColorScheme-NeutralText { color:#f67400; } .ColorScheme-NegativeText { color:#da4453; } </style> </defs> <metadata id="metadata3054"> <rdf:RDF> <cc:Work rdf:about=""> <dc:format>image/svg+xml</dc:format> <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> <dc:title /> </cc:Work> </rdf:RDF> </metadata> <g inkscape:label="Capa 1" inkscape:groupmode="layer" id="layer1" transform="translate(-421.71429,-525.79074)"> <rect y="525.79071" x="421.71429" height="22" width="22" id="rect4102" style="fill:currentColor;fill-opacity:1;stroke:none" class="ColorScheme-Text" /> </g> </svg>

    Here there are two important parts.
    The first is the definition of the actual CSS stylesheet:
    <style type="text/css" id="current-color-scheme"> .ColorScheme-Text { color:#4d4d4d; } .ColorScheme-Background { color:#eff0f1; } .ColorScheme-Highlight { color:#3daee9; } .ColorScheme-HighlightedText { color:#eff0f1; } .ColorScheme-PositiveText { color:#27ae60; } .ColorScheme-NeutralText { color:#f67400; } .ColorScheme-NegativeText { color:#da4453; } </style>

    The colors defined in Text, Background, Highlight etc will be replaced with the corresponding colors from the system theme (look at the Systemsettings module to configure colors to see what colors they actually are)
    This also defines a very minimal palette of “semantic” colors: you have the foreground and background colors for purely monochromatic shapes, and other colors for small accents that make the icon slightly more expressive than purely monochromatic such as Highlight, positive, negative (an “x” icon to close will be usually of “negative” color)

    The other important part is the actual definition of the shape:
    <rect y="525.79071" x="421.71429" height="22" width="22" id="rect4102" style="fill:currentColor;fill-opacity:1;stroke:none" class="ColorScheme-Text" /> </g>

    The rectangle has class=”ColorScheme-Text” that will make the stylesheet match to the class definition of ColorScheme-Text, that defines a color.
    In order to actually apply that color, you can see the attribute style=”fill:currentColor”. It’s important no other colors are defined in the style attribute.

    Categories: FLOSS Project Planets

    Python Software Foundation: Python-Cuba Workgroup

    Planet Python - Fri, 2016-05-20 09:01
    Today I’d like to report on some of the progress that has been made as a result of last years' controversy over an April 1st joke post about a (fictional) PyCon to be held in Cuba. As you may recall, the joke fell flat for many–nonetheless, the intent to instigate a real movement toward greater communication with Cuban Pythonistas, and perhaps to someday hold a conference on the island, was fulfilled beyond the authors' expectations!  The first step occurred in May with the formation of a Python-Cuba Workgroup, which was recognized in June by the PSF board as an official workgroup with a charter. Since some group members already had contacts with Cuban programmers, the workgroup was able to begin a healthy collaboration. In addition, several Cuban Pythonistas made contact with us after the April 1st newsblog post. Discussion and analysis of issues, including internet access in Cuba, how to accommodate a multi-lingual group, governmental involvement and obstacles, etc., began in earnest over the summer.  Thanks to the hard work of many, including Kirby Unger, David Mertz, Roberto Rosario, Steve Holden, Luciano Ramalho, Pablo Celayes in Argentina, Olemis Lang in Cuba, and dozens of other supporters and members, the group has recently gotten off the ground, and it looks like great things are about to happen! Pablo Celayes deserves special mention for his efforts in involving his recently formed Python meet-up group in Cordoba, Argentina in the Python-Cuba effort (Cordoba, Argentina meet-up). Cuban developer, Alejandro Zamora Fonesca, is planning to visit Pablo and the rest of this group in Argentina this month to further discuss the growth of Python in Cuba. We look forward to hearing about that meeting on the Python Cuba mail list. In addition, Pablo will be traveling to Cuba in January, and again in March,  and hopes to have some sort of Python event organized for that time. Indeed, Python events were already happening in Cuba prior to the formation of our group, and those of us in the US found that there were many Cuban Python developers eager to get more involved (for example, see Twitter). Newer groups, such as the Merchise Start Up Circle in Havana, are quickly growing and are busy planning future events. And plans are also underway to offer workshops on Python and Django  as part of the Cuba Free Software Conference, to take place April 25 - 27.  This large, international event, sponsored by The User Group of Free Technologies in Cuba (GUTL) and The Best of Open Techonologies in Germany (BOOT), is currently looking for speakers and mentors, so if you’re interested, please contact Pablo Mestre (pmdcuba at gmail.com). These are just a few of the many ideas that are beginning to take form, and I’ve mentioned only a few of the many people involved. But the excitement and momentum are truly building. The Python-Cuba work group communicates by mailman listserv. Please read the archives and subscribe to the list if you’d like to help. I would love to hear from readers. Please send feedback, comments, or blog ideas to me at msushi@gnosis.cx.
    Categories: FLOSS Project Planets

    Texas Creative: First Impressions During a Drupal 8 Website Build

    Planet Drupal - Fri, 2016-05-20 09:00

    It’s Official!  We have finished setting up the necessary infrastructure and processes for building client sites in Drupal 8 moving forward.  A lot of that work was done during our first Drupal 8 website build, which is nearing completion.  What follows is a brief glance of my first impressions and future aspirations about Drupal 8 development.

    The Project

    As website builds worked their way through the pipeline in the first part of 2016, I was on the lookout for the right one to be our first D8 site.  The project I chose is a portal for this company’s contractors to log their daily activity out in the field.  The portal also generates various reports from the activity for our client to use.  This project is unique in a couple of different ways that makes it the clear choice for our first foray into Drupal 8:

    Read More
    Categories: FLOSS Project Planets

    Python Software Foundation: CubaConf, Day 1

    Planet Python - Fri, 2016-05-20 08:55
    This is the second in a series of posts on my trip in April to Havana, Cuba to attend CubaConf, an International Conference on Free Software.  Day one of CubaConf started out with a bit of confusion. A last minute change of venue was necessary due to some bureaucratic red tape surrounding the government controlled Palacio del Segundo Cabo. Luckily, a short walk across the Plaza de Armas, the Colegia San Geronimo was available and happy to step in to provide meeting rooms for the approximately 180 speakers and attendees. And in spite of the spotty internet service that plagues the island, difficulties in communicating the change did not prevent the conference from starting smoothly and nearly on schedule. The organizers, including Pablo Mestre, a member of the PSF-Cuba workgroup, deserve much credit for their smooth handling of the situation.

    Preliminary announcements and welcoming remarks revealed that speakers and attendees came from 17 different countries: Argentina, Bolivia, Brazil, Canada, Columbia, Costa Rica, Cuba, France, Germany, Italy, Mexico, Peru, Spain, Turkey, Uruguay, United States, and Venezuela. Sponsors, including the PSF, were mentioned and thanked.  The keynote by Hamlet López García, a social psychologist from the Cuban Institute of Cultural Research at Juan Marinello, explored the relationship between free software and Cuba’s politics and culture.  Hamlet López García López' main thesis, (citing Richard Stallman), was that technologies develop as social processes and are shaped by cultural values. In this way, the general principles of the Cuban revolution can be seen to be in harmony with those of free software. The further adoption and use of free software, according to López, is leading to more democratic access to knowledge and opportunity, not just in Cuba, but globally. This opening talk was enthusiastically received and set a positive tone for the rest of the day.

    Once the conference broke into three tracks, I attended a talk by Jacob Appelbaum on the TOR network and the importance of anonymity. Appelbaum explained the ways in which the TOR network was designed to ensure four types of freedom: it's decentralized, encrypted, distributed, and unlike other internet networks, meta-data free (i.e., it does not collect or aggregate meta-data).








    Additional talks occurring on day one shared speakers' experiences using open source for projects such as collaborative mapping and creating an online payment system, as well as more theoretical topics such as web development and encryption. Former PSF Director, David Mertz, gave a talk on teaching Python to Data Scientists, a topic that he will reprise in Portland at PyCon's education summit at the end of this month. Talks were given in either English or Spanish, with simultaneous translation provided by one of several bilingual volunteers.  Another talk worth singling out was a provocative talk by  Heather Marsh on the illusory nature of the power that users assume to derive from the internet. According to Marsh, such internet features as "thought bubbles" and "noise" pose obstacles to collaboration and to challenging the "Ponzi schemes of power." These ideas are more fully presented in Marsh's book, Binding Chaos. At the end of the day, a tired, but excited crowd posed for a group photo before walking down the block to the conference dinner of Cuban food, mojitos, and beer.  (And by the way, beer costs about $1 per can/bottle--I almost didn't come home.) CubaConf end of Day 1
    Outside the Colegia San Geronimo I would love to hear from readers. Please send feedback, comments, or blog ideas to me at msushi@gnosis.cx.
    Categories: FLOSS Project Planets

    Python Software Foundation: Python and Open Source Alive and Well in Havana, Cuba

    Planet Python - Fri, 2016-05-20 08:54
    I recently had the amazing opportunity to travel to Havana, Cuba to attend several free software events. My partner, David Mertz, was invited to talk at a meet-up of open-software developers and to present at the International Conference of Free Software sponsored by the Grupo de Usarios de Technologias Libres. On my first day in Cuba, I attended the tenth Encuentro Social de Desarrolladores. This group, a regular meet-up of open-software developers, just last month held the first "PyDay Havana." At the meeting I attended, approximately 70 people gathered at a local Havana restaurant, La Casa de Potin. I was told that more people were interested in attending, but the space was limited so advance registration was cut off at 70. Several members of the enthusiastic crowd sported PyCon T-shirts--many from PyCon Montreal, perhaps as one could expect, but one from as far back as PyCon Chicago in 2009 (elegance begets simplicity). Clearly, this group has been using Python for quite awhile. I met some wonderful people there: not only Olemis Lang and Medardo Antonio Rodriguez, members of the PSF’s Python-Cuba Work Group with whom I had been in touch previously, but also entrepreneurs and developers who regularly use free software. Justin, a graduate student in Astronomy at Yale, is spending several months in Cuba on a research project using Python.  Another new connection I made is Abel Meneses Abad, a Computer Science professor at Central University of Las Villas in Santa Clara, Cuba. He told me about his use of Python with his students in Linguistics and his desire to share his experiences and get input from the larger Python community. We should be hearing more from him in the future. The agenda for the meet-up included talks by Olemis Lang on Brython (and how to sign up for a Brython sprint to be held at the next week’s CubaConf) and by David Mertz on functional programming in Python.  David Mertz talks about functional programming in Python
    Medardo and Stripe Atlas reps address the meet-up But the talk that garnered the most discussion was a presentation given by Medardo Rodriguez from Merchise Start-Ups on how to start an online business. He was joined by representatives from the San Francisco-based company Stripe, which provides payment processing and business services for start-ups. Their newly launched service, Stripe Atlas, helps foreign online businesses incorporate in Delaware, MD, enabling them to take advantage of the well-developed business infrastructure in the U.S.

    The overall mood of the meet-up was incredibly optimistic–surely a foreshadowing of the positive changes about to take place for Cuban software developers as more intercourse develops with the rest of the world and especially with the U.S. This is a community poised to grow, and I am beyond thrilled that the PSF will be a part of this. I would love to hear from readers. Please send feedback, comments, or blog ideas to me at msushi@gnosis.cx.
    Categories: FLOSS Project Planets

    EuroPython: EuroPython 2016 Keynote: Jameson Rollins

    Planet Python - Fri, 2016-05-20 08:18

    We are pleased to introduce our second keynote speaker for EuroPython 2016: Jameson Rollins.

    About Jameson Rollins

    Jameson is a staff scientist in the LIGO project, based at the California Institute of Technology:

    “I have worked on many aspects of gravitational wave detection over the years, from laser light sources, to algorithms for low-latency data analysis. I’m currently interested in problems of detector control, and am the developer of the LIGO automation system. I have a B.S. in physics from the University of Michigan, and a Ph.D. in physics from Columbia University in the City of New York.”

    The Keynote: LIGO - The Dawn of Gravitational Wave Astronomy

    Scientists have been searching for the elusive gravitational wave for more than half a century.

    On September 14, 2015, the Laser Interferometer Gravitational-wave Observatory (LIGO) finally observed the gravitational wave signature from the merger of two black holes.

    This detection marks the dawn of a new age of gravitational wave astronomy, where we routinely hear the sounds emanating from deep within the most energetic events in the Universe.

    This talk will cover the events leading up to one of the most important discoveries of the last century, and the myriad of ways in which Python enabled the effort.

    With gravitational regards,

    EuroPython 2016 Team

    Categories: FLOSS Project Planets

    Thomi Richards: Talks you could give at Kiwi PyCon

    Planet Python - Fri, 2016-05-20 08:00

    (...or any other conference),

    The Kiwi PyCon Call-for-Papers is open right now, and will be for the next few weeks. In my spare time I'm spoamming everyone I know to encourage them to submit a talk. A common response I get is "I'd love to speak at Kiwi PyCon, but I have nothing to talk about!".

    Many people underestimate how many interesting talks they could give. People assume everyone else knows what they do, and so underestimate the interest an audience would have for their talk. In an effort to combat that effect, here's a partial list of talk topics that we'd love to see someone talk about at Kiwi PyCon. This list might well be useful to other conferences as well.

    Beginner Talks
    • An introduction to participating in open source development.
    • A beginners guide to the essentials of git/mercurial/bzr.
    • An introduction to testing code in python.
    • Useful tools for testing Python code (tox, coverage.py, etc.).
    • Structuring python projects.
    • A programmers perspective to basic networking.
    • Tools to write great documentation.
    • i18n and l10n in Python.
    • Python implementations other than CPython.
    • Web scraping in Python.
    • Reading command line options with argparse.
    • Python class data model basics.
    • How to build a small webapp in django/pyramid/flask/etc.
    • Unicode adoption tips and tricks.
    • Idiomatic Python and common beginner mistakes.
    • PEP8 and PEP257, why do they matter (do they?).
    Intermediate Talks
    • Performance testing & optimisation.
    • How to write a Python API without exposing your internals.
    • Packaging Python desktop applications.
    • Packaging & deploying Python web applications (with ansible/saltstack/juju/etc).
    • Tips for writing functional code in python (functools, operator, itertools etc).
    • Old-school concurrency: multithreading and multiprocessing.
    • New-hotness concurrency: asyncio and friends.
    • Python for embedded hardware hacking.
    • How to get involved in Core Python development.
    • Fun things you can do with decorators.
    • Software architectures (micro-services, message-passing, etc.).
    • Computer Vision in Python with SimpleCV.
    • Statistics in Python.
    • Python as it's used in science.
    • How to safely deprecate code in your large codebase.
    • Tips for writing cross-platform Python code.
    • Tips for writing cross-implementation Python code.
    • Introduction to games programming with PyGame or Pyglet.
    • Make a GUI python app with tkinter, PyQt, PyGtk, etc.
    • Tips for debuggin Python code with pdb and friends.
    • Profiling Python code.
    • Python for mobile apps.
    • OWASP top 10 awareness.
    Advanced Talks
    • Elucidate Python byte-code.
    • Fun with the 'ast' and 'parser' modules.
    • Descriptors in Python.
    • Useful applications of metaclasses.
    • New Python language features.
    • Optimising python code by writing C extension modules.
    • Embedding python in another application.

    This is a very rough-and-ready list. It took me about 10 minutes to brain-dump the above. I'm sure with a little more time I could come up with many more ideas. If you find inspiration in the above list, please do submit a talk for Kiwi PyCon, we'd love to see you in New Zealand's best city ;)

    Categories: FLOSS Project Planets
    Syndicate content