FLOSS Project Planets

Vasudev Ram: pip now installed with Python 2.7.9

Planet Python - Sat, 2015-02-28 22:31
By Vasudev Ram

In Python 2.7.9, pip (the Python package installer tool) will now be installed automatically.

Read it via a tweet and then verified it via this link:

Installing Python Modules

and also this one:

pip included with Python

- Vasudev Ram - Online Python training and programming

Dancing Bison Enterprises

Signup to hear about new products or services from me.

Posts about Python  Posts about xtopdf

Contact Page

Share |

Vasudev Ram
Categories: FLOSS Project Planets

Chen Hui Jing: Drupal 101: Basic site optimisations

Planet Drupal - Sat, 2015-02-28 19:00

It has been statistically proven that nobody likes a slow website. We have all moved on from the days when you’d patiently wait for a page to load over that lovely dial-up modem. Nowadays, people want their pretty content, and they want it loaded instantaneously (or at most by 2 blinks).

One very basic concept I learnt about website performance is: minimise requests to your server. This makes perfect sense to me. Say I had a shopping list with 12 items. If I went to the general store and asked the shopkeeper for each item separately, he’d have to make 12 trips and most likely end up being very pissed at me. It’s much more efficient and faster to...

Categories: FLOSS Project Planets

Alex Clark: Don't sudo pip install

Planet Python - Sat, 2015-02-28 18:09

How many times have you seen this?

Categories: FLOSS Project Planets

node.js experience wanted

Planet KDE - Sat, 2015-02-28 17:28

Hello all,

If there's anyone in the community, or even just reading this blog, that has experience with node.js and a bit of time I would like to recruit you for a special task. The task is to get bodega-server (and maybe the webapp or admin client too if you're so inclined) to actually work again. It worked at some point in the past year from what I hear, but currently it just spews 404 error pages for any api call it gets. I gather that this is because the nodes that it uses have changed their api since it was written. My time is limited and I've poked it enough to not give warnings at runtime anymore, but someone that really knows the ins and outs of node.js could probably fix it much faster than I so I am asking for such a brave soul to come forward and get the next generation software/data/"stuff" distribution system to do so. I know you're out there and you're considering, stop considering, hop on #kde-devel or #kde-www or anywhere on freenode and find me or others trying to get this going. Or just look at the code itself here and throw me some pointers.

I can't promise much except fame, thanks, admiration of your peers, etc. but hopefully that's enough.

P.S. this couldn't happen soon enough, ocs/attica, knewstuff, and opendesktop/kde-look, etc. are really showing their age. Having bodega working would make a lot of awesome things possible again.

Categories: FLOSS Project Planets

pip now installed with Python 2.7.9

LinuxPlanet - Sat, 2015-02-28 17:01
By Vasudev Ram

In Python 2.7.9, pip (the Python package installer tool) will now be installed automatically.

Read it via a tweet and then verified it via this link:

Installing Python Modules

and also this one:

pip included with Python

- Vasudev Ram - Online Python training and programming

Dancing Bison Enterprises

Signup to hear about new products or services from me.

Posts about Python  Posts about xtopdf

Contact Page

Share | var addthis_config = {"data_track_clickback":true};

Vasudev Ram

Categories: FLOSS Project Planets

Ben Hutchings: Debian LTS work, February 2015

Planet Debian - Sat, 2015-02-28 16:39

This was my third month working on Debian LTS, and the first where I actually uploaded packages. I also worked on userland packages for the first time.

In the middle of February I finished and uploaded a security update for the kernel package (linux-2.6 version 2.6.32-48squeeze11, DLA 155-1). I decided not to include the fix for CVE-2014-9419 and the large FPU/MMX/SSE/AVX state management changes it depends on, as they don't seem to be worth the risk.

The old patch system used in linux-2.6 in squeeze still frustrates me, but I committed a script in the kernel subversion repository to simplify adding patches to it. This might be useful to any other LTS team members working on it.

In the past week I uploaded security updates for cups (version 1.4.4-7+squeeze7, DLA 159-1) and sudo (1.7.4p4-2.squeeze.5, DLA 160-1). My work on the cups package was slowed down by its reliance on dpatch, which thankfully has been replaced in later versions. sudo is a more modern quilt/debhelper package, but upstream has an odd way of building manual pages. In the version used in squeeze the master format is Perl POD, while in wheezy it's mandoc, but in both cases the upstream source includes pre-generated manual pages and doesn't rebuild them by default. debian/rules is supposed to fix this but doesn't (#779363), so I had to regenerate 'by hand' and fold the changes into the respective patches.

Finally, I started work on addressing the many remaining security issues in eglibc. Most of the patches applied to wheezy were usable with minimal adjustment, but I didn't have time left to perform any meaningful testing. I intend to upload what I've done to people.debian.org for testing by interested parties and then make an upload early in March (or let someone else on the LTS or glibc team do so).

Update: I sent mail about the incomplete eglibc update to the debian-lts list.

Categories: FLOSS Project Planets

Petter Reinholdtsen: The Citizenfour documentary on the Snowden confirmations to Norway

Planet Debian - Sat, 2015-02-28 16:10

Today I was happy to learn that the documentary Citizenfour by Laura Poitras finally will show up in Norway. According to the magazine Montages, a deal has finally been made for Cinema distribution in Norway and the movie will have its premiere soon. This is great news. As part of my involvement with the Norwegian Unix User Group, me and a friend have tried to get the movie to Norway ourselves, but obviously we were too late and Tor Fosse beat us to it. I am happy he did, as the movie will make its way to the public and we do not have to make it happen ourselves. The trailer can be seen on youtube, if you are curious what kind of film this is.

The whistle blower Edward Snowden really deserve political asylum here in Norway, but I am afraid he would not be safe.

Categories: FLOSS Project Planets

Zlatan Todorić: Interviews with FLOSS developers: Joey Hess

Planet Debian - Sat, 2015-02-28 15:40

Edit: Now translated to Chinese. Thanks zhang wei!

There is really hardly a better way to open a series of interviewing with developers behind Free Libre Open Source Software project, then with incredible mind such as Joey Hess. To write his contributions to Free software ecosystem, especially in Debian, would be a book by itself. His impact exceeds even his projects - people literally follow his blog posts to see what he is doing and how is he living. A hacker from cabin. If you really need to have a picture of true hacker, then Joey is the one. As this isn't a book I will just mention few projects that he has been behind - git-annex, ikiwiki, etckeeper, debian installer, parts of dpkg, debhelper, devscripts, taskel. So without further waiting here it is.

me: Who are you?

joeyh: I'm Joey -- https://joeyh.name/

me: How did you start programming?

joeyh: Atari 130XE which came with BASIC and a boring word processor and not much else. No other friends had one, so the only way to get software was to type in demo programs from manual and then begin to change and write my own. So, the easy way to learn. Also some Logo in school.

me: How would you now advise others to start programming?

joeyh: Difficult question, it seems much harder to get an intimate understanding of things than when I started, and much harder to be motivated to program when there's so much stuff easily available. Maybe simple bare-metal systems like Arduino coupled with real-world interaction are the answer.

I've recently been mentoring my nephew who is learning python and Python the Hard Way has gotten him far impressively fast.

me: Setup of your development machine?

joeyh: Lenovo laptop de-spywared with Debian unstable, xmonad, xfce, vim.

me: Your thoughts on Purism (the open hardware laptop initiative that got recently funded on CrowdSupply)?

joeyh: I don't know much about that one, but it seems that consumer level hardware has gotten so low quality, and so closed and untrustworthy that it makes sense to either build alternatives that are open, or pick out, as a community, the stuff we can adapt to our needs and concentrate on it. Several projects are trying, I hope they succeed.

me: How do you see future of Debian development?

joeyh: Well, I've mostly stopped worrying about it. If you look back at my presentations at the past 2 or 3 DebConfs, you'll find my best thoughts on the matter.

me: You retired as Debian developer - do you intend sometime soon to come back and/or do you plan to join some other communities?

joeyh: It would be glorious to come back, wouldn't it? But I don't think I will. Can't step in the same river twice, and all.

Instead, Debian will probably have to put up with me as an annoying upstream author who doesn't ship tarballs, but does ship debian/ directories, and as a bug reporter who enjoys reporting amusing bugs like -0 NaN.

I seem to have more time to spend in other online communities since I left Debian, but in a more diffuse way. Maybe that's just what it's like, to be involved in Free Software but not in the embrace of a big project like Debian.

me: Some memorable moments from Debian conferences?

joeyh: There are so many! Picnicing on berries and tamales at the Portland farmer's market right outside the venue; rainbows and bonfire in Switzerland after crazy busy days; impromptu pipe organ repair in a weird night venue in Edinburgh; walking through Porto Alegre at night with Ian Murdock and how humble he was about what he'd started; hacking all night in Spain; failing to sleep through midnight sun and incessent partying Finland; hanging out in the hotel lobby in Atlanta where we designed Build-Depends.

me: Are you a gamer? Valve Steam games are offered for free to Debian Developers - do you use steam and play Valve games?

joeyh: I've played through Half Life and Portal, but nethack has claimed more of my time. I mostly enjoy short, indie games, or games that tell us something new about the medium of games, A recent favorite was A Dark Room.

But really, I have more pure fun playing real world Tabletop games with friends, like Carcassanne Discovery and Hive.

In March, I am going to try to write a roguelike game in one week, in Haskell, for the Seven Day Roguelike Challenge and I'll be blogging about my progress daily.

me: You are nowdays a Haskell hacker (git-annex) - what would you like to say about this language and how does it compare to Python, C, JavaScript, Ruby and Perl?

joeyh: Not just git-annex; all my current projects are written in Haskell.

I think it's amazing how much we expect programmers to keep in their heads while writing code. Is that buffer going to overflow? Is changing the value of that global variable going to break some other part of the code? Is that input sanitized yet? Did that interface change? Haskell solves some of these outright, but more, it makes you start noticing this kind of pervasive issue, and it provides ways to completely eliminate a class of problems from your code.

For example http://joeyh.name/blog/entry/making_propellor_safer_with_GADTs_and_type_families/. The class of bugs I avoided there had never affected my code even once, but it was still worth preventing that whole class of bugs, so I don't have to worry about them ever again.

me: Would you suggest Haskell as first language to learn especially for those that have an itch for mathematics?

joeyh: I think that can work well. Or it can go other the way -- I had an affinity to mathematics when I was young, but it got knocked out of me in the way that happens to many people, and languages like perl and C don't do much to make you want to learn more about higher-order math. I've been picking up a bit more here and there via Haskell.

me: How do you compare your productivity in Haskell compared to your Perl days?

joeyh: It's very different; I'm a very different programmer now. I probably would bang out quick hacks more quickly when I was writing Perl. But, they tended to stay quick hacks. Now, I might take a little longer to get there, but the code seems a lot more solid, while also being more malleable to turn into larger or different programs.

I'm also a lot more drawn toward writing software libraries.

me: Can you describe your philosophy of life (you live in cabin, in forest, using a lot of solar power - many people are intrigued (including myself) what drives you towards that kind of life and how does it impact your overall quality of life and happiness. Looking the todays modern predator capitalistic society, in which you could easily earn more then $10.000 a month, you seem to be an anarchist and very humble human)?

joeyh: I want to build worthwhile things that might last. Which is super hard in the world of software, both because it's hard to think far ahead at all, and because most jobs don't emphasize that kind of real value. I've been lucky and bootstrapped up to a point where I've been able to work full time on free software for years, and I'm willing to forgo a lot to continue that.

Living in the woods without modern conveniences is great, because it's quiet and you can think as much as you like; the internet is just as close as it is anywhere else (maybe a bit slower); and when you've spent too much time quietly thinking you'll need to go chop wood, or haul water, or jump in the river to cool off, depending on the season.

(Humble? Like most programmers, I am internally a flaming tower of ego...)

Vote on Hacker News

Categories: FLOSS Project Planets

gnats @ Savannah: GNU GNATS

GNU Planet! - Sat, 2015-02-28 14:01

After 10 years, GNU GNATS has finally released a new version 4.2.0, thanks in large part to the recent efforts of Alexandros Manoussakis at Juniper Networks. Among the improvements:

- GNU v3 license update
- Buid now uses automake, and code has been adjusted to compile
properly in various environments (tested with gcc 2.95, 3.4, 4.8,
4.9, clang 3.1, 3.4, and several different versions of Linux,
FreeBSD, Solaris, OS X)
- New --global-databases-file command-line option for gnatsd and other programs
- New host/port/user/passwd command-line options for send-pr
- Many bugfixes, including:
- FreeBSD-SA-05:20.cvsbug security advisory (affected send-pr)
- Fixed PR#484: "send-pr --request-id" sends just a template
- Fixed PR#501: Safer open/fopen for gen-index (no longer installing as suid)
- Fixed PR#504: gnatsd crashes when trying to lock a nonexistent PR
- Fixed PR#508: Emacs interface gnats-change-database fails when
gnats-port isn't set
- Fixed PR#691: Portability problem with sed and tr
- Fixed PR#746: install-sid is a bash script (and not /bin/sh)
- Fixed PR#767: edit-pr returns incorect exit status
- Fixed PR#768: make install DESTDIR=/anywhere fails
- Fixed PR#771: "EXPR" queries with spaces sometimes fail
- Fixed PR#773: using responsible alias as email address for edit-pr
- "invalid query format" bug for queries that included whitespace
- edit-pr will now correctly exit with an error if it cannot lock the PR
- edit-pr will now use the email alias in the responsibles field
- Solaris 7/8/10 compilation fixed

Contributors to the code changes since March 2005 include:

- Alexandros Manoussakis
- Chad Walstrom
- Jonathan Guthrie
- Karl Berry
- Malcolm Purvis
- Martin Tournoij
- Michael van Elst
- Stephane Chazelas

Thank you, everyone, for your hard work!


Categories: FLOSS Project Planets

Mathieu Parent: Hello Planet Debian

Planet Debian - Sat, 2015-02-28 13:05

After more than five years of being a Debian developer, here is my first post on Planet Debian!

I currently maintain 165 packages. My focus has changed since 2009, but those are still mostly sysadmin packages:

  • ctdb (under the pkg-samba umbrella), the clustered database used by samba
  • c-icap and c-icap-modules: a c-icap server mostly useful with squid and providing url blacklists and antivirus filtering
  • pkg-php-tools: easy packaging of PHP packages (PEAR, PECL and Composer) as .deb
  • 124 php-horde* (Horde) packages: A groupware and webmail, written in PHP
  • 12 PHP PEAR, Composer, or PECL packages (those are Horde dependencies)
  • I’m mostly maintaining alone the above packages. Any help is appreciated!
  • python-ceres, graphite-carbon and graphite-web: Graphite is an high performance monitoring and graphing software. Jonas Genannt is maintaining the packages well and I only do review
  • 20 shinken packages : a monitoring solution, compatible with nagios configuration files and written in python. Thibault Cohen is doing most of the packaging, and I give advice
  • svox: The TTS from Android (unfortunately non-free because of missing or outdated sources). This is now under the Debian Accessibility Team umbrella
  • kolabadmin: this is the last remaining piece from my former pkg-kolab membership (unfortunately kolab server won’t be in jessie, you can help the team for Stretch)

Now that the first post is online, I will try to keep up!

Categories: FLOSS Project Planets

wget @ Savannah: GNU wget 1.16.2 released

GNU Planet! - Sat, 2015-02-28 12:22
  • Noteworthy changes in Wget 1.16.2
    • Native uuid generation on Windows.
    • Fix build on Solaris.
    • Allow progress bar on stderr when -o is used.
    • Accept 5-digit port numbers in FTP EPSV responses.
    • Support older versions of flex.
    • Updated translations.
Categories: FLOSS Project Planets

Bryan Pendleton: Some long-form articles worth your time

Planet Apache - Sat, 2015-02-28 12:01

Nothing connects these articles, other than that they're all interesting (to me, that is).

And they're all long.

  • Invasion of the Hedge Fund AlmondsOur increasing fondness for nuts—along with a $28-million-a-year marketing campaign by the Almond Board of California—are part of what has prompted the almond boom. But the main driver comes from abroad. Nearly 70 percent of California's almond crop is exported, with China the leading customer: Between 2007 and 2013, US almond exports to China and Hong Kong more than quadrupled, feeding a growing middle class' appetite for high-protein, healthy food. Almonds now rank as the No. 1 US specialty crop export, beating wine by a count of $3.4 billion to $1.3 billion in 2012. (Walnuts and pistachios hold the third and fourth spots, each bringing in more than $1 billion in foreign sales.) As a result, wholesale almond prices jumped 78 percent between 2008 and 2012, even as production expanded 16 percent.

    According to UC-Davis' Howitt, the shift to almonds and other tree nuts is part of a long-term trend in California, the nation's top agricultural state. Farmers in the Central Valley once grew mostly wheat and cattle. But over time, they have gravitated toward more-lucrative crops that take advantage of the region's rare climate. "It's a normal, natural process driven by market demand," Howitt says. "We grow the stuff that people buy more of when they have more money." Like nuts, which can replace low-margin products such as cotton, corn, or beef.

  • How crazy am I to think I actually know where that Malaysia Airlines plane is?Meanwhile, a core of engineers and scientists had split off via group email and included me. We called ourselves the Independent Group,11 or IG. If you found yourself wondering how a satellite with geosynchronous orbit responds to a shortage of hydrazine, all you had to do was ask.12 The IG’s first big break came in late May, when the Malaysians finally released the raw Inmarsat data. By combining the data with other reliable information, we were able to put together a time line of the plane’s final hours: Forty minutes after the plane took off from Kuala Lumpur, MH370 went electronically dark. For about an hour after that, the plane was tracked on radar following a zigzag course and traveling fast. Then it disappeared from military radar. Three minutes later, the communications system logged back onto the satellite. This was a major revelation. It hadn’t stayed connected, as we’d always assumed. This event corresponded with the first satellite ping. Over the course of the next six hours, the plane generated six more handshakes as it moved away from the satellite.
  • Proving that Android’s, Java’s and Python’s sorting algorithm is broken (and showing how to fix it)After we had successfully verified Counting and Radix sort implementations in Java (J. Autom. Reasoning 53(2), 129-139) with a formal verification tool called KeY, we were looking for a new challenge. TimSort seemed to fit the bill, as it is rather complex and widely used. Unfortunately, we weren’t able to prove its correctness. A closer analysis showed that this was, quite simply, because TimSort was broken and our theoretical considerations finally led us to a path towards finding the bug (interestingly, that bug appears already in the Python implementation). This blog post shows how we did it.
  • Mastering Git submodulesSubmodules are hair-pulling for sure, what with their host of pitfalls and traps lurking around most use cases. Still, they are not without merits, if you know how to handle them.

    In this post, we’ll dive deep into Git submodules, starting by making sure they’re the right tool for the job, then going through every standard use case, step by step, so as to illustrate best practices.

  • Mastering Git subtreesA month ago we were exploring Git submodules; I told you then our next in-depth article would be about subtrees, which are the main alternative.

    As before, we’ll dive deep and perform every common use-case step by step to illustrate best practices.

Categories: FLOSS Project Planets

Dirk Eddelbuettel: RcppEigen

Planet Debian - Sat, 2015-02-28 09:34

A new release of RcppEigen is now on CRAN and in Debian. It synchronizes the Eigen code with the 3.2.4 upstream release, and updates the RcppEigen.package.skeleton() package creation helper to use the kitten() function from pkgKitten for enhanced package creation.

The NEWS file entry follows.

Changes in RcppEigen version (2015-02-23)
  • Updated to version 3.2.4 of Eigen

  • Update RcppEigen.package.skeleton() to use pkgKitten if available

Courtesy of CRANberries, there is also a diffstat report for the most recent release.

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

Categories: FLOSS Project Planets

Gunnar Wolf: Welcome to the world, little ones!

Planet Debian - Sat, 2015-02-28 08:26

Welcome little babies!

Yesterday night, we entered the hospital. Nervous, heavy, and... Well, would we ever be ready? As ready as we could.

A couple of hours later, Alan and Elena Wolf Daichman became individuals on their own right. As is often the case in the case of twins, they were brought to this world after a relatively short preparation (34 weeks, that's about 7.5 months). At 1.820 and 1.980Kg, they are considerably smaller than either of the parents... But we will be working on that!

Regina is recovering from the operation, the babies are under observation. As far as we were told, they seem to be quite healthy, with just minor issues to work on during neonatal care. We are waiting for our doctors to come today and allow us to spend time with them.

And as for us... It's a shocking change to finally see the so long expected babies. We are very very very happy... And the new reality is hard to grasp, to even begin understanding :)

PS- Many people have told me that my blog often errors out under load. I expect it to happen today :) So, if you cannot do it here, there are many other ways to contact us. Use them! :)

Categories: FLOSS Project Planets

"Menno's Musings": IMAPClient now all at Bitbucket

Planet Python - Sat, 2015-02-28 06:32

I've been wanting to do this for a while: IMAPClient is now completely hosted on Bitbucket. The Trac instance is no more and all tickets have been migrated to the Bitbucket issue tracker. http://imapclient.freshfoo.com now redirects to the Bitbucket site.

The primary motivation for this change is that it makes it possible for anyone to easily interact with IMAPClient's tickets using the Bitbucket account they probably already have. Due to spam issues, I had to turn off public write access to the Trac bug tracker a long time ago meaning I was the only one creating and updating tickets. This change also means less maintenance overhead for me, so more time to spend on IMAPClient.

Please let me know if you see anything related to the migration that doesn't look right.

Categories: FLOSS Project Planets

Riccardo Mottola: Graphos bitmap image display

GNU Planet! - Sat, 2015-02-28 03:00
Graphos is the vector-drawing application for GNUstep (and MacOS) of the GNUstep Application Project.

While it is centered on drawing bezier paths and derived shapes, I added support for copy&pasting images. While these images cannot be saved (the format doesn't support it yet) they still can be useful: since they are layered as any other object (and transparency alpha channel is honoured too), one can do interesting things as in this example:

We paste in the original image for LaternaMagica's icon. We start tracing it with simple shapes, here shown in black.

One can easily fit curves over the image, essentially doing a hand-trace. Very important is the usage of cusps and symmetric handles in bezier-paths, which will be the new feature of the upcoming Graphos release.

After a quick work, this is the first rough result:

I still need to fix some details: the display at zoom rates different than 100% doesn't work correctly with images.
Categories: FLOSS Project Planets

Code Drop: GovCMS: What Drupal developers can look forward to in 2015

Planet Drupal - Fri, 2015-02-27 23:49

At Code Drop we are looking forward to leveraging all of the incredible effort which has gone into the govCMS ecosystem and all which as gone into making Drupal the choice for Government organisations. Developers who work with or are hoping to work with the platform have a lot of stuff to look forward to in 2015.

Planned Features

While govCMS is the name for the overarching project to bring Drupal into government using turnkey solutions, it is powered by the Drupal distribution aGov. Part of the recent work that has gone into the platform is a planned set of features for a new version of aGov (7.x-3.x). These planned features have been posted on Drupal.org and do represent a really positive evolution in the profile, a quick summary of which can be found below.

Categories: FLOSS Project Planets

Drupal Association News: Drupal Association Board Meeting: 18 February, 2015

Planet Drupal - Fri, 2015-02-27 19:17

February may be the shortest month of the year, but it's certainly been one of the busiest for the Drupal Association, so I apologize for taking more than a week to get this summary post up! What's been keeping us so busy? Our first ever DrupalCon in Latin America and the Drupal Association At-Large Board elections. Both of these events have been huge positive milestones for the Association, and have involved dozens of volunteers from around the globe. In the middle of all that, we managed to sneak in a board meeting on 18 February. If you missed it, you can listen to the recording, read the notes, and peruse the materials. Or feel free to skim this summary!

Operational Update
  • We have a big initiative internally at the Association to reevaluate the metrics we use to illustrate the success of our work. We are also looking at ways to better display these metrics so that you can see more context. So over the next few months, you'll see the metrics in the dashboared shift and change. Just a bit of a heads up, and let us know if you have any feedback along the way.
  • The February board packet covered our January metrics, and things look pretty good one month into the year. We are especially pleased that the Engineering team has been able to bring site performance to our goal levels. 
  • The Engineering Team also took several big steps towards key areas of the Drupal.org roadmap in January. Step 1 of the roadmap is better Account Creation and Login, and several key issues were closed out.
  • The DrupalCon Team and Engineering worked together to launch events.drupal.org in January as well. This shift means that Con sites are all on the same platform now. We no longer have to launch a site from scratch for each Con, which helps make Cons much easier to manage. Most importantly, we've been able to introduce key new features in reegistration for our community. Excited? Go ahead and register now! You can check out the new features yourself!
  • We are really lucky to work with the tireless Drupal 8 Branch Maintainers on the Drupal 8 Accelerate program. The program is picking up steam with a number of grants made and completed already. The next big grant will fund a Drupal CI (testbot) srpint in Portland at the end of March.
Content Strategy Update

Last year, the Content Working Group began a process of building a larger strategy for a reimagination of Drupal.org. Our first work was focused on User Research, and completed that work in the fall, publishing the developed personas. The next phase has focused on developing a content strategy. With over 1.2 MILLION pieces of content on Drupal.org, a strategy for dealing with that content is going to be pretty darn important. You can check out the presentation, as well as the post that's currently one of those pieces of content on Drupal.org.

Drupal.org Advertising Strategy

Finding new revenue streams is vitally important to the Association. For the entire history of the Drupal Association, DrupalCons have been the primary way we have funded other community work. We want to do more to serve our mission: uniting a global open source community to build and promote Drupal. If we're going to do that, we need new revenue streams. The bonus? If we can find new funding sources, it takes the pressure off of DrupalCons to perform financially, which means we can make choices for those events that might not fuel the financial bottom line, but make the events better for the community. 

So how are we doing it? New programs like Drupal Jobs have launched. We are also introducing advertising on Drupal.org and to Drupal.org visitors. We working to develop advertising products that are meaningful for advertisers (enough traffic, good clicks) and also deliver value to our community. We've drawn a few clear lines - we won't advertise on issue queues, for example, and will focus on users who are not logged into the site. We'll also be developing a variety of programs so that small shops can participate alongside bigger firms. 

For all the details, check out the presentation.

The End

Thanks so much for checking in on this board meeting and, as always, please let me know if you have any questions or thoughts.

Categories: FLOSS Project Planets

Matthew Rocklin: Ising models and Numba

Planet Python - Fri, 2015-02-27 19:00

This work is supported by Continuum Analytics and the XDATA Grant as part of the Blaze Project

tl;dr I play with Numba and find it effective.


Confession, I’ve never actually used Numba. Well that’s not quite true; I’ve indirectly used Numba thousands of times because Blaze auto-generates numba ufuncs. Still I’ve never used it for a particular problem. I usually define problems with large array operations and compile those down. Numba takes a different approach and translates Python for loops to efficient LLVM code. This is all lower in the hardware stack than where I usually think.

But when I was looking for applications to motivate recent work in nearest-neighbor communications in dask a friend pointed me towards the Ising model, a simple physical system that is both easy to code up and has nice macro-scale properties. I took this as an example to play with Numba. This post details my experience.

Ising Model

Disclaimer: I am not a physicist

The Ising model represents a regular grid of points where each point has two possible states, spin up and spin down. States like to have the same spin as their immediate neighbors so when a spin-down state is surrounded by more spin-up states it will switch to spin-up and vice versa. Also, due to random fluctuations, points might switch spins, even if this switch is not favorable. In pseudocode an Ising update step might look like the following

for every point in the grid: energy = my spin * sum of all of the spins (+1 or -1) of neighboring points if energy is improved by switching: switch else if we're particulalry unlucky switch anyway

For this kind of algorithm imperative for-loopy code is probably the most clear. You can do this with high-level array operations too (e.g. NumPy/Blaze/Theano), but it’s a mess.

Numba code

Here is my solution to the problem with Numba and a gif of the solution

import numba import numpy as np from math import exp, log, e, sqrt kT = 2 / log(1 + sqrt(2), e) @numba.jit(nopython=True) def _update(x, i, j): n, m = x.shape dE = 2* x[i, j] * ( x[(i-1)%n, (j-1)%m] + x[(i-1)%n, j ] + x[(i-1)%n, (j+1)%m] + x[ i , (j-1)%m] + x[ i , (j+1)%m] + x[(i+1)%n, (j-1)%m] + x[(i+1)%n, j ] + x[(i+1)%n, (j+1)%m] ) if dE <= 0 or exp(-dE / kT) > np.random.random(): x[i, j] *= -1 @numba.jit(nopython=True) def update(x): n, m = x.shape for i in range(n): for j in range(0, m, 2): # Even columns first to avoid overlap _update(x, i, j) for i in range(n): for j in range(1, m, 2): # Odd columns second to avoid overlap _update(x, i, j) if __name__ == '__main__': x = np.random.randint(2, size=(1000, 1000)).astype('i1') x[x == 0] = -1 for i in range(100): update(x)

My old beater laptop executes one update step on a 1000x1000 grid in 50ms. Without Numba this takes 12s. This wasn’t a canned demo by an expert user / numba developer; this was just my out-of-the-box experience.


I really like the following:

  • I can remove @numba.jit and use the Python debugger
  • I can assert that I’m only using LLVM with nopython=True
  • I can manage data with NumPy (or dask.array) separately from managing computation with Numba

I ran in to some issues and learned some things too:

  • random is only present in the developer preview builds of Numba (conda install -c numba numba). It will be officially released in the 0.18 version this March.
  • You don’t have to provide type signature strings. I tried providing these at first but I didn’t know the syntax and so repeatedly failed to write down the type signature correctly. Turns out the cost of not writing it down is that Numba will jit whenever it sees a new signature. For my application this is essentially free.
Categories: FLOSS Project Planets
Syndicate content