FLOSS Project Planets

Jeremy Quinn: Aground [Flickr]

Planet Apache - Thu, 2015-04-16 06:21

sharkbait posted a photo:

A derelict ferry, aground at low tide, just downstream of the Thames Barrier.

Categories: FLOSS Project Planets

Continuum Analytics Blog: Find Continuum at PyData Dallas

Planet Python - Wed, 2015-04-15 20:00

PyData Dallas, the first PyData conference in Texas, is taking place next week, April 24-26. PyData has been a wonderful conference for fostering the Python community and giving developers and other Python enthusiasts the opportunity to share their ideas, projects and the future of Python. Continuum Analytics is proud to be a founding sponsor for such an innovative, community-driven conference.

Categories: FLOSS Project Planets

Justin Mason: Links for 2015-04-15

Planet Apache - Wed, 2015-04-15 19:58
  • Keywhiz

    ‘a secret management and distribution service [from Square] that is now available for everyone. Keywhiz helps us with infrastructure secrets, including TLS certificates and keys, GPG keyrings, symmetric keys, database credentials, API tokens, and SSH keys for external services — and even some non-secrets like TLS trust stores. Automation with Keywhiz allows us to seamlessly distribute and generate the necessary secrets for our services, which provides a consistent and secure environment, and ultimately helps us ship faster. [...] Keywhiz has been extremely useful to Square. It’s supported both widespread internal use of cryptography and a dynamic microservice architecture. Initially, Keywhiz use decoupled many amalgamations of configuration from secret content, which made secrets more secure and configuration more accessible. Over time, improvements have led to engineers not even realizing Keywhiz is there. It just works. Please check it out.’

    (tags: square security ops keys pki key-distribution key-rotation fuse linux deployment secrets keywhiz)

Categories: FLOSS Project Planets

Julien Tayon: Eval is even more really dangerous than you think

Planet Python - Wed, 2015-04-15 19:44

Preamble, I know about this excellent article:

I have a bigger objection than ned to use eval; python has potentially unsafe base types.

I had this discussion with a guy at pycon about being able to safely process templates and do simple user defined formating operations without rolling your own home made language with data coming from user input interpolated by python. Using python for only the basic operations.

And my friend told me interpolating some data from python with all builtins and globals removed could be faster. After all letting your customer specify "%12.2f" in his customs preference for items price can't do any harm. He even said: nothing wrong can happen: I even reduce the possibility with a regexp validation. And they don't have the size to put ned's trick in 32 characters, how much harm can you do?

His regexp was complex, and I told him can I try something?

and I wrote "%2000.2000f" % 0.0 then '*' * 20 and 2**2**2**2**2

all of them validated.

Nothing wrong. Isn't it?

My point is even if we patched python eval function and or managed sandboxing in python, python is inherently unsafe as ruby and php (and perl) in the base type.

And since we can't change the behaviour of base type we should never let people use a python interpreter even reduced as a calculator or a templating language with uncontrolled user inputs.

Base types and keywords cannot be removed from any interpreters.

And take the string defined as:

"*" * much

this will multiply the string by much octets and thus allocate the memory ... (also in perl, php, ruby, bash, python, vimscripts, elispc)
And it cant be removed from the language, keywords * and base types are being part of the core of the language. If you change them, you have another language.

"%2000000.2000000f" % 0.0 is funny to execute, it is CPU hungry.

We may change it. But I guess that a lot of application out there depend on python/perl/PHP ruby NOT throwing an exception when you do "%x.yf" with x+y bigger than the possible size of the number. And where would set the limit ?

Using any modern scripting language as a calculator is like being a C coders still not understanding why using printf/scanf/memcpy deserve the direct elimination of the C dev pool.

Take the int... when we overflow, python dynamically allocate a bigger number. And since exponentiation operator has the opposite priority as in math, it grows even faster, allocating huge memory in a matter of small iterations. (ruby does too, Perl requires the Math::BigInt to have this behaviour)

It is not python is a bad language. He is an excellent one, because of «these flaws». C knight coders like to bash python for this kind of behaviour because of this uncontroled use of resources. Yes, but in return we avoid the hell of malloc and have far less buffer overflow. Bugs that costs resources too. And don't avoid this:

#include <"stdio.h">

void main(void){
printf("%100000.200f", 0.0);

And ok, javascript does not have the "%what.milles" bug (nicely done js), but he has probably other ones.

So, the question is how to be safe?

As long as we don't have powerful interpreter like python and others with resource control, we have to resort to other languages.

I may have an answer : use Lua.


I checked  most of this explosive base type behaviour don't happen.

But, please, never use ruby, php, perl, bash, vim, elispc, ksh, csh, python has a reduced interpreter for doing basic scripting operation or templating with uncontrolled user input (I mean human controlled by someone that knows coding). Even for a calculator it is dangerous.

What makes python a good language makes him also a dangerous language. I like it for the same reasons I fear to let user inputs be interpreted by it.

EDIT: format http://pyformat.info/ is definitely a good idea.
Categories: FLOSS Project Planets

Adrian Sutton: Printing Only Part of a grep Match

Planet Apache - Wed, 2015-04-15 18:45

It’s not uncommon to want to find a particular line in a file and print just a part of it.  For example, if we wanted to find the total memory on a machine we could use:

grep '^MemTotal:' /proc/meminfo |
sed -e 's/^MemTotal:\s*\([0-9]*\).*/\1/'

Which does the job but duplicates a bunch of the matching regex. If you’re using a reasonably recent gnu grep, you can use it’s support for perl regex syntax and the \K operator:

grep -Po '^(MemTotal:\s*)\K[0-9]*' /proc/meminfo

The -P is for perl regex, and the o option causes grep to output only what is matched. You can see though that we’re actually matching the MemTotal: at the start of the line yet somehow it doesn’t wind up in the output.  That’s the magic of \K which excludes the token immediately prior to it from the matched text (without rewinding the stream and attempting a different match for that text).


Alexandre Niveau emailed me to point out that in this particular case (and probably most others where I’d be tempted to use \K with grep) grep is completely superfluous and we can just use sed with the -n flag:

sed -n -e 's/^MemTotal:\s*\([0-9]*\).*/\1/p' /proc/meminfo

The -n disables automatic printing of lines and the ‘p’ at the end of the regex prints the matching lines. Definitely good to know – thanks Alexandre.

Categories: FLOSS Project Planets

FSF Blogs: Friday Free Software Directory IRC meetup: April 17

GNU Planet! - Wed, 2015-04-15 17:53

Join the FSF and friends today, Friday, April 17, from 2pm to 5pm EDT (18:00 to 21:00 UTC) to help improve the Free Software Directory by adding new entries and updating existing ones. We will be on IRC in the #fsf channel on freenode.

Tens of thousands of people visit directory.fsf.org each month to discover free software. Each entry in the Directory contains a wealth of useful information, from basic category and descriptions, to providing detailed info about version control, IRC channels, documentation, and licensing info that has been carefully checked by FSF staff and trained volunteers.

While the Free Software Directory has been and continues to be a great resource to the world over the past decade, it has the potential of being a resource of even greater value. But it needs your help!

If you are eager to help and you can't wait or are simply unable to make it onto IRC on Friday, our participation guide will provide you with all the information you need to get started on helping the Directory today!

Categories: FLOSS Project Planets

Friday Free Software Directory IRC meetup: April 17

FSF Blogs - Wed, 2015-04-15 17:53

Join the FSF and friends today, Friday, April 17, from 2pm to 5pm EDT (18:00 to 21:00 UTC) to help improve the Free Software Directory by adding new entries and updating existing ones. We will be on IRC in the #fsf channel on freenode.

Tens of thousands of people visit directory.fsf.org each month to discover free software. Each entry in the Directory contains a wealth of useful information, from basic category and descriptions, to providing detailed info about version control, IRC channels, documentation, and licensing info that has been carefully checked by FSF staff and trained volunteers.

While the Free Software Directory has been and continues to be a great resource to the world over the past decade, it has the potential of being a resource of even greater value. But it needs your help!

If you are eager to help and you can't wait or are simply unable to make it onto IRC on Friday, our participation guide will provide you with all the information you need to get started on helping the Directory today!

Categories: FLOSS Project Planets

Cruiskeen Consulting: Drupal for Developers Second Edition

Planet Drupal - Wed, 2015-04-15 17:53

Almost everyone who does any form of Drupal development uses Drush - it's the Swiss Army Knife of the Drupal world. Drush is the Drupal Shell, and it lets you do a whole lot of amazing things with Drupal sites without actually going to the site, logging in, and clicking buttons.  It's a command-line tool (and since I'm an old UNIX hand, it's just right for me.

Categories: FLOSS Project Planets

Joachim Breitner: Talk and Article on Monads for Reverse Engineering

Planet Debian - Wed, 2015-04-15 17:45

In a recent project of mine, a tool to analyze and create files for the Ravensburger Tiptoi pen, I used two interesting Monads with good results:

  • A parser monad that, while parsing, remembers what part of the file were used for what and provides, for example, an annotated hex dump.
  • A binary writer monad that allows you to reference and write out offsets to positions in the file that are only determined “later” in the monad, using MonadFix.

As that’s quite neat, I write a blog post for the German blog funktionale-programmierung.de about it, and also held a talk at the Karlsruhe functional programmers group. If you know some German, enjoy; if not, wait until I have a reason to hold the talk in English. (As a matter of fact, I did hold the talk in English, but only spontaneously, so the text is in German only so far.)

Categories: FLOSS Project Planets

A. Jesse Jiryu Davis: Caution: Critical Bug In PyMongo 3, "could not find cursor in cache"

Planet Python - Wed, 2015-04-15 17:39

If you use multiple mongos servers in a sharded cluster, be cautious upgrading to PyMongo 3. We've just discovered a critical bug related to our new mongos load-balancing feature.

If you create a MongoClient instance with PyMongo 3 and pass the addresses of several mongos servers, like so:

client = MongoClient('mongodb://mongos1,mongos2')

...then the client load-balances among the lowest-latency of them. Read the load-balancing documentation for details. This works correctly except when retrieving more than 101 documents, or more than 4MB of data, from a cursor:

collection = client.db.collection for document in collection.find(): # ... do something with each document ... pass

PyMongo wrongly tries to get subsequent batches of documents from random mongos servers, instead of streaming results from the same server it chose for the initial query. The symptom is an OperationFailure with a server error message, "could not find cursor in cache":

Traceback (most recent call last): File "/usr/local/lib/python2.7/dist-packages/pymongo/cursor.py", line 968, in __next__ if len(self.__data) or self._refresh(): File "/usr/local/lib/python2.7/dist-packages/pymongo/cursor.py", line 922, in _refresh self.__id)) File "/usr/local/lib/python2.7/dist-packages/pymongo/cursor.py", line 838, in __send_message codec_options=self.__codec_options) File "/usr/local/lib/python2.7/dist-packages/pymongo/helpers.py", line 110, in _unpack_response cursor_id) pymongo.errors.CursorNotFound: cursor id '1025112076089406867' not valid at server
Categories: FLOSS Project Planets

Python Software Foundation: Python X Southwest: SciPy in Austin!

Planet Python - Wed, 2015-04-15 17:10
Mark your calendars: SciPy 2015 is coming in July (July 6-12, 2015) to the fabulous city of Austin, TX. This will be the 14th annual SciPy devoted to scientific computing with Python, and organizers expect to exceed 500 attendees again this year.  The importance of this conference for scientific computing cannot be overstated. Enthought, SciPy’s institutional sponsor, has been joined by many others, including Microsoft AzureSquare RootD E Shaw & CoKitwarePyLadies, and, of course, the PSF. The PSF, which has funded SciPy in the past, is sponsoring the conference this year at the Silver Level with a contribution of $3000. Last year’s SciPy saw sponsorship increase 85% over 2013, a clear indication that this conference is growing in size, importance, and reach, as is the use of Python as the premiere language for scientific computing! The 2015 conference will consist of 2 days of tutorials followed by 3 days of presentations. Last year, the conference expanded from 2 days to 3 days of talks, another indication of the explosion of scientific projects being conducted in Python. The conference will conclude with 2 days of developer sprints on projects of interest to attendees. The basic schedule is:
  • Tutorials: July 6 - 7, 2015
  • Conference: July 8 - 10, 2015
  • Sprints: July 11 - 12, 2015
This year’s conference will continue its tradition of having fabulous keynote speakers. Last year, our own PSF Director Nick Coghlan gave a keynote on Python Beyond C. 2015 keynote speakers include: 
  • Wes McKinney, Software Engineer, and author of pandas (Python Data Analysis Library) at Cloudera. Wes is also author of the O'Reilly book Python for Data Analysis;
  • Jack VanderPlas, PhD, Director of Research – Physical Sciences eScience Institute, University of Washington;
  • Chris Wiggins, Chief Data Scientist; Associate Professor of Applied Mathematics, The New York Times & Columbia University.
SciPy 2015 will also include two specialized tracks that run parallel to the general conference: Python in Data Science and Quantitative Finance and Computational Social Sciences. The venue is the same as last year’s; the AT&T Executive Education and Conference Center at the University of Texas campus in Austin (AT&T). This location is central and allows easy access to Austin’s terrific attractions; good food, music, and dancing (6th Street is the place to go, and don’t forget to eat barbecue and wear some cowboy boots!). Sixth Street Austin by Larry D. Moore. Licensed under CC BY-SA 3.0 via Wikimedia Commons 
The full schedule of talks and speakers will be posted to the SciPy website later this month (SciPy2015). I would love to hear from readers. Please send feedback, comments, or blog ideas to me at msushi@gnosis.cx.
Categories: FLOSS Project Planets

Drupal Watchdog: VIDEO: DrupalCon Amsterdam Interview: MortenDK

Planet Drupal - Wed, 2015-04-15 13:39

On a sunny Amsterdam morning, we catch Morten (Tag1 Consulting, Geek Röyale) as he speeds through DrupalCon’s RAI Convention Center on an urgent Viking mission. We waylay him long enough for this brief, Danish-accented, rapid-fire chit-chat.

MORTEN: I am Morten, also known as MortenDK.

RONNIE RAY: You gave a talk this morning?

MORTEN: Yes, I gave a talk about the Drupal 8 Twig project, which is the new theming layer for Drupal. And I gave a demo on all the new and exciting things we have in it.

So that was really good to show off from a front-ender’s perspective everything that was done over the last couple of years and how the new system is going to work in Drupal 8. It was a real gas to finally really show it off. People could see we’re not just lying, but it’s actually real.

RR: So, can I ask you, what are you reading now?


RR: Any books, any magazines?

MORTEN: Ah – oh – uh – (bleep) – what’s the name of it? I actually have it on an audio file, it’s a fantasy story about... uh.. a lot of blood, a lot of personal vendettas. Good clean fun. But actually I haven’t had the time to read for a long time because I’ve been doing so much work on the Drupal project and I’ve been moving. Also, I took up my old hobby of painting miniatures again, just to geek out.

I’m a metal-head so pretty much anything... been into a lot of Opeth, a Swedish metal band – kind of a grown man’s metal. (Indecipherable.)

RR: Do you follow anyone on Twitter or FaceBook?

MORTEN: A couple, but normally not. Interviews with musicians are not always the most interesting thing, it’s the same thing as interviews with sports people, “So how did it go today?” “We played really hard!” “On the new album, we’re going to really show off.” So that’s kind of like... a couple of people... there’s a Swedish band called Arch Enemy I’ve been following closely.

RR: What’s the most exciting thing about Drupal 8 for you?

MORTEN: It is the front-end, the Twig system and the templates, and the way we have shifted focus in the front-end completely around, from being an afterthought to a whole new system that is built for front-enders instead of built by back-enders to front-enders. It’s kind of, we’ve taken control over our own destiny, and that I think is going to be the killer app for Drupal 8.

Tags:  DrupalCon DrupalCon Amsterdam Video Video: 
Categories: FLOSS Project Planets

Promet Source: How Drupalers Can Get Organized: Tips From a Librarian

Planet Drupal - Wed, 2015-04-15 13:26

Ahh, libraries. The smell of books, the sounds of pages turning, the incessant Karaoke singalongs of the library workers. OK, maybe the last one is a bit far-fetched, but we all know it’s founded in some truth. The fact remains that libraries are a hallowed ground of information consumption and organization.

That organization doesn’t happen by dint of chance. No, there’s a lot of hard work that goes into maintaining a collection, and these steps taken by your local library workers might inspire us to approach our websites with the same set of diligent hands. Get sorting, people!

Categories: FLOSS Project Planets

How a Grid of Squares Can Make You Stop and Think

LinuxPlanet - Wed, 2015-04-15 11:38

This post has two objectives. The first is to point you to Wait But Why which is, simply put, one of the most wonderful sources of great thought-provoking and interesting articles I’ve found in a long long while. Item one.. check! The second point of this post is related directly to one of those articles. Specifically, the Your Life in Weeks post.

Like many, I grapple with the day-to-day rollercoaster that is life. And you know as well as I do, that the very act of living that day-to-day challenge rarely leaves time to step back and really consider it. I won’t pretend to give you sage advice or extract some over-arching meaning to it all. It just struck me that this simple image – your life in a grid of weeks – 52 per row, each row representing a year – made me stop and think:

There is a finite amount of squares – your own personal allotment. As in, you ain’t getting any more. You can see how far you’ve gone and surely with a little fuzziness, how much you’ve got left. It’s not exactly depressing. But it can give you that sharp kick in the pants to realize that those little squares are precious. Look at this Life of a Typical American version of it:

I can’t really make sense of what it makes me feel. I look at the first part and smile, but that smile turns into sort of a mouth-open stare when you realize how far you are down the page in your life. The squares don’t go on forever. It makes you think about priorities. It can fill you with questions. How important was that argument with your daughter about cleaning up her room? How urgent are those work deadlines? How important is your own personal happiness and satisfaction?

No definitive answers to any of those here. Believe me. But it definitely has a way of grabbing both your shoulders and holding you still for a moment to think about it.

Categories: FLOSS Project Planets

Daily Tech Video (Python): Raymond Hettinger: Transforming Code into Beautiful, Idiomatic Python

Planet Python - Wed, 2015-04-15 11:00

It used to be hard to get a program to work.  Nowadays, however, it’s easy to get a program to work — but does it work well? Is it maintainable? Python has long emphasized the need for not only working code, but for maintainable, easy to read, and idiomatic code.  In this talk, Raymond Hettinger describes a number of ways in which working (but non-standard) Python code can be turned into something that looks, feels, and acts like the Python that we’re encouraged to write.

The post Raymond Hettinger: Transforming Code into Beautiful, Idiomatic Python appeared first on Daily Tech Video.

Categories: FLOSS Project Planets

Python Software Foundation: PSF supports more Django Girls!

Planet Python - Wed, 2015-04-15 10:23
A couple of posts ago, I wrote about the PSF’s funding of the upcoming Plone Conference in Bucharest as an example of how the PSF supports Python development for the web (see Plone). Another web framework the PSF has been supporting is, of course, Django, and with the upsurge of Django Girls activities, support for Django Girls simultaneously allows the PSF to make progress on its commitment to diversity. For those not familiar with Django Girls, they are a non-profit organization that provides free one-day programming workshops to women. They began in Berlin in 2014 as a workshop at EuroPython given by Ola Sitarska and Ola Sendecka. Since then, they have spread all over the world. Just since the start of this year, the PSF has sponsored Django Girls workshops in the following cities: 
  • $1,500 to Django Girls New York;
  • $1200 to Django Girls Athens;
  • $1800 to Django Girls London;
  • $730 to Django Girls Cardiff;
  • $600 to Django Girls Mbarara on April 18th.
In 2014, the PSF supported such Django activities as DjangoCon Europe, Django Carrots Workshops, Django Weekend, Django Under the Hood, DjangoVillage, along with Django Girls workshops in Warsaw, Krakow, Budapest, Lodz, Kampala, Edinburgh, Kenya, and Mbale. The PSF was also delighted to see Django Girls last week at PyCon in Montreal: 

Django girls Booth at PyCon. By providing free one-day workshops, Django Girls has had great success in bringing woman into programming and tech. Their workshops take participants through a tutorial that uses HTML, Django, Python, and CSS, allowing each participant to build her own website by the end of the day. Django Girls' philosophy, one which was echoed over and over at PyCon 2015 in Montreal, and which is wholeheartedly endorsed by the PSF, is stated on their website Django Girls, We believe that IT industry will benefit greatly from bringing more women into technology. We want to give you an opportunity to learn how to program and become one of us - female programmers! Django Girls' commitment to teaching programming extends beyond the workshops they provide to teaching resources that can be used by others–either for their own learning or to conduct and organize other workshops. These resources include the tutorial they use for their free one-day workshop, an organizers' guide, coaching manual, and tutorial extensions. All their resources are freely available at Django Girls. See the Django Girls blog for success stories of individual women who have benefitted from their workshops at Django Blog. As was pointed out by Jacob Kaplan-Moss' wonderful keynote at PyCon 2015, it is predicted that by 2020, there will be a shortage of about 1.5 million qualified tech workers to fill industry demand. So the need to recruit women and other under represented peoples into tech is urgent. And, of course, it is also an opportunity to further spread the use and culture of Python, open source, and free software. Our hats are off to Django Girls for being a major force toward that end. I would love to hear from readers. Please send feedback, comments, or blog ideas to me at msushi@gnosis.cx.
Categories: FLOSS Project Planets

Ned Batchelder: PyCon 2015

Planet Python - Wed, 2015-04-15 09:17

I am on the plane back to Boston from PyCon 2015 in Montreal. You've probably read over and over again that PyCon is the best conference ever, yadda-yadda. I haven't been to another conference in a long time, so I don't have points of comparison. I can tell you that PyCon feels like a huge family reunion.

I started on Thursday, and was not feeling part of things. I don't know why. I thought perhaps 9 PyCons in a row is too many. I thought maybe I should be spending my energies elsewhere.

But Friday, I started the day by helping with the keynotes, keeping time, tracking down speakers, and so on. I felt involved. I was helping friends with things they needed to do.

PyCon is almost entirely organized and run by volunteers. There is one employee, all the rest is done by people just helping as a side project. I think this gives the event a tone of something you do, rather than something you attend or consume. Anyone can volunteer to make things happen, and it can be a really good way to meet people.

There are 2500 people at PyCon, but we are all in the same group. There isn't a entire cadre of paid staff on one side, and attendees on the other. We're all making the conference happen in our own ways. It an open-source conference in the truest sense of the word.


My co-worker Adam Palay gave his talk early on Friday. I'd first seen Adam speak in a lightning talk at Boston Python. His girlfriend Anne was there to record him. They seemed supportive and close. I really liked the talk he gave, and told him so. When the call for talks opened for PyCon, he let me know he was submitting a proposal, and I helped him where I could.

His talk was accepted, along with mine and two other speakers from edX. For each talk, we had a rehearsal at work, and at a Boston Python rehearsal night. Each time Adam rehearsed his talk, his girlfriend Anne and his brother Josh were there. I was impressed by their support. It turned out Anne was going to not only come to Montreal, but attend the conference with him.

Friday morning at PyCon, I went to Adam's talk. Sitting in the second row was Anne. Next to her was Josh. Next to him was Adam's sister, and on either side were his mother and father, all with conference badges! I joked about "Team Palay", and that the five of them should have held up cards spelling P-A-L-A-Y.

Clearly, this level of support from a family is unusual, to take the time, buy airfare and hotel, and pay the conference fees, just to see Adam present his 30-minute talk at a technical conference.

I'm explaining all this about Adam's supportive family because when I am at PyCon, I feel a bit like Adam must all the time. I am surrounded by friends who feel like family. We are brought together by an odd esoteric shared interest, but we come together each year, and interact online throughout the year. We are together to talk about technical topics, but it goes beyond that.

I know this must sound like a greeting card or something. Don't get me wrong: like any family, there is friction. I don't like everyone in the Python world. But so many people at PyCon know each other and have built relationships over years, there are plenty of friendly faces all around.

All those friendly faces give rise to an effect my devops guy Feanil coined "Ned latency": the extra time I have to figure in when planning to be at a certain place at a certain time. When traveling over any significant distance at PyCon, there will be people I want to stop and talk to.

This is called the "hallway track": the social or technical activity that happens in the hallways all during the day, regardless of the track talks. I've spoken to people at PyCon who've said, "I haven't seen any talks!"


Last year during lunch, I happened to sit next to a woman I didn't know. We introduced ourselves. Her name was Jenny. We chatted a bit, and then headed off our own activities. Over the next few days, I'd wave to Jenny as we passed each other on the escalators, and so on.

I saw Jenny again this year and miraculously remembered her name, so I waved and said, "Hi Jenny." This happened a few times. Later in the weekend, Jenny came up to me and said, "I want to thank you, you really made me feel welcome."

This made me really happy. I was saying hi to Jenny originally so that I would know more people, but we'd made a tiny connection that helped her in some way, and she felt strongly enough about it to tell me. Ian describes a similar dynamic from the bag-stuffing evening: just learning another person's name gives you a connection to that person that can last a surprisingly long time.

There are people I greet at PyCon purely because I've been chatting with them for five minutes once a year at every PyCon I've been to.


One of the highlights of PyCon for me is giving talks. I've spoken at the last 7 PyCons (the talks are on my text page). I put a lot of work into the talks, and am proud that they have some lasting power as things people recommend to other learners. After a talk, people always ask, "how did it go?" My answer is usually, "people seemed to like it," but the other half is, "on the inside, horrible. I know all the things I wish I had done differently!"

On Sunday evening, Shauna Gordon-McKeon and Open Hatch organized an intro to sprinting session for new contributors. I agreed to be a mentor there, thinking it would be a classroom style lecture, with mentors milling around helping people one-on-one. Turned out it was a series of 15-minute lectures at a number of stations around the room, with people shuttling between topics they wanted to hear about. I was the speaker on unit testing.

I was able to start by saying, if you really want to know about this, see my PyCon talk from last year, Getting Started Testing. Then I launched into an impromptu 15-minute overview of unit testing.

During one of the breaks, on my way to the water fountain, I passed a woman in the hallway watching the talk on her headphones. She said it was great, then later on Twitter, we had a typical PyCon love-fest.

To be able to see someone learning from something you've created is very gratifying and rewarding.


I attended one day of sprints. My main project there was Open edX, but I also said I would be sprinting on coverage.py, which I had never done before. I'd always had the feeling that coverage.py was esoteric and thorny, and it would be difficult to get contributors going. I was pleasantly surprised that five people joined me to make some headway against issues in the tracker.

But some of the interesting bugs are about branch coverage, which I had become somewhat frustrated by. I warned people that the problems might require a complete rewrite, but they were game to look into it.

Mickie Betz in particular was digging into an issue involving loops in generators. I was interested to watch her progress, and helped her with debugging techniques, but was not hopeful that there was a practical fix. To my surprise, a day later, she has submitted a pull request with a very simple solution. Mickie has restored my faith in humanity. She persevered in the face of a discouraging maintainer (me), and proved him wrong!

Another sprinter, Jon Chappell, picked up an issue that was easy but annoying to fix. Annoying because it was asking coverage.py to accommodate a stupid limitation in a different tool. It was not glamourous work, but I really appreciated him taking the task so that I didn't have to do it.

Two other sprinters, Conrad Ho and Leonardo Pistone, have each submitted a pull request, and Leonardo is also chasing down other issues. Lastly, Frederick Wagner has expressed interest in adding a warning-suppressing feature.

A very productive time, considering I was only at the sprints for about four hours. PyCon is amazing.


One thing I've never seen at PyCon is organized juggling. I considered bringing beanbags with me this time, but thought they would be heavy to carry around. Then Yelp was handing out bouncy balls at their booth, so I got four of those, and used them all weekend. It was a good way to play with people, especially once we did some pair juggling. Next year, I'll bring some serious equipment, and have a real open space (or two!) Who's in?

All in all

I don't know why I felt off the first day. PyCon is an amazing time, and now I again can't imagine missing it. It connects you to people. One afternoon, an attendee pulled me aside to show me a bug in coverage.py. I looked in the issue tracker, and saw that it had been written up four years ago by Christian Heimes, who was attending PyCon this year for the first time, and who I met at the bar on my first night!

PyCon energizes me, and cements my relationship to the entire Python world. Sometimes I wonder about a programming language as the basis for a group of people, but why not? They share my sensibilities and interests. They like what I do, and I like what they do. We move in similar circles. Do you need better reasons for a group of 2500 people to be close friends?

Categories: FLOSS Project Planets

OMG! UBUNTU! Previews KDE Plasma 5.3 Beta

Planet KDE - Wed, 2015-04-15 09:06

Their review highlights the improved Power Management features, because they are hoping to distract their readers from the QR code

Categories: FLOSS Project Planets

Wellnet Blog: Weekly Module Review - #7 Fast Permissions Administration, insert permissions without issues!

Planet Drupal - Wed, 2015-04-15 09:03

This week we’ll talk about FPA (Fast Permissions Administration), a very cute module I only discovered recently.

Categories: FLOSS Project Planets

Ortwin Glück: [Code] Crashes after updating microcode-data

Planet Apache - Wed, 2015-04-15 08:30
Today Gentoo released the Intel Microcode update: sys-apps/microcode-data-20150121
After installation immediately a lot of applications crashed with the following log:
kernel: traps: NetworkManager[1308] trap invalid opcode ip:7f8bba0b093a sp:7fffd40a22e8 error:0 in libpthread-2.20.so[7f8bba0a5000+16000]
Some research revealed that this machine has an Intel Haswell CPU with buggy TSX. And the microcode update fixes this by effectively disabling TSX. This in itself is not a problem yet.

The most popular code that uses TSX is libpthread of glibc. And I had used gcc-4.8.3 to compile glibc, with -march=native in CFLAGS. Unfortunately this gcc version generates wrong instruction with the native optimizations enabled. So everything crashed at once.

The fix was to simply recompile glibc with gcc-4.8.4: # gcc-config -l [1] x86_64-pc-linux-gnu-4.8.4 * # emerge -1 glibc
Categories: FLOSS Project Planets
Syndicate content