FLOSS Project Planets

Justin Mason: Links for 2014-09-16

Planet Apache - Tue, 2014-09-16 18:58
Categories: FLOSS Project Planets

Matthew Garrett: ACPI, kernels and contracts with firmware

Planet Debian - Tue, 2014-09-16 17:51
ACPI is a complicated specification - the latest version is 980 pages long. But that's because it's trying to define something complicated: an entire interface for abstracting away hardware details and making it easier for an unmodified OS to boot diverse platforms.

Inevitably, though, it can't define the full behaviour of an ACPI system. It doesn't explicitly state what should happen if you violate the spec, for instance. Obviously, in a just and fair world, no systems would violate the spec. But in the grim meathook future that we actually inhabit, systems do. We lack the technology to go back in time and retroactively prevent this, and so we're forced to deal with making these systems work.

This ends up being a pain in the neck in the x86 world, but it could be much worse. Way back in 2008 I wrote something about why the Linux kernel reports itself to firmware as "Windows" but refuses to identify itself as Linux. The short version is that "Linux" doesn't actually identify the behaviour of the kernel in a meaningful way. "Linux" doesn't tell you whether the kernel can deal with buffers being passed when the spec says it should be a package. "Linux" doesn't tell you whether the OS knows how to deal with an HPET. "Linux" doesn't tell you whether the OS can reinitialise graphics hardware.

Back then I was writing from the perspective of the firmware changing its behaviour in response to the OS, but it turns out that it's also relevant from the perspective of the OS changing its behaviour in response to the firmware. Windows 8 handles backlights differently to older versions. Firmware that's intended to support Windows 8 may expect this behaviour. If the OS tells the firmware that it's compatible with Windows 8, the OS has to behave compatibly with Windows 8.

In essence, if the firmware asks for Windows 8 support and the OS says yes, the OS is forming a contract with the firmware that it will behave in a specific way. If Windows 8 allows certain spec violations, the OS must permit those violations. If Windows 8 makes certain ACPI calls in a certain order, the OS must make those calls in the same order. Any firmware bug that is triggered by the OS not behaving identically to Windows 8 must be dealt with by modifying the OS to behave like Windows 8.

This sounds horrifying, but it's actually important. The existence of well-defined[1] OS behaviours means that the industry has something to target. Vendors test their hardware against Windows, and because Windows has consistent behaviour within a version[2] the vendors know that their machines won't suddenly stop working after an update. Linux benefits from this because we know that we can make hardware work as long as we're compatible with the Windows behaviour.

That's fine for x86. But remember when I said it could be worse? What if there were a platform that Microsoft weren't targeting? A platform where Linux was the dominant OS? A platform where vendors all test their hardware against Linux and expect it to have a consistent ACPI implementation?

Our even grimmer meathook future welcomes ARM to the ACPI world.

Software development is hard, and firmware development is software development with worse compilers. Firmware is inevitably going to rely on undefined behaviour. It's going to make assumptions about ordering. It's going to mishandle some cases. And it's the operating system's job to handle that. On x86 we know that systems are tested against Windows, and so we simply implement that behaviour. On ARM, we don't have that convenient reference. We are the reference. And that means that systems will end up accidentally depending on Linux-specific behaviour. Which means that if we ever change that behaviour, those systems will break.

So far we've resisted calls for Linux to provide a contract to the firmware in the way that Windows does, simply because there's been no need to - we can just implement the same contract as Windows. How are we going to manage this on ARM? The worst case scenario is that a system is tested against, say, Linux 3.19 and works fine. We make a change in 3.21 that breaks this system, but nobody notices at the time. Another system is tested against 3.21 and works fine. A few months later somebody finally notices that 3.21 broke their system and the change gets reverted, but oh no! Reverting it breaks the other system. What do we do now? The systems aren't telling us which behaviour they expect, so we're left with the prospect of adding machine-specific quirks. This isn't scalable.

Supporting ACPI on ARM means developing a sense of discipline around ACPI development that we simply haven't had so far. If we want to avoid breaking systems we have two options:

1) Commit to never modifying the ACPI behaviour of Linux.
2) Exposing an interface that indicates which well-defined ACPI behaviour a specific kernel implements, and bumping that whenever an incompatible change is made. Backward compatibility paths will be required if firmware only supports an older interface.

(1) is unlikely to be practical, but (2) isn't a great deal easier. Somebody is going to need to take responsibility for tracking ACPI behaviour and incrementing the exported interface whenever it changes, and we need to know who that's going to be before any of these systems start shipping. The alternative is a sea of ARM devices that only run specific kernel versions, which is exactly the scenario that ACPI was supposed to be fixing.

[1] Defined by implementation, not defined by specification
[2] Windows may change behaviour between versions, but always adds a new _OSI string when it does so. It can then modify its behaviour depending on whether the firmware knows about later versions of Windows.

comments
Categories: FLOSS Project Planets

Omaha Python Users Group: September 17 Meeting Details

Planet Python - Tue, 2014-09-16 17:39

Location – a conference room at Gordmans in Aksarben thanks to Aaron Keck.

Meeting starts at 7pm, Wednesday, 9/17/14

Parking and entry details:

The building is the northwest corner of 67th and Frances and the Gordmans entrance is next to the “g” sign, about midway along the building. There’s parking directly out front, but it sometimes fills up in the evenings. The garage around back is open to the public after 5:30 or 6 as well.

The building doors lock at 5, so Aaron will be standing by to badge people in starting around 6:45. If you’re running late, or early, just shoot him an email.

Categories: FLOSS Project Planets

Steinar H. Gunderson: The virtues of std::unique_ptr

Planet Debian - Tue, 2014-09-16 17:30

Among all the changes in C++11, there's one that I don't feel has received enough attention: std::unique_ptr (or just unique_ptr; I'll drop the std:: from here on). The motivation is simple; assume a function like this:

Foo *func() { Foo *foo = new Foo; if (something_complicated()) { // Oops, something wrong happened return NULL; } foo->baz(); return foo; }

The memory leak is obvious; if something_complicated() returns false, we presumably leak foo. The classical fix is:

Foo *func() { Foo *foo = new Foo; if (something_complicated()) { delete foo; return NULL; } foo->baz(); return foo; }

But this is cumbersome and easy to get wrong. Tools like valgrind have made this a lot easier to detect, but that's a poor substitute; what we want is a coding style where it's deliberately hard to make mistakes. Enter unique_ptr:

Foo *func() { unique_ptr<Foo> foo(new Foo); if (something_complicated()) { // unique_ptr<Foo> destructor deletes foo for us! return NULL; } foo->baz(); return foo.release(); }

So we have introduced a notion of ownership; the function (or, more precisely, scope) now owns the Foo object. The only way we can leave the function and not have it destroyed is through an explicit call to release() (which returns the raw pointer and clears the unique_ptr). We have smart pointer semantics, so we can use -> just as if we had a regular pointer. In any case, the runtime overhead over a regular pointer is exactly zero.

Ownership does, of course, extend just fine to classes:

class Bar { public: Foo() : foo(new Foo) {} private: unique_ptr<Foo> foo; };

In this case, the Bar object owns the Foo object, and will destroy it when it goes out of scope without having to do a manual delete in the destructor, operator= and so on; not to mention that it will make your object non-copy-constructible, so you won't get that wrong by mistake. (In this case, you could do the same just by “Foo foo;” instead of using unique_ptr, of course, modulo the copy constructor behavior and heap behavior.)

So far, we could do all of this in C++03. But C++11 includes a very helpful extra piece of the puzzle, namely move semantics. These allow us to transfer the ownership safely:

class Bar { public: Bar(unique_ptr<Foo> arg_foo) : foo(foo) {} private: unique_ptr<Foo> foo; }; void func() { unique_ptr<Foo> foo(new Foo); // Do something with foo. Bar bar(move(foo)); // ... }

Below the Bar constructor line, foo is empty, and bar owns the Foo object! And at no point, the object was without an owner; if there's no more code in the function, bar will get immediately destroyed, and the Foo object with it (since it has ownership). It also deals just fine with exception safety.

If you program with unique_ptr, it is genuinely very hard to get memory leaks. And it's much better than Java-style garbage collection; you don't get the RAM overhead GC needs, your objects are destroyed at predictable times, and destructors are run, so you can get reliable behavior on things like file handles, sockets and the likes, without having to resort to manual cleanup in a finally block. (In a sense, it's like a refcount that can only ever be 0 or 1.)

It sounds so innocuous on paper, but all great ideas are simple. So, go forth and unique_ptr!

Categories: FLOSS Project Planets

digiKam Software Collection 4.3.0 released...

Planet KDE - Tue, 2014-09-16 16:43

Dear digiKam fans and users,

The digiKam Team is proud to announce the release of digiKam Software Collection 4.3.0. This release includes some new features:

read more

Categories: FLOSS Project Planets

Ben's SEO Blog: Top SEO Factors for Drupal in 2014

Planet Drupal - Tue, 2014-09-16 16:26

On Sept 15, 2014, Searchmetrics released their 2014 Ranking Factors Study. In it, they analyzed 10,000 search results and created correlations between characteristics of websites and their rankings. In other words, webites that rank high, do x. Sites that ranks low, do y. For this blog post, I’m leaving out things like Backlinks (factor 4, 9, 12, etc.) because - as far as I know - there just aren’t that many modules or settings that can help you with it.

Now, with all the usual caveats about correlations not equaling causation, here’s a list of their top correlated ranking factors that can be influenced with the proper use of Drupal and/or a module. (A quick note about correlations. Um...NM. Just read this.)

Factor 1: Click-Through Rate

People that click in the search engines, want to visit relevant and interesting websites.

Correlation: .65 (Pretty Strong)

Now, take this with a grain of salt. Of course sites with high rankings have a high click-through rate. They're at the top of Google. Still, there are some things you can do to increase your click-through rate and that's never a bad thing.

How to influence your website's click-through rate in Google.

Make your listing in Google as interesting as possible to make it stand out from everyone else. Use your target keyword at least once in the title (Factor 45) and in the description (Factor 40). Make sure the keyword is used as close to the beginning of the Title tag as you can (Factor 27 & 29). Google bolds words that match the search so your listing will stand out.

Module(s) that increase your click-through rate:
  • Metatag - Write great, optimized Title Tags and great Meta Descriptions (Factor 35).

  • Custom Breadcrumbs - If they’re available, Google search results will list breadcrumbs instead of the URL. It looks nicer.

    source: loseyourmarbles.co

  • Schema.org - Highlights events or product ratings that will make your listing stand out and give you extra links in the search results.

Factor 2: Relevant terms

People search for topical content, not just specific keywords. Including keywords that are not exact or are on related topics can help your rankings.

Correlation: .34 (Weak) How to increase the number of SEO relevant terms on your Drupal website.

Think about topics and organization based on topical areas, not just keywords. Create topical silos in your site content. Write your content using a list of terms, not just a single term.

Module(s) that increase the SEO relevant terms on your site:
  • Path & PathAuto: Create paths that naturally organize your content by topical areas.

  • Taxonomy: Tag content with appropriate terms. Tags link to term pages. Term pages link to related content. That connection helps.

Factor 3: Google +1

People love to share great content so top ranking content tends to have a lot of shares. This also encompasses Facebook Shares (Factor 5), Facebook Total (Factor 6), Facebook Comments (Factor 7), Pinterest (Factor 8) Facebook Likes (Factor 10), and Tweets (Factor 11). Social is very important to SEO!

Correlation: .33 (Weak) How to increase your social shares on a Drupal website

Write great, unique, sharable content. Make it easy to share by sharing it first. (Retweets and likes are easier than sharing it yourself.)

Module(s) that increase social sharing on Drupal

By the way…if this blog post is helpful, please share it to your favorite social network! :)

(Note: Factor 4 - 18 are almost all either Linking or Social. These are very important factors that are outside the scope of this article.)

Factor 18: Number of Internal Links

Linking to yourself is a good indicator of the quality of a piece of content.

Correlation: .16 (Very Weak) How to increase the number of internal links

Link to your own great content! Use keywords in your internal links for extra credit. (factor 30)

Module(s) for internal linking on a Drupal website
  • aLinks - Use this module judiciously. For example, set up links to your taxonomy term pages for your top keywords or topics.

  • Menu - Build menus of great content. Use them throughout your site. Those links are valuable!

  • Taxonomy - As mentioned above, tag your content. Drupal automatically creates the links.

  • Solr's More Like This - Adds links to related content using Apache Solr.

Factor 20: Keywords in the Body

It’s just logical. If you want to rank for a certain term, you’ve got to have that term on the page.

Correlation: .15 (Very Weak) How to use keywords in the body

Use the target keyword once or twice in the body field of each node. Don’t write like a robot, though. That’s bad.

Module(s) to increase keyword use in the body
  • SEO Compliance Checker - Set up the rules to match these recommendations. SEO Checker will also look at other SEO-related things like use of keywords in the title or header.

Factor 21: HTML Length

Longer articles tend to rank better than shorter ones. I’m going to lump in Text Character length (factor 22), Word Count (factor 23) here as they’re practically the same correlation and meaning.

Correlation: .14 (Very Weak) How to increase HTML Length

Write longer content. (Seems pretty obvious...)

Modules(s) to help you write longer content
  • Rules or Workbench would allow you to create workflows that require certain body length.

  • Field Validation module could be set to require a certain length. Seems draconian to me but certainly possible.

Factor 24: Site speed

People don’t like to wait so don’t make them!

Correlation: .11 (Very Weak) How to increase your Drupal 7 website speed

Make your pages lean and mean. Use sitespeed testers available online such as in Google Webmaster Tools or (my favorite) in Chrome (hit command-i). Fix any problems or suggestions.

Module(s) that speed up Drupal 7

 

That’s it! Covering those 21 factors (7 major factors with another 14 mixed in for good measure) should be fairly straightforward for any Drupal 7 website owner. There are other factors as well but with correlations weaker than very weak, I’m just not sure they matter that much. Read about correlations here, by the way.

Miscellaneous SEO Factors and the Drupal Modules that affect them

Here’s a quick shotgun list of a lot of the remaining low-correlation factors and modules that might help.

 

Did I miss anything? Let me know in the comments.

Here's the full infographic if you'd like to see for yourself:

We look at the searchmetrics 2014 SEO factors and apply them to Drupal 7.drupal seo, Planet Drupal seo-ranking-factors-2014-big.png
Categories: FLOSS Project Planets

Drupal Watchdog: Upgrading Your Modules

Planet Drupal - Tue, 2014-09-16 16:03
Feature

Drupal's philosophy regarding backward compatibility is "the Drop is always moving". In order to create a framework that is as performant, scalable, and extensible as possible, each major release of Drupal can and will make changes, often radical changes, to its developer APIs in order to provide optimal solutions for Drupal users and developers.

To this end, Drupal 8, far more-so than any previous release, has undergone extensive refactoring under the hood. It sports an object-oriented architecture powered by Symfony components. In addition, it utilizes modern PHP (5.4 or later) best-practices, a new Plugin API that provides consistency for pluggable pieces such as blocks and image styles, a revamped and complete Entity and Field API, a new Configuration API to provide fully deployable settings, and numerous other great improvements.

The flip-side is that while a data migration path is always provided between major versions of Drupal for a site's content and users (and in Drupal 8's case, from both Drupal 6 and Drupal 7), migrating the code of contributed and custom modules is left for developers to do.

This article will therefore provide some starting points for folks trying to port their modules from Drupal 7 to Drupal 8. (If you still have Drupal 6 modules kicking around, the "Coder Upgrade" sub-module of Coder will get you a fair chunk of the way towards converting them to Drupal 7.)

Note that as of this writing, Drupal 8 is still in active development. While the hope is that by the time this article is published, Drupal 8 will be at least in beta, and the APIs relatively stable (apart from API changes necessary to fix critical issues), information here could still change prior to D8’s final release.

Categories: FLOSS Project Planets

LightSky: Columbus Mennonite Launches with LightSky

Planet Drupal - Tue, 2014-09-16 15:30

LightSky recently welcomed Columbus Mennonite Church to the ranks of Drupal users with the launch of their new Drupal 7 site.  Columbus Mennonite Church is located in Columbus, Ohio, and was looking for a site that would help them not only help drive their message to members of the community and welcome people with open arms, but also that could help streamline some internal processes among their congregation.  Drupal offered an excellent platform to build the Columbus Mennonite site on, giving them what they needed now, and not preventing them from growing into the future. 

While a responsive design wasn't in the works for Columbus Mennonite, careful attention was paid to how things worked and looked on devices of all sizes, and the Drupal platform provides Columbus Mennonite a firm foundation with which to add a responsive design down the road.  Columbus Mennonite's beautiful forward facing design isn't the end of what their site offers though, as we created a great members only functionality that allows them to share certain information on their site with only members.  This allows them to distribute information to their congregation without having to worry about whether or not it is appropriate for the general public to have access to.  For churches this is a much needed feature to keep the congregation in touch with each other in the digital age.  Not only is there a members only section, but LightSky was also able to streamline their worship scheduling allowing schedulers to make changes to individual responsibilities each week, while allowing the congregation to view the schedule and find out if their help is needed.

As part of this project LightSky launched the new site on Pantheon, a hosting platform that provides some of the best stability and uptime by being fine tuned for the Drupal framework.  

Categories: FLOSS Project Planets

Mediacurrent: A Discovery Phase: Starting a Drupal Web Project Off Right

Planet Drupal - Tue, 2014-09-16 15:10

If you have a new web project, one of the very first thoughts you probably have is ‘How much will it cost to build?’. The best tip I can give is if an agency has only received an RFP, no matter the level of details, it will not be enough to determine with any amount of accuracy how much a build will actually be.

Categories: FLOSS Project Planets

FSF Blogs: LibrePlanet is coming March 21-22, 2015: Propose a session!

GNU Planet! - Tue, 2014-09-16 15:04

Our Call for Sessions is open now, and you can also apply to volunteer or exhibit at LibrePlanet 2015. General registration will open in October.

You've got until Sunday, November 2nd, 2014 at 19:59 EST (23:59 UTC) to submit your proposals. We can't wait to see what you come up with!

This year, the theme of LibrePlanet is "Free Software Everywhere." We're looking for talks that touch on the many places and ways that free software is used around the world, as well as ways to make free software ubiquitous. Think "everywhere" in the broadest sense of the word--it's not just geography-based talks we're after. What are some contexts where free software is thriving, and some others where it needs a push? How have you worked to advance free software in your company or community? And what about free software on all of the myriad pieces of hardware we use, including laptops, phones, tablets, and even coffee makers? At LibrePlanet 2015, we're taking software freedom around the world, to outer space, and considering its role in industry, government, academia, community organizing, and personal computing.

Should I submit a session proposal for LibrePlanet?

Yes! We encourage speakers of all experience levels to submit a proposal. LibrePlanet is a great place for new and seasoned speakers alike. While LibrePlanet always includes technical talks, our program also emphasizes non-technical topics and topics that are appropriate for newcomers. We are especially interested to see proposals from people who use free software or apply its values for social benefit, from academic research to community organizing, education to medicine and the arts. LibrePlanet is committed to increasing the participation of speakers belonging to groups traditionally underrepresented at free software conferences, including women and people of color.

Some ideas for sessions
  • Sharing a story of how free software has been applied for social benefit
  • Tackling a threat or organizing challenge facing the free software movement
  • Demonstrating a new and exciting piece of software or development within an existing software project
  • Engaging youth, the future of the free software movement. We're looking for proposals for all age groups, from young children, to high school age, to college students
  • Thinking critically about challenges and opportunities facing the movement, and charting a path to victory
  • Bringing a key part of free software history to life
  • Giving newcomers a way to learn about free software principles and philosophy, and/or giving newcomers a way to start using free software in their daily lives

At LibrePlanet, we are looking for sessions that embrace the free software movement's ideals and also its language. For example, using "free software" is better than using "open source."

Volunteer for LibrePlanet

LibrePlanet depends on volunteer support during the planning process all the way through the event. We're looking for volunteers who want to help us with the planning and preparation work for LibrePlanet. Learn more about volunteering and sign up at LibrePlanet.org.

Promotional opportunities at LibrePlanet

LibrePlanet is the perfect place to spread the word about your organization to an inspired and engaged audience. We have two kinds of promotional opportunities for LibrePlanet 2015: exhibit tables and sponsorships. Exhibit tables will be located in a highly visible primary thoroughfare. Your table and program acknowledgement will reach hundreds of software developers, free software activists, academics, students, and computer users. You can apply for an exhibit table at LibrePlanet.org. Exhibitors will be accepted on a rolling basis until the hall fills, so apply early!

What makes LibrePlanet so special is the amazing contributions from our speakers, exhibitors, and volunteers. We can't wait to hear your ideas!

Categories: FLOSS Project Planets

LibrePlanet is coming March 21-22, 2015: Propose a session!

FSF Blogs - Tue, 2014-09-16 15:04

Our Call for Sessions is open now, and you can also apply to volunteer or exhibit at LibrePlanet 2015. General registration will open in October.

You've got until Sunday, November 2nd, 2014 at 19:59 EST (23:59 UTC) to submit your proposals. We can't wait to see what you come up with!

This year, the theme of LibrePlanet is "Free Software Everywhere." We're looking for talks that touch on the many places and ways that free software is used around the world, as well as ways to make free software ubiquitous. Think "everywhere" in the broadest sense of the word--it's not just geography-based talks we're after. What are some contexts where free software is thriving, and some others where it needs a push? How have you worked to advance free software in your company or community? And what about free software on all of the myriad pieces of hardware we use, including laptops, phones, tablets, and even coffee makers? At LibrePlanet 2015, we're taking software freedom around the world, to outer space, and considering its role in industry, government, academia, community organizing, and personal computing.

Should I submit a session proposal for LibrePlanet?

Yes! We encourage speakers of all experience levels to submit a proposal. LibrePlanet is a great place for new and seasoned speakers alike. While LibrePlanet always includes technical talks, our program also emphasizes non-technical topics and topics that are appropriate for newcomers. We are especially interested to see proposals from people who use free software or apply its values for social benefit, from academic research to community organizing, education to medicine and the arts. LibrePlanet is committed to increasing the participation of speakers belonging to groups traditionally underrepresented at free software conferences, including women and people of color.

Some ideas for sessions
  • Sharing a story of how free software has been applied for social benefit
  • Tackling a threat or organizing challenge facing the free software movement
  • Demonstrating a new and exciting piece of software or development within an existing software project
  • Engaging youth, the future of the free software movement. We're looking for proposals for all age groups, from young children, to high school age, to college students
  • Thinking critically about challenges and opportunities facing the movement, and charting a path to victory
  • Bringing a key part of free software history to life
  • Giving newcomers a way to learn about free software principles and philosophy, and/or giving newcomers a way to start using free software in their daily lives

At LibrePlanet, we are looking for sessions that embrace the free software movement's ideals and also its language. For example, using "free software" is better than using "open source."

Volunteer for LibrePlanet

LibrePlanet depends on volunteer support during the planning process all the way through the event. We're looking for volunteers who want to help us with the planning and preparation work for LibrePlanet. Learn more about volunteering and sign up at LibrePlanet.org.

Promotional opportunities at LibrePlanet

LibrePlanet is the perfect place to spread the word about your organization to an inspired and engaged audience. We have two kinds of promotional opportunities for LibrePlanet 2015: exhibit tables and sponsorships. Exhibit tables will be located in a highly visible primary thoroughfare. Your table and program acknowledgement will reach hundreds of software developers, free software activists, academics, students, and computer users. You can apply for an exhibit table at LibrePlanet.org. Exhibitors will be accepted on a rolling basis until the hall fills, so apply early!

What makes LibrePlanet so special is the amazing contributions from our speakers, exhibitors, and volunteers. We can't wait to hear your ideas!

Categories: FLOSS Project Planets

FSF News: LibrePlanet is coming March 21-22, 2015, call for proposals now open for annual free software conference

GNU Planet! - Tue, 2014-09-16 14:56

LibrePlanet is an annual conference for free software enthusiasts. The conference brings together software developers, policy experts, activists and computer users to learn skills, share accomplishments and face challenges to software freedom. Newcomers are always welcome, and LibrePlanet 2015 will feature programming for all ages and experience levels.

This year, the theme of LibrePlanet is "Free Software Everywhere." The call for sessions seeks talks that touch on the many places and ways that free software is used around the world, as well as ways to make free software ubiquitous. Proposals are encouraged to consider "everywhere" in the broadest sense of the word. LibrePlanet 2015 will take software freedom around the world, to outer space, and consider its role in industry, government, academia, community organizing, and personal computing.

"LibrePlanet is one of the most rewarding things we do all year. This conference brings people from all over the planet who want to make the world a better place with free software," said John Sullivan, executive director of the FSF.

Call for Sessions

"I hope we'll receive session proposals from people with all levels of speaking and technical experience; you don't have to be a coder to speak at LibrePlanet. Free software users, activists, academics, policymakers, developers, and others are all key contributors to the free software movement, and we want to showcase all of these skills at LibrePlanet 2015," said Libby Reinish, a campaigns manager at the FSF.

Call for sessions applications are currently being accepted at https://www.libreplanet.org/2015/call_for_sessions and are due by Sunday, November 2nd, 2014 at 19:59 EST (23:59 UTC).**

About LibrePlanet

LibrePlanet is the annual conference of the Free Software Foundation, and is co-produced by the Student Information Processing Board. What was once a small gathering of FSF members has grown into a larger event for anyone with an interest in the values of software freedom. LibrePlanet is always gratis for associate members of the FSF. To sign up for announcements about LibrePlanet 2015, visit https://www.libreplanet.org/2015.

LibrePlanet 2014 was held at MIT from March 22-23, 2014. Over 350 attendees from all over the world came together for conversations, demonstrations, and keynotes centered around the theme of "Free Software, Free Society." You can watch videos from past conferences at http://media.libreplanet.org.

About the Free Software Foundation

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

More information about the FSF, as well as important information for journalists and publishers, is at https://www.fsf.org/press.

Media Contacts

Libby Reinish
Campaigns Manager
Free Software Foundation
+1 (617) 542 - 5942
campaigns@fsf.org

###

Categories: FLOSS Project Planets

Steve Kemp: Applications updating & phoning home

Planet Debian - Tue, 2014-09-16 14:42

Personally I believe that any application packaged for Debian should neither phone home, attempt to download plugins over HTTP at run-time, or update itself.

On that basis I've filed #761828.

As a project we have guidelines for what constitutes a "serious" bug, which generally boil down to a package containing a security issue, causing data-loss, or being unusuable.

I'd like to propose that these kind of tracking "things" are equally bad. If consensus could be reached that would be a good thing for the freedom of our users.

(Ooops I slipped into "us", "our user", I'm just an outsider looking in. Mostly.)

Categories: FLOSS Project Planets

Reprise of Akademy 2014: KCM for network manager

Planet KDE - Tue, 2014-09-16 14:22

Based on a BoF workshop and discussions during the Akademy 2014, we present a proposal for discussion how to integrate the network manager settings into KDE's system setting.

Keep on reading: Reprise of Akademy 2014: KCM for network manager

Categories: FLOSS Project Planets

CiviCRM Blog: Sprinting in the wilds of Maryland

Planet Drupal - Tue, 2014-09-16 12:02

We're approaching the middle of the third day of the 2014 East Coast code sprint, situated in a bucolic farmhouse just outside of Frederick, Maryland. The location has made this sprint a little different, with some people being able to commute back and forth. In total, 14 or so sprinters have been working on webtests, improvements to CiviVolunteer, and improvements to buildkit for all platforms, which some renewed focus on Joomla and Wordpress. It's looking promising that buildkit will be fully supporting all the CMS platforms by the end of the sprint, making it even easier to contribute.

As this was my first sprint, I wasn't completely sure what to expect. In between some intense, heads-down work, we've found time for decompression as well. We've worked in great meals on the various porches at the farmhouse, great conversation around the firepit, and a spirited round of "The Greatest Game Ever." Monday also included a spirited discussion on forms strategy for Civi 5.0 focusing on usability and a robust architecture that will allow CiviCRM to integrate more seamlessly with all the CMS platforms and work in responsive design frameworks. This release is on track to provide an amazing level of capability and flexibility for developers while being the most user-focused release of CiviCRM yet.

While the work at the sprint has been focused on Civi, the time with other developers has been invaluable as well. It's been a great experience to have candid and in-depth conversations with developers on Drupal, Joomla, and Wordpress covering not only infrastructure, but also challenges and best practices. While there are plenty of conferences and events where you do effective networking, it is rare to be able to spend both work and leisure time together. Getting to work together and in person with this extended set of collegues is already providing me with a lot of tools to take back to my company and to contribute even more to CiviCRM.

If you haven't considered participating in the community, or haven't done it in awhile, it's worth a look. You can make a measurable contibution, and you'll get so much more out than you put in.

 

Categories: FLOSS Project Planets

Drupal Association News: Drupal Job Market Survey 2014: Drupal Skills Continue to be in High Demand

Planet Drupal - Tue, 2014-09-16 11:05

If you have Drupal skills, or you are with a company that designs, builds or deploys Drupal websites, the good news is: business is strong.

According to a recent survey conducted by the Drupal Association, 82% percent of employers seeking Drupal talent expect to hire within the next six months, with 40% saying they are “constantly hiring Drupal talent”.  A whopping 92% of hiring managers surveyed say the market needs more Drupal talent to meet their needs. See the infographic.  

The positions most sought after by employers are:

  • Developers
  • Themers
  • Site Builders

Why do employers need so much Drupal talent? Over 75% percent of those businesses constantly hiring Drupal talent point to business growth. 

The vast majority of Drupal talent who responded say they feel their skills are “very” valuable and that there are typically many open positions. The top criteria for job seekers are location, compensation, and whether the organization provides time to work on the Drupal project.

It’s no surprise Drupal talent is in high demand from employers. To fill their needs, employers can clearly define their requirements in order ensure the best fit, and be as flexible as possible with regards to geographic location. For talent seeking new opportunities, flexibility is also important and there are opportunities to invest time building a broad skill set with a variety of projects on their resume in order to have the best chance to land the perfect job.

For anyone considering a career in Drupal, these finding point to a bright future. 

Click the image to see the infographic.

 

 

Categories: FLOSS Project Planets

Noirin Plunkett: F Yeah!

Planet Apache - Tue, 2014-09-16 10:10

TL;DR: Give The Ada Initiative $128 today (or $10/month), and you’ll get the coolest sticker I’ve seen in ages!

For a long time, I was afraid to use the F-word. I studied CS, linguistics & German at university, and got into open source as a user and documentation contributor, more than a decade ago. I pretty quickly moved on to more community- and event-organisational things in my hobby/open source work, while continuing as a tech writer in my professional work (which has been a mix of open source and not).

And throughout my education, and my early open source days, I really tried to be “one of the guys”. It was hard, but I got good at it. I was elected to the board of the Apache Software Foundation, and appointed Executive Vice President of the Foundation. I remain the only woman to have achieved either of those distinctions. And when I did, I was told–on a mailing list!–that whether or not I was comfortable with the choice of imagery, I had big balls.

By then, though, I had realised that something was broken. Why should I need to have balls, whatever their size, metaphorical or literal, to do something I loved and was good at? Why should I have to adapt myself to fit an environment that was built by and for people who weren’t like me?

The Ada Initiative was still just an idea, without a real shape, or even a name, at that time. But as that shape emerged, from the two awesome women who founded it, through the group of role models and inspirations who advise and continue to run it, to the innumerable supporters who make it possible, it has made real and lasting change. It has provided a welcoming environment of its own, and has given many other groups the tools they needed to adapt the environments they had built, to be inclusive of people who weren’t like them.

Right now, I’m working–and being paid!–to help organize AdaCamp Berlin. This is literally a dream come true for me: volunteer work is amazing, but it has to be singing in a choir or it very quickly leads to burnout. Seeing the huge demand for AdaCamp Berlin, as well as the interest from other folk in running similar events in the future, is incredibly rewarding. And being paid for the value I bring is an important act of feminism.

The Ada Initiative is doing amazing work, but it needs individual donations, not just ethical corporate sponsors, to keep it going. Donate today to help us run more AdaCamps and Ally Skills Workshops, and develop more programs like our Anti-Harassment Policy and our Impostor Syndrome Training.

And, if you give $128 (or $10/month), you can get an awesome sticker pack, including the F-Word sticker designed just for this campaign! Stick it to your laptop, or to the man–it’s up to you

Categories: FLOSS Project Planets

Drupal Easy: Drupal Career Online: Pros and Cons of Acquia Dev Desktop Version 2

Planet Drupal - Tue, 2014-09-16 10:08

Since we started our long-form Drupal Career Starter Program in 2011, we've always struggled a bit trying to find a single local Apache-MySql-PHP stack that is powerful enough for day-to-day Drupal development, easy to set up, and that works for a wide range of people new to local web development.

We're always on the lookout for a local Drupal development stack that will help to reinforce the lessons and best practices that we strive to instill in all of our students. It's pointless to teach students methods and processes that aren't typically found in the community, so being able to bring students up-to-speed as quickly as possible with things like Drush, Git, and commonly-used workflows is of the utmost importance.

Generally, we've stuck with a combination of Acquia Dev Desktop (version 1), Uniform Server, and DrupalPro, depending on each student's skill level and previous experience.

Until recently, we've always had more Windows users than Mac or Linux users (combined!), and usually didn't run into any problems until we introduced Drush, Git, and other Linux-y command line tools, at which point Mac and Linux users spent a lot of time attempting to help Windows users get Drush installed.

When Acquia Dev Desktop 2 was made available, the list of features definitely piqued our interest. Integration with Acquia Cloud is nice (similar to what Kalabox does for Pantheon), but what we were really excited about was the Drush integration.

Since we are using Acquia Dev Desktop 2 for the first time with our 2014 Fall Drupal Career Online program, we thought it would make sense to run through the pros and cons from a training perspective.

-->

read more

Categories: FLOSS Project Planets

Sitting on the Shoulders of Giants

Planet KDE - Tue, 2014-09-16 10:00

I could write a whole series of blog posts about my Akademy 2014 experience, but

  1. I’m not motivated to do that
  2. You might get bored half-way through

Therefore I’ll try to summarize some of my impressions (and provide insight into the “rusty trombone conspiracy”).

The Talks

First of all, the talks: The two keynotes were both awesome!

Sascha Meinrath told us about the strong connection between Free Software and political activism in the opening keynote, and how crucial our work in Free Software is for a future where citizens are still free instead of constantly being watched and manipulated by companies and governments. I found it very inspiring, because its political implications are one of the major factors that draw me to Free Software.

Cornelius Schumacher‘s community keynote taught us how we all benefit from our involvement with KDE and why he and other long-time KDE contributors are doing what they’re doing. It’s always great to hear the stories of “the elders”. It’s a bit like grampa telling stories from WWII. ;)

Of course there were countless other great talks, too (see also the summary of day 1 and day 2 on the Dot, and the program for video recordings and slides).

The Story Behind the Rusty Trombone

Those of you who have attended Akademy or watched the talks by Àlex Fiestas, Björn Balazs or Jens Reuterberg and myself may have wondered why a certain term came up in each of them: rusty trombone. This sounds innocuous at first, but a quick trip to your ever-helpful Urban Dictionary will reveal that, while “harmless”, it isn’t a term you should utter at a dinner party if there is a chance someone at the table might know what you are referring to.

So how did this term enter our talks? Well, it happened as follows: On Thursday morning, yours truly boarded a train in Langen, suspecting nothing. I had read about a group of Akademy attendees organizing a trip from Berlin to Brno that day, but since my connection did not go via Berlin itself, I thought I’d have nothing to do with them. Therefore I was – of course pleasantly – surprised when I saw Mirko Boehm and Patrick Spendrin at Dresden train station. I then learned that there were quite a few more fellow KDEians on that train, among them Paul Adams. Paul always has an odd story or two to tell, one of those was about a contest which was once held to find a combination of two words which, when entered into Google, would only yield Urban Dictionary or pages linking to it as the top results. One of those was “rustry trombone”. None of the other people in the cabin new what it meant (or at least pretended not to know), so Paul explained it to us, in a vivid-enough way.

Fast forward to Saturday night. We had planned to have dinner together with everyone from the visual design and usability groups (namely Andrew Lake and his husband, conveniently also named Andrew, Jens, Björn, Heiko Tietze and myself), and Àlex decided to join us, too. When I told the others about my trip to Brno, the “rusty trombone” story came up, too. Nobody had heard the term yet (or at least pretended not to have heard it) and of course they wanted to know what it meant. I found just telling them to be too easy, so instead we turned it into a quiz. It took the group quite a while to find out what rusty trombone means, and of course the most fun part were the ideas people came up with what it could be.

After the mystery was solved, someone from the group had the idea that since most of us were giving a talk the next day, we all should try to incorporate “rusty trombone” into it. Andrew chickened opted out because – as his husband confirmed – he would not be able to continue his talk afterwards with even the least amount of seriousness. All the rest promised that all our talks would contain the magic words at least once.

I don’t want to spoil the fun for you by telling you how we (or actually everyone but myself, because I thought that having Jens mention it in our combined talk would be enough, to Björn’s utter disappointment) managed to integrate “rusty trombone” in our talks. Just watch the talks (linked above) and look and listen carefully. Àlex, Björn and Jens really mastered the art of injecting the words into their talks in a way that people who didn’t know what they meant (there were fewer and fewer of those with each of our talks, of course) probably wouldn’t have noticed anything suspicious.

Tales from the User Interface Design Room

For Monday and Tuesday, we had booked a room specifically for user interface design topics. The idea was that anyone could come to us to get input on their user interfaces from visual and interaction designers.

Three people used that opportunity: Jan Grulich for the Network Management System Settings module, Michael Bohlender for his email client which we now codenamed “NextMail”, and Friedrich Kossebau for “Workspace-wide services on non-file objects”. All three design sessions were very productive. In all of them, we aimed at striking the best balanced between “as simple as possible” and “as complex as necessary”, which isn’t easy when dealing with complex matters such as setting up a VPN or dealing with multiple email accounts each with a complex folder hierarchy or with mailing lists vs. regular email conversations, or with a theoretically unlimited number of services which can be offered for dealing with any object (such as an address in a text, or an image in a PDF). More details about the results of these sessions will surely pop up somewhere on Planet KDE over the next weeks.

Another very interesting session was “Human-Centered Design for the KDE HIG”: In that session, we applied one of the standard methods in human-centered design, the usability test, to the KDE Human Interface Guidelines. We had two developers (Frederik Gladhorn and Kai Uwe Broulik) test the HIG as its users. They could choose a task for which they would consult the HIG and then try to complete it live, while the HIG team observed them and then discussed with them why they got lost at a given point and which information they could not find. Friedrich Kossebau offered additional input.

The results from this are very helpful for optimizing the usability and usefulness of the HIG for developers. Some of the findings were that our users would prefer visual examples for first orientation, and text only for details which cannot be well communicated visually, that the structure of the main page should be optimized, and that more cross-linking between related articles would be helpful.

Community from the Perspective of a Temporarily Walking-Disabled Member

One of the most memorable experiences from this year’s Akademy has to do with an injury I suffered there. At some point during my travel to Brno, I got a small graze at the back of my right foot. Nothing serious, I thought, so I didn’t pay much attention to it. Unfortunately, some germs must have entered the blood stream through that graze, causing a serious inflammation. The foot got more and more swollen and walking started to hurt. It got better with each night, but worse during the days. On Sunday evening, I decided to stay in the hotel and visit a doctor the next morning. When I told Dan Vrátil about my inflamed foot the next morning, he had to laugh at first, because the exact same thing happened to Jan Grulich during last year’s Akademy. Last time, Jan had to be taken to the hospital and elsewhere by car, now he was the one driving me around.

At the hospital, the foot got bandaged and I was told not to walk. Not the ideal condition for a conference. This is where I experienced first-hand the helpfulness of our wonderful community. Whenever someone from KDE was near, I was supported while hopping about, and Àlex even carried my through the venue like like a bride over the door sill. We also found that office chairs can be repurposed as makeshift wheelchairs (including the fun of pushing someone around on one, of course).

The most difficult part, though, was the day trip to the water reservoir on Wednesday. Originally, I had thought I’d stay at the hostel during the day trip because I couldn’t even get to the reservoir without walking too much and Jan was not available to drive me there.

When asking on the mailing list whether it was possible to get there without much walking, I got two replies from people willing to give me a ride (Martin Klapetek and Teo Mrnjavac). In the end, it was Martin who took me to the reservoir (and also to the tram station the next morning). I was happy that I could take part in the day trip and take the ferry together with the group, but I had already accepted that I wouldn’t be able to get up to the castle we were visiting (castles are not exactly known for being easy to reach, right?).

When the ferry landed and I said I’d wait there for the group to return from the castle, Frederik Gladhorn said something along the lines of “No, we won’t leave you behind, we can get you there!”. I couldn’t really imagine how, until I found myself first on Frederik and Martin’s arms, then on Friedrich Kossebau’s and then Frederik’s shoulders. There are some KDE members which, due to their compact size, might be relatively easy to carry on one’s shoulders. At about 1,85m in height, though, I’m not exactly one of those, so it must have looked really funny when a fully grown man sat on another’s shoulders. I’ll add a photo as soon as I get one. The foot is now better, though it will take a few more days of rest and antibiotics to fully heal.

This was an example of what KDE means to me (and surely many others): We always help each other out, and even if something seems impossible, together we find ways to make it happen.

Thank you all for making Akademy 2014 such a wonderful experience!


Filed under: KDE
Categories: FLOSS Project Planets

PyCharm: Feature Spotlight: Multiple Selections in PyCharm

Planet Python - Tue, 2014-09-16 09:16

Today I’d like to highlight one of the most top voted features that appeared in PyCharm 3.4 some time ago – Multiple Selections. Since then a lot of people have been using it and enjoying the increased productivity while editing.

With this feature you can:

  • Set multiple cursors in the editor area: Alt + Mouse Click.
  • Select/unselect the next occurrence: Alt + J / Shift + Alt + J (Ctrl + G / Shift + Ctrl +G for Mac OS X)
  • Select all occurrences: Shift + Ctrl + Alt + J (Ctrl + Cmd + G for Mac OS X)
  • Clone caret above/below (the shortcuts are not mapped yet)
  • Remove all selections: Esc

You can redefine these shortcuts in Settings -> Keymap -> Editor Actions if necessary.

Multiple selections work nicely together with other PyCharm features like Code completion, Select word at caret, Join lines, Copy/paste, and the others. This feature also works with all languages supported by PyCharm such as Python, HTML, JavaScript, CSS and more.

Here’s a short demo on how Multiple Cursors work in PyCharm:

Hope you’ll enjoy this handy feature!

-Dmitry

Categories: FLOSS Project Planets
Syndicate content