FLOSS Project Planets

Giampaolo Rodola: OpenBSD support for psutil

Planet Python - Tue, 2015-11-24 12:47
OK, this is a big one: starting from version 3.3.0 (released just now) psutil will officially support OpenBSD platforms. This was contributed by Landry Breuil (thanks dude!) and myself in PR #615. The interesting parts of the code changes are this and this.
Differences with FreeBSDAs expected, OpenBSD implementation is very similar to FreeBSD's (which was already in place), that is why I decided to merge most of it in a single C file (_psutil_bsd.c) and use 2 separate C files for when the two implementations differed too much: freebsd.c and openbsd.c. In terms of functionality here's the differences with FreeBSD. Unless specified, these differences are due to the kernel which does not provide the information natively (meaning we can't do anything about it).
Similarly to FreeBSD, also OpenBSD implementation of Process.open_files() is problematic as it is not able to return file paths (FreeBSD can sometimes). Other than these differences the functionalities are all there and pretty much the same, so overall I'm pretty satisfied with the result. Considerations about BSD platformspsutil has been supporting FreeBSD basically since the beginning (year 2009). At the time it made sense to support FreeBSD instead of other BSD variants because it is the most popular, followed by OpenBSD and NetBSD. Compared to FreeBSD, OpenBSD appears to be more "minimal" both in terms of facilities provided by the kernel and the number of system administration tools available. One thing which I appreciate a lot about FreeBSD is that the source code of all CLI tools installed on the system is available under /usr/bin/src, which was a big help for implementing all psutil APIs. OpenBSD source code is also available but it uses CSV and I am not sure it includes the source code for all CLI tools. There are still two more BSD variants for which it may be worth to add support for: NetBSD and DragonflyBSD (in this order). About a year ago some guy provided a patch for adding basic NetBSD support so it is likely that will happen sooner or later.

Other enhancements available in this releaseThe only other enhancement is issue #558, which allows specifying a different location of /proc filesystem on Linux. 
Categories: FLOSS Project Planets

Django Weblog: Security releases issued: 1.9rc2, 1.8.7, 1.7.11

Planet Python - Tue, 2015-11-24 12:41

In accordance with our security release policy, the Django team is issuing multiple releases -- Django 1.7.11, 1.8.7, and 1.9 release candidate 2. These releases are now available on PyPI and our download page. These releases address a security issues detailed below. We encourage all users of Django to upgrade as soon as possible. The Django master branch has also been updated.

CVE-2015-8213: Fixed settings leak possibility in date template filter

If an application allows users to specify an unvalidated format for dates and passes this format to the date filter, e.g. {{ last_updated|date:user_date_format }}, then a malicious user could obtain any secret in the application's settings by specifying a settings key instead of a date format. e.g. "SECRET_KEY" instead of "j/m/Y".

To remedy this, the underlying function used by the date template filter, django.utils.formats.get_format(), now only allows accessing the date/time formatting settings.

Thanks Ryan Butterfield for reporting the issue.

Affected supported versions
  • Django master development branch
  • Django 1.9 (currently at release candidate status)
  • Django 1.8
  • Django 1.7

Per our supported versions policy, Django 1.6 and older are no longer receiving security updates.

This is likely to be the last release of the 1.7 series as it will be end-of-life upon the release of Django 1.9, scheduled for December 1.


Patches have been applied to Django's master development branch and to the 1.7, 1.8, and 1.9 release branches, which resolve the issue described above. The patches may be obtained directly from the following changesets:

The following new releases have been issued:

The PGP key ID used for these releases is Tim Graham: 1E8ABDC773EDE252.

General notes regarding security reporting

As always, we ask that potential security issues be reported via private email to security@djangoproject.com, and not via Django's Trac instance or the django-developers list. Please see our security policies for further information.

Categories: FLOSS Project Planets

a-fro.com: Speed Up Cache Clearing on Drupal 7

Planet Drupal - Tue, 2015-11-24 12:33
Speed Up Cache Clearing on Drupal 7 Cache clearing nirvana may be two vsets away

tl;dr If your D7 site uses features or has many entity types, some recent patches to the features module and the entity api module may deliver dramatic performance increases when you clear Drupal's cache. The magic:

$ drush vset features_rebuild_on_flush FALSE $ drush vset entity_rebuild_on_flush FALSE aaron Tue, 11/24/2015 - 11:33
Categories: FLOSS Project Planets

Ned Batchelder: Coverage.py 4.0.3

Planet Python - Tue, 2015-11-24 10:43

I fixed five bugs in coverage.py 4.0.2 to produce coverage.py 4.0.3. XML reports now have correct <source> elements in complex cases, and a mysterious problem that seriously borked really unusual cases has been fixed.

Categories: FLOSS Project Planets

.VDMi/Blog: Generating menu items in Drupal 8

Planet Drupal - Tue, 2015-11-24 10:02
Drupal 8 comes with a new way to generate menu items from code. In Drupal 7 you would do this with "hook_menu()", in Drupal 8 you use a Derivative Plugin.
Categories: FLOSS Project Planets

Paul Everitt: My O&#8217;Reilly video series on Pyramid is up

Planet Python - Tue, 2015-11-24 09:58

Earlier this year, just before PyCon, I talked to O’Reilly about doing a Pyramid video course in their commercial training catalog. It’s now in “early access”, titled “Web Applications with Python and the Pyramid Framework“.

What an effort it turned out to be. I’m certainly grateful that it has wrapped up, but I’m also glad I did it. I put a serious amount of work (months) into writing, re-writing, and re-re-rewriting the narrative and the examples. Thanks go out to Chris and Tres for steering me throughout on best practices, to include the admonition that chasing best practices is a fool’s errand.

Several items of reflections:

  1. I resisted the urge to go off the beaten path. It’s routes, Jinja2, and SQLAlchemy. I originally had “traversal in SQL” in the proposal. I chopped it out, despite my ongoing attempt at “pyramid_sqltraversal” (on GitHub.)
  2. I put more emphasis than I expected on the JSON section and frontend web applications.
  3. I also put more into extensibility (aka “framework framework”) than I had planned. I’m not that good at that story, so perhaps that’s why… I finally had a reason to learn it. And damn, Pyramid’s awesome at that.
  4. Ditto for authentication and authorization combined with SQLAlchemy. I now know a lot more about how to do that, and it’s a great story. As an aside, root/route factories (and thus having a context) should be the way we teach people to start.
  5. Of course it featured PyCharm. I couldn’t have known that, as I wrapped up, I’d be talking to JetBrains about joining the PyCharm team.
  6. I got pretty good at Camtasia, geezus.
  7. Python’s packaging story is such a bear to explain to novices.

So six hours of (unedited) video later, it’s on the way out the door. Pyramid is so unique and so powerful…hope this series helps some mortals who are trying to get started.

Categories: FLOSS Project Planets

Mediacurrent: Weather.com Recognized as Acquia Partner Site of the Year

Planet Drupal - Tue, 2015-11-24 09:18

Last November, Weather.com launched on Drupal and became one of the highest trafficked websites in the world to launch on an open-source content management system (CMS). Today, we're proud to announce that we have been recognized with a 2015 Partner Site of the Year Award

Categories: FLOSS Project Planets

Robin Wilson: Calculating percentiles in Python – use numpy not scipy!

Planet Python - Tue, 2015-11-24 08:36

This is just a brief public service announcement reporting something that I’ve just found: np.percentile is lot faster than scipy.stats.scoreatpercentile – almost an order of magnitude faster in some cases.

Someone recently asked me why on earth I was using scoreatpercentile anyway – and it turns out that np.percentile was only added in numpy 1.7, which was released part-way through my PhD in Feb 2013, hence why the scipy function is used in some of my code.

In my code I frequently calculate percentiles from satellite images represented as large 2D numpy arrays – and the speed differences can be quite astounding:

Image size scoreatpercentile percentile speedup 100 595us 169us 3.5x 1000 84ms 13ms 6.5x 3000 927ms 104ms 9x 8000 8s 1s 8x

As you can see, we get 3-4 times speedup for even small arrays (100 x 100, so 10,000 elements), and up to 8-9 times speedup for large arrays (tens of millions of elements).

Anyway, the two functions have very similar signatures and options – the only thing missing from np.percentile is the ability to set hard upper or lower limits – so it should be fairly easy to switch over, and it’s worth it for the speed boost!

Categories: FLOSS Project Planets

John Cook: Estimating the exponent of discrete power law data

Planet Python - Tue, 2015-11-24 08:00

Suppose you have data from a discrete power law with exponent α. That is, the probability of an outcome n is proportional to n-α. How can you recover α?

A naive approach would be to gloss over the fact that you have discrete data and use the MLE (maximum likelihood estimator) for continuous data. That does a very poor job [1]. The discrete case needs its own estimator.

To illustrate this, we start by generating 5,000 samples from a discrete power law with exponent 3.

import numpy.random alpha = 3 n = 5000 x = numpy.random.zipf(alpha, n)

The continuous MLE is very simple to implement:

alpha_hat = 1 + n / sum(log(x))

Unfortunately, it gives an estimate of 6.87 for alpha, though we know it should be around 3.

The MLE for the discrete power law distribution satisfies

Here ζ is the Riemann zeta function, and xi are the samples. Note that the left size of the equation is the derivative of log ζ, or what is sometimes called the logarithmic derivative.

There are three minor obstacles to finding the estimator using Python. First, SciPy doesn’t implement the Riemann zeta function ζ(x) per se. It implements a generalization, the Hurwitz zeta function, ζ(x, q). Here we just need to set q to 1 to get the Riemann zeta function.

Second, SciPy doesn’t implement the derivative of zeta. We don’t need much accuracy, so it’s easy enough to implement our own. See an earlier post for an explanation of the implementation below.

Finally, we don’t have an explicit equation for our estimator. But we can easily solve for it using the bisection algorithm. (Bisect is slow but reliable. We’re not in a hurry, so we might as use something reliable.)

from scipy import log from scipy.special import zeta from scipy.optimize import bisect xmin = 1 def log_zeta(x): return log(zeta(x)) def log_deriv_zeta(x): h = 1e-5 return (log_zeta(x+h) - log_zeta(x-h))/(2*h) t = -sum( log(x/xmin) )/n def objective(x): return log_deriv_zeta(x) - t a, b = 1.01, 10 alpha_hat = bisect(objective, a, b, xtol=1e-6) print(alpha_hat)

We have assumed that our data follow a power law immediately from n = 1. In practice, power laws generally fit better after the first few elements. The code above works for the more general case if you set xmin to be the point at which power law behavior kicks in.

The bisection method above searches for a value of the power law exponent between 1.01 and 10, which is somewhat arbitrary. However, power law exponents are very often between 2 and 3 and seldom too far outside that range.

The code gives an estimate of α equal to 2.969, very near the true value of 3, and much better than the naive estimate of 6.87.

Of course in real applications you don’t know the correct result before you begin, so you use something like a confidence interval to give you an idea how much uncertainty remains in your estimate.

The following equation [2] gives a value of σ from a normal approximation to the distribution of our estimator.

So an approximate 95% confidence interval would be the point estimate +/- 2σ.

from scipy.special import zeta from scipy import sqrt def zeta_prime(x, xmin=1): h = 1e-5 return (zeta(x+h, xmin) - zeta(x-h, xmin))/(2*h) def zeta_double_prime(x, xmin=1): h = 1e-5 return (zeta(x+h, xmin) -2*zeta(x,xmin) + zeta(x-h, xmin))/h**2 def sigma(n, alpha_hat, xmin=1): z = zeta(alpha_hat, xmin) temp = zeta_double_prime(alpha_hat, xmin)/z temp -= (zeta_prime(alpha_hat, xmin)/z)**2 return 1/sqrt(n*temp) print( sigma(n, alpha_hat) )

Here we use a finite difference approximation for the second derivative of zeta, an extension of the idea used above for the first derivative. We don’t need high accuracy approximations of the derivatives since statistical error will be larger than the approximation error.

In the example above, we have α = 2.969 and σ = 0.0334, so a 95% confidence interval would be [2.902, 3.036].

* * *

[1] Using the continuous MLE with discrete data is not so bad when the minimum output xmin is moderately large. But here, where xmin = 1 it’s terrible.

[2] Equation 3.6 from Power-law distributions in empirical data by Aaron Clauset, Cosma Rohilla Shalzi, and M. E. J. Newman.


Categories: FLOSS Project Planets

digiKam Recipes 4.9.7 Released

Planet KDE - Tue, 2015-11-24 05:40

A new release of digiKam Recipes is ready for your perusal. This version features the new Use Exposure Indicators recipe along with the updated Find the Shutter Count Value with digiKam recipe. Astute readers will also notice the new cover. That's all there is to it this time around.

Continue reading

read more

Categories: FLOSS Project Planets

Rhonda D'Vine: Salut Salon

Planet Debian - Tue, 2015-11-24 03:26

I don't really remember where or how I stumbled upon this four women so I'm sorry that I can't give credit where credit is due, and I even do believe that I started writing a blog entry about them already somewhere. Anyway, I want to present you today Salut Salon. They might play classic instruments, but not in a classic way. But see and hear yourself:

  • Wettstreit zu viert: This is the first that I stumbled upon that did catch my attention. Lovely interpretation of classic tunes and sweet mixup.
  • Ievan Polkka: I love the catchy tune—and their interpretation of the song.
  • We'll Meet Again: While the history of the song might not be so laughable the giggling of them is just contagious. :)

So like always, enjoy!

/music | permanent link | Comments: 0 | Flattr this

Categories: FLOSS Project Planets

Michal &#268;iha&#345;: Wammu 0.40

Planet Debian - Tue, 2015-11-24 03:09

Yesterday, Wammu 0.40 has been released.

The list of changes is not really huge:

  • Correctly escape XML output.
  • Make error message selectable.
  • Fixed spurious D-Bus error message.
  • Translation updates.

I will not make any promises for future releases (if there will be any) as the tool is not really in active development.

Filed under: English Gammu Wammu | 0 comments

Categories: FLOSS Project Planets

S. Lott: Navigation: Latitude, Longitude, Haversine, and all that

Planet Python - Tue, 2015-11-24 03:00
For a few years, I was a tech nomad. See Team Red Cruising for some stories of life on a sailboat. Warning: it's pretty dull.

As a tech nomad, I lived and died (literally) by my ability to navigate. Modern GPS devices make the dying part relatively unlikely. So, let's not oversell the danger aspect of this.

The prudent mariner plans a long voyage with a great deal of respect for the many things which can go wrong. One aspect of this is to create a "Float Plan". Read more about it here: http://floatplancentral.cgaux.org.

The idea is to create a summary of the voyage, provide that summary to trusted shore crew, and then check in periodically so that the shore crew can confirm that you're making progress safely. Failure to check in is an indicator of a problem, and action needs to be taken. We use a SPOT Messenger to check in at noon (and sometimes at waypoints.)

Creating a float plan involved an extract of the waypoints from our navigation software (GPS NavX). I would enrich the list of waypoints with estimated travel time between the points.  Folding in a departure time would lead to a schedule that could be tracked. I also include some navigation hints in the form of a bearing between waypoints so we know which way to steer to find the next point.

The travel time is the distance (in  nautical miles) coupled with an assumption about speed (5 knots.) It's a really simple thing. But the core haversine calculation is not a first-class part of any spreadsheet app. Because of the degrees-to-radians conversions required, and the common practice of annotating degrees with a lot of internal punctuation (38°54ʹ57″ 077°13ʹ36″), it becomes right awkward to simply implement this as a spreadsheet.

Some clever software has a good planning mode. The chartplotter on the boat can do a respectable job of estimating time between waypoints. But. It's not connected to a computer or the internet. So we can't upload that information in the form of a float plan. The idea of copying the data from the chart plotter to a spreadsheet is fraught with errors.
NavtoolsEnter navtools. This is a library that I use to transform a route into a .csv with distances and bearings that I can use to create a useful float plan. I can add an estimated arrival time calculation so that a change to departure time creates the entire check-in schedule.

This isn't a sophisticated GUI app. It's just enough software to transform a GPS NavX extract file into a more useful form. The GUI was a spreadsheet (i.e., Numbers.) From this we created a PDF with the details.

Practically, we don't have good connectivity on the boat.  So we would create a number of alternative plans ("leave tomorrow", "leave the day after", "leave next Monday", etc.) we would go ashore, find a coffee shop, and email the various plans to ourselves. They could sit in our inbox, waiting for weather and tide to be favorable.

Then, when the weather and tides were finally aligned, we could forward the relevant details to our trusted shore crew. This was a quick spurt of cell phone connectivity to forward an email. It worked out well. When the scheduled departure time arrived, we'd coax Mr. Lehman to life, raise the anchor and away.
Literate ProgrammingThis is an exercise in literate programming. The code that's executed and the HTML documentation are both derived from source ReStructured Text (RST) documents. The documentation for the navigation module includes the math along with the code that implements the math.

I have to say that I'm enthralled with the intimate connection between requirements, design, and implementation that literate programming embodies.

I'm excited to (finally) publish the thing to GitHub. See https://github.com/slott56/navtools.  I'm looking at some other projects that require the navtools module. What I wind up doing is copying and pasting the navigation calculation module into other projects. I had something like three separate copies on my laptop. It was time to fold all of the features together, delete the clones, and focus on one authoritative copy going forward.

I still have to remove some crufty old code. One step at a time. First, get all the tests to pass. Then expunge the old code. Then make progress on the other projects that leverage the navtools.navigation module.
Categories: FLOSS Project Planets

Talk Python to Me: #35 Turbogears and the future of Python web frameworks

Planet Python - Tue, 2015-11-24 03:00
Do you have a new web project coming up? Are you thinking of choosing Django or maybe Flask? Those are excellent frameworks, but you might also want to check out TurboGears.<more></more> It was created and released around the same time as Django. It lets you starts your project as a microframework (like Flask) and yet can scale up to a fullstack solution (like Django). It also has built-in support both relational DBs (via SQLAlchemy) and MongoDB. This week Alessandro Molina is here to tell us all about TurboGears! Links from the show: <div style="font-size: .85em;"> <b>TurboGears</b>: <a href='http://turbogears.org/' target='_blank'>turbogears.org</a> <b>TurboGears presentations</b>: <a href='http://turbogears.org/welcome/presentations.html' target='_blank'>turbogears.org/welcome/presentations.htm</a> <b>TurboGears on Github</b>: <a href='https://github.com/TurboGears/tg2' target='_blank'>github.com/TurboGears/tg2</a> <b>Kajiki Templates</b>: <a href='http://pythonhosted.org/Kajiki/index.html' target='_blank'>pythonhosted.org/Kajiki</a> <b>Depot Library</b>: <a href='http://depot.readthedocs.org/en/latest/' target='_blank'>depot.readthedocs.org</a> <b>DukPy</b>: <a href='https://github.com/amol-/dukpy' target='_blank'>github.com/amol-/dukpy</a> <b>WebAssets</b>: <a href='https://webassets.readthedocs.org/en/latest/' target='_blank'>webassets.readthedocs.org</a> <b>TurboGears documentation on Genshi</b>: <a href='http://turbogears.readthedocs.org/en/latest/turbogears/genshi-xml-templates.html' target='_blank'>turbogears.readthedocs.org/en/latest/turbogears/genshi-xml-templates.html</a> <b>Ming (MongoDB in TurboGears basis)</b>: <a href='http://ming.readthedocs.org/en/latest/' target='_blank'>ming.readthedocs.org</a> <b>TurboGears micro-framework mode</b>: <a href='http://blog.axant.it/archives/545' target='_blank'>blog.axant.it/archives/545</a> <b>A WebAssets filter that compiles ES6 to ES5 using DukPy and BabelJS</b>: <a href='https://gist.github.com/amol-/25bd86dfc630bf43aab2' target='_blank'>gist.github.com/amol-/25bd86dfc630bf43aab2</a> <b>Recent Python WebSIG thread on evolving WSGI for HTTP2 and asyncio</b>: <a href='https://mail.python.org/pipermail/web-sig/2014-October/005340.html' target='_blank'>mail.python.org/pipermail/web-sig/2014-October/005340.html</a> <b>Master-Slave DB support in TurboGears</b>: <a href='http://turbogears.readthedocs.org/en/latest/cookbook/master-slave.html' target='_blank'>turbogears.readthedocs.org/en/latest/cookbook/master-slave.html</a> <b>The project Alessandro mentioned during the episode that has been created in less than 1 hour starting as a single file and scaling up</b>: <a href='http://previewstrap.axantlabs.com/' target='_blank'>previewstrap.axantlabs.com</a> </div>
Categories: FLOSS Project Planets

"Menno's Musings": IMAPClient 1.0.0

Planet Python - Mon, 2015-11-23 23:45

IMAPClient 1.0.0 is finally here! This is a monster release, bursting with new features and fixes.

Here's the highlights:

Enhanced TLS support: The way that IMAPClient establishes TLS connections has been completely reworked. By default, IMAPClient will attempt certificate verification and certificate hostname checking, and will not use known-insecure TLS settings and protocols. In addition, TLS parameters are now highly configurable.

This change necessitates that backwards compatibility has been broken, and also means that IMAPClient has a bunch of new dependencies. Please see the earlier blog article about the TLS changes as well as the release notes for more information.

STARTTLS support: When the server supports it, IMAPClient can now establish an encrypted connection after initially starting with an unencrypted connection using the STARTTLS command. The starttls method takes an SSL context object for controlling the parameters of the TLS negotiation.

Many thanks to Chris Arndt for his extensive initial work on this.

Robust search criteria handling: IMAPClient's methods that accept search criteria have been changed to provide take criteria in a more straightforward and robust way. In addition, the way the charset argument interacts with search criteria has been improved. These changes make it easier to pass search criteria and have them handled correctly.

Unfortunately these changes also mean that small changes may be required to existing code that uses IMAPClient. Please see the earlier blog article about the search changes as well as the release notes for more information.

Socket timeout support: IMAPClient now accepts a timeout at creation time. The timeout applies while establishing the connection and for all operations on the socket connected to the IMAP server.

Semantic versioning: In order to better indicate version compatibility to IMAPClient's users, the project will now strictly adhere to the Semantic Versioning scheme.

Performance optimisation for parsing message id lists: A short circuit is now used when parsing a list of message ids which greatly speeds up parsing time.

Installation via wheels: In addition to .zip and .tar.gz files, IMAPClient releases are now also available as universal wheels.

There have also been many other smaller fixes and improvements. See the release notes and manual for more details.

IMAPClient can be installed from PyPI (pip install imapclient) or downloaded via IMAPClient site.

This release couldn't have been possible with the amazing support of Nylas. If you're developing software that needs to deal with email, save yourself a whole lot of pain and check out their email platform. If you're after a modern, extensible, cross-platform email client check out N1.

Categories: FLOSS Project Planets

Pantheon Blog: Explicit Drupal: Clear Intentions in Drupal 8!

Planet Drupal - Mon, 2015-11-23 22:36
Much of the conversation in the Drupal 8 development cycle has focused on “NIH vs. PIE.” In Drupal 8 we have replaced a fear of anything “Not-Invented-Here” with an embrace of tools that were “Proudly-Invented Elsewhere.” In practice, this switch means removing “drupalisms,” sections of code created for Drupal that are understood only by (some) Drupal developers. In their place, we have added external libraries or conventions used by a much wider group of people.
Categories: FLOSS Project Planets

OSTraining: Put Drupal Sites in Maintenance Mode Manually

Planet Drupal - Mon, 2015-11-23 22:14

Drupal allows to set a website offline with a few clicks via the admin interfacte.

However, we've seen situatuons where the admin interface becomes unavailable, often via a white screen of death.

In this tutorial, I'm going to show you a manual way to force your Drupal 7 site in maintenance mode.

Categories: FLOSS Project Planets

Django Weblog: Introducing the DSF&amp;#39;s Director of Advancement

Planet Python - Mon, 2015-11-23 20:32

In January of this year, the DSF ran a fundraising campaign with the intention of funding the DSF Fellowship. This fundraising drive enabled us to fund the Fellow for almost all of 2015.

However, since that initial fundraising drive, our fundraising efforts have not been as successful. If the DSF Fellowship is to continue, we're going to need to raise more money very soon.

What has become clear over this year is that it takes a lot of dedicated time and effort to execute a successful fundraising campaign. It's a job that requires persistence, regular follow-ups, and a specific set of people skills - things that are difficult for a community to provide on a volunteer basis. Given the importance of the DSF Fellowship to the long term maintenance of Django, we've decided to seek some professional help to raise the next round of funds for the DSF.

Adrienne Lowe is an organiser of PyLadies ATL and DjangoGirls ATL; she has also spoken at DjangoCon Europe, and maintains the DjangoGirls Your Django Story project. As well as being a notable contributor to the Django ecosystem, she's also a professionally trained chef (and baker of extremely delicious cookies).

In a past life, Adrienne directed fundraising efforts for a US university. Given her interest in the Django community, and her experience as a fundraiser, Adrienne has taken up a paid, part-time position as the Director of Advancement (that's a fancy word used for fundraising by philanthropic types).

The Director of Advancement position will run in much the same way as the Fellowship pilot program. We'll try this for three months to see if it works; if it does, the DSF will commit to funding the position full time.

So - if you're involved with the Django community, you can expect to be hearing from Adrienne in the near future as she comes knocking looking for donations of the DSF. If you've got any hot tips for people or companies to contact, please get in touch

Categories: FLOSS Project Planets

Greater Los Angeles Drupal (GLAD): GLADCamp 2016 is at SCALE 14x on January 21, 2016!

Planet Drupal - Mon, 2015-11-23 17:43

Greater Los Angeles Drupal Camp (GLADCamp) is a full day of Drupal on January 21st, 2016, at the Pasadena Convention Center in Pasadena, California.

We've partnered with SCALE 14x, the 14th annual Southern California Linux Expo, and are planning an all-day event that's packed with activities, including presentations and sessions.

GLADCamp has a focus on "Drupal for good" and civic engagement. We're still looking for a partner venue where we can feature either a non-profit summit or a Coder's with a Cause "barn raising" to benefit a local 501c3 non-profit, but for now we're ready to announce GLADCamp on January 21st, 2016.

Are you looking forward to warmer weather? Join us at GLADCamp, the sunniest DrupalCamp of the season!

We'll be announcing our call for presentations in the next couple of days.

Stay tuned to this event announcement, the GLADCamp.org website and @GLADCamp on Twitter for upcoming news and announcements.

Register for GLADCamp 2016

To register for GLADCamp 2016, you must register for SCALE. See the SCALE website for more information or register now at https://reg.socallinuxexpo.org/reg6/  

Who should attend GLADCamp?
  • Anyone wanting to know more about how Drupal can help you solve your problems.
  • Anyone wanting to network with others using Drupal in your area, either geographically or in your industry.
  • Anyone wanting to grow their Drupal team, or be hired for Drupal work.
  • Anyone wanting to give back to the Drupal community. The power of Drupal is in the community so contributing back helps us all.
  • Anyone wanting to learn more about Drupal, past, present and the future.
  • Non-profits wanting to learn how to use Open Source and Drupal to amplify your efforts.
GLADCamp needs you!

We can't do it without your help. We need volunteers to help with the following activities:

  • Join the session selection committee! We need a team that accurately reflects our community and expected attendees;
  • Help with info/registration desk (2 hour shifts); answer questions, sign attendees in;
  • Be a timekeeper at sessions in order to keep our presentations on schedule;
  • Join our video team and help record sessions and assist presenters with screen recording software;
  • Design and print signs, posters and badges for GLADCamp; we can provide logo and brand guidelines;
  • Wrangling volunteers for day-of tasks;
  • Organize evening reception, including help finding a location near the Pasadena Convention Center;
  • Print designers: design and print common area signs, posters, badges;
  • GLADCamp set-up and breakdown!
Tags: Planet Drupal
Categories: FLOSS Project Planets
Syndicate content