Feed aggregator

NOKUBI Takatsugu: Met with a debian developer from Germany

Planet Debian - Wed, 17/09/2014 - 10:22

Last weekend, I (knok), Hideki (henrich) and Yutaka (gniibe) met with John Paul Adrian Glaubitz (glaubitz).

In the past, I had met with another Germany developer Jens Schmalzing (jensen) in Japan. He was a good guy, but unfortunately he gone in 2005.

I had an old OpenPGP key with his sign. It is a record of his activity, but the key is weak nowaday (1024D), so I stop to use the key but don’t issue revoke.

Anyway glaubitz is also a good guy, and he loves old videogame console. gniibe gave him five DreamCast consoles. I bring him to SUPER POTATO, a old videogame shop. He bought some software for Virtual Boy.

DebConf 2015 will hold in Germany, I want to go for it if I can.

 

Categories: Elsewhere

Matthew Garrett: ACPI, kernels and contracts with firmware

Planet Debian - Wed, 17/09/2014 - 00: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: Elsewhere

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

Planet Debian - Wed, 17/09/2014 - 00: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: Elsewhere

Drupal Association News: Free Membership from InMotion Hosting

Planet Drupal - Wed, 17/09/2014 - 00:10

We recently added a Featured Discount/Benefit section to the Membership page and the first benefit to be featured is a really good one.

InMotion Hosting is giving you one year of free Drupal Association Individual Membership when you buy a new hosting plan.

This is an unprecedented and generous offer that will help support Drupal Association community programs. If you have been thinking about signing up for site hosting check out the offer from InMotion.

We will rotate the Featured Benefit every month so expect more good offers to come your way. And big thanks to the InMotion Hosting team for giving back and being part of the Drupal community.

Personal blog tags: membership benefits
Categories: Elsewhere

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

Planet Drupal - Tue, 16/09/2014 - 23: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: Elsewhere

Drupal Watchdog: Upgrading Your Modules

Planet Drupal - Tue, 16/09/2014 - 23: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: Elsewhere

LightSky: Columbus Mennonite Launches with LightSky

Planet Drupal - Tue, 16/09/2014 - 22: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: Elsewhere

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

Planet Drupal - Tue, 16/09/2014 - 22: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: Elsewhere

groups.drupal.org frontpage posts: GSoC 2014 Summary and Final Notes

Planet Drupal - Tue, 16/09/2014 - 21:48

Google Summer of Code 2014 has triumphantly concluded for Drupal as a participating organization. We selected thirteen students (https://groups.drupal.org/node/423558) out of fifty project proposals from around the world and twelve of the projects passed with success. Help us by reviewing each project's code (https://groups.drupal.org/node/442493).

Not only did students dedicate their summer contributing to Drupal, but most importantly they had fun. With Drupal 8 on the horizon, most projects were focused on porting modules many people will utilize everyday. Students worked on a vast array of functionality ranging from porting the Diff module with extensible new options to integrating Disqus comments in Drupal 8. As Drupal's GSoC Organization Admin I personally checked in with all projects to find busy students resolving issues no one had ever encountered and happy to be a part of our open source community. We can only hope that these talented young software engineers stick around.

Student GSoC Experiences:

"My first GSOC Experience and one of the best summers I spent in the past few years." -Umar Ahmad (https://www.drupal.org/u/umar-ahmad)

"The best part of GSoC is the opportunity to be a part of a Open Source community, which is a venture we're unlikely to explore so soon if not for GSoC and to see your hard work put into actual use." -Sachini Aparna Herath (https://www.drupal.org/u/sachini)

"Coding for such a big project as Drupal was a great honour for me. GSoC helped me to discover Drupal community and to make my summer an exciting experience." -Andrei - Marius Dincu (https://www.drupal.org/u/andrei.dincu)

Mentor GSoC Experiences:

"With GSoC, students significantly participated in getting Drupal 8 core and contrib ready. Thank you for making this happen!" - Miro Dietiker (https://www.drupal.org/u/miro_dietiker)

"This was my first GSoC as a mentor and I enjoyed it! The learning curve was quite steep for my student and I felt her pain since many of the APIs she needed were unstable and not documented. In the end she managed to "survive" the learning curve and release a working alpha version of RDF UI module (https://www.drupal.org/project/rdfui)." -Stéphane Corlosquet (https://www.drupal.org/u/scor)

"GSoC provides opportunities that are unseen in the world of Open Source industries. Drupal 8 will thrive, and partly it's due to GSoC and the influx of those students in Drupal. Thanks!" -Nick Veenhof (https://www.drupal.org/u/Nick_vh)

"One can think that only the students learn, it's not always true. Mentors (especially with several years of industry experience) can learn enthusiasm from their students. It was great to work with Lucian." -Aron Navak (https://www.drupal.org/u/aron-novak)

Reunion Summit

Each year Google organizes a "Mentor Summit" after Summer of Code to help summarize the positive and negative experiences in an unconference style weekend of meetings. This year Google is organizing a "10 Year GSoC Reunion" instead of the traditional mentor summit where two delegates from each successfully participating organization are invited. Many past and present participants responded to our post to represent Drupal at the event (https://groups.drupal.org/node/437643). Because of this we decided to select one of our top GSoC Drupal alumni and one of our best students from this summer. We're proud to select Angela Byron (https://www.drupal.org/u/webchick) and Chandan Singh (https://www.drupal.org/u/cs_shadow) to represent Drupal at the 10 Year Reunion in California (https://sites.google.com/site/gsocmentorsummitstudentreunion/home).

Drupal's GSoC team is delighted we're able to send our most qualified alumni to the reunion because no one else deserves this more than webchick to represent Drupal. Angie's story of starting with Drupal working on the Quiz module (http://webchick.net/node/105) as a GSoC student almost ten years ago and becoming one of the most important people in our community is now legendary (learn more @ http://webchick.net/about). In an effort to repeat history, we're excited about Chandan becoming a rockstar developer pushing Drupal to the next level as a promising new contributor. Beginning by leading development of the Entity Embed module as a GSoC student (https://www.drupal.org/project/entity_embed), Chandan continues to be actively involved in Drupal 8 Core development with over 25 commit mentions. It is truly amazing to review the post and commit log from a user only 6 months old (https://www.drupal.org/user/2828287/track/) and realize our opportunity to find multiple success stories similar to webchick and cs_shadow via GSoC.

Thank You!

A big thanks to all the students with mentors who helped make this summer a success and of course the entire Drupal community for their amazing support. Last but certainly not the least, thanks to Google for making it all possible. The entire open source community is forever in debt to the gift Google provides us with Summer of Code. Google has funded at least $66,000USD (12 students x $5500USD) to Drupal alone in 2014.

What's Next?? How Can I Help??

Next we switch our focus from GSoC into Google Code-In 2014 (https://developers.google.com/open-source/gci/). Our current need is creating task ideas for Code-In students. If you have great ideas for small tasks taking up to several hours or want to be a mentor, please update our GCI task idea spreadsheet (https://docs.google.com/spreadsheets/d/1sFf5wnuCSkNauNw26-Kml0snplF4Fx0j...).

GCI is a contest for high school students to contribute small tasks to open source organizations to win a trip to GoogleHQ. Our GCI organization application usually opens in October and contest runs from November to January. GCI is a great way to learn the responsibilities of being a mentor prior to GSoC. Join our GCI group (https://groups.drupal.org/google-code-in) to learn more.

It's never too early to start planning for next year's Summer of Code in 2015. Join our GSoC group (https://groups.drupal.org/google-summer-code) to learn more and comment in our GSoC 2015 planning post (https://groups.drupal.org/node/437638) and chat with us in real time in #drupal-google on Freenode. If you're attending Drupalcon Amsterdam be sure to attend our BoF (https://groups.drupal.org/node/440663) on Wed Oct 1st at 10:45-11:45 to learn more about our initiatives in person.

Categories: Elsewhere

Steve Kemp: Applications updating & phoning home

Planet Debian - Tue, 16/09/2014 - 21: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: Elsewhere

Commerce Guys: These schools get an A+ with Drupal + Drupal Commerce

Planet Drupal - Tue, 16/09/2014 - 20:13
Plenty of people have written about the tremendous potential that Drupal Commerce has to expand the capabilities of higher learning sites already running on Drupal. Colleges and Universities have overwhelmingly chosen Drupal as their CMS, and it’s a growing need for schools to use commerce functions to process a myriad of things, from registration and book sales to donations and permits. We just don’t think it makes sense to create these functions with a bolted-on commerce platform when Drupal Commerce provides such a smoothly integrated solution to serve a wide range of commerce needs at no cost. Leveraging the investment already made in knowledge, training and resources to serve commerce needs is the way to go.    These schools felt the same way.    Check out the ways they use Drupal + Drupal Commerce:     Harvard University - Uses Drupal + Drupal Commerce to sell books and other physical goods at the Harvard Art Museum website http://www.harvardartmuseums.org/   Stanford University SLAC - Uses Drupal + Drupal Commerce to manage event registration for conferences held at the Stanford Linear Accelerator Center (SLAC). https://conf-slac.stanford.edu/   Georgia Tech - Uses Drupal + Drupal Commerce to manage their broad offering of Professional Education courses, enabling students to select, register, and pay for their courses and streamline Georgia Tech's ability to track, manage, and report on this important revenue channel. http://www.pe.gatech.edu/   Emerson College - Uses Drupal + Drupal Commerce to sell both physical and digital subscriptions and individual issues of their Ploughshares and Omnibus publications. https://www.pshares.org   Grinnell College - Uses Drupal + Drupal Commerce for fundraising and donations, allowing donors to select how and where their gift will be utilized through one-time or recurring gifts. www.grinnell.edu   Columbia Grammar and Preparatory School - Uses Drupal + Drupal Commerce for fundraising and donations as well as ticket sales. http://www.cgps.org/   Ready to join the Drupal Commerce community? Plug in at DrupalCommerce.org   Want to share your higher learning story or learn more about how Drupal Commerce can address your needs? Talk to us   
Categories: Elsewhere

CiviCRM Blog: Sprinting in the wilds of Maryland

Planet Drupal - Tue, 16/09/2014 - 19: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: Elsewhere

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

Planet Drupal - Tue, 16/09/2014 - 18: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: Elsewhere

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

Planet Drupal - Tue, 16/09/2014 - 17: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: Elsewhere

Drupalize.Me: Drupal 8 Beta is So Close

Planet Drupal - Tue, 16/09/2014 - 15:10
Recently, the biggest piece of news in the Drupal 8 world is that we are finally down to just one beta-blocker. This is really great, but what does it mean exactly? Well, in the big picture it means that we are very close to releasing a beta version of Drupal 8 for everyone to start playing with, and this is a major step towards getting the final release out the door.   What is a Beta?
Categories: Elsewhere

Petter Reinholdtsen: Speeding up the Debian installer using eatmydata and dpkg-divert

Planet Debian - Tue, 16/09/2014 - 14:00

The Debian installer could be a lot quicker. When we install more than 2000 packages in Skolelinux / Debian Edu using tasksel in the installer, unpacking the binary packages take forever. A part of the slow I/O issue was discussed in bug #613428 about too much file system sync-ing done by dpkg, which is the package responsible for unpacking the binary packages. Other parts (like code executed by postinst scripts) might also sync to disk during installation. All this sync-ing to disk do not really make sense to me. If the machine crash half-way through, I start over, I do not try to salvage the half installed system. So the failure sync-ing is supposed to protect against, hardware or system crash, is not really relevant while the installer is running.

A few days ago, I thought of a way to get rid of all the file system sync()-ing in a fairly non-intrusive way, without the need to change the code in several packages. The idea is not new, but I have not heard anyone propose the approach using dpkg-divert before. It depend on the small and clever package eatmydata, which uses LD_PRELOAD to replace the system functions for syncing data to disk with functions doing nothing, thus allowing programs to live dangerous while speeding up disk I/O significantly. Instead of modifying the implementation of dpkg, apt and tasksel (which are the packages responsible for selecting, fetching and installing packages), it occurred to me that we could just divert the programs away, replace them with a simple shell wrapper calling "eatmydata $program $@", to get the same effect. Two days ago I decided to test the idea, and wrapped up a simple implementation for the Debian Edu udeb.

The effect was stunning. In my first test it reduced the running time of the pkgsel step (installing tasks) from 64 to less than 44 minutes (20 minutes shaved off the installation) on an old Dell Latitude D505 machine. I am not quite sure what the optimised time would have been, as I messed up the testing a bit, causing the debconf priority to get low enough for two questions to pop up during installation. As soon as I saw the questions I moved the installation along, but do not know how long the question were holding up the installation. I did some more measurements using Debian Edu Jessie, and got these results. The time measured is the time stamp in /var/log/syslog between the "pkgsel: starting tasksel" and the "pkgsel: finishing up" lines, if you want to do the same measurement yourself. In Debian Edu, the tasksel dialog do not show up, and the timing thus do not depend on how quickly the user handle the tasksel dialog.

Machine/setup Original tasksel Optimised tasksel Reduction Latitude D505 Main+LTSP LXDE 64 min (07:46-08:50) <44 min (11:27-12:11) >20 min 18% Latitude D505 Roaming LXDE 57 min (08:48-09:45) 34 min (07:43-08:17) 23 min 40% Latitude D505 Minimal 22 min (10:37-10:59) 11 min (11:16-11:27) 11 min 50% Thinkpad X200 Minimal 6 min (08:19-08:25) 4 min (08:04-08:08) 2 min 33% Thinkpad X200 Roaming KDE 19 min (09:21-09:40) 15 min (10:25-10:40) 4 min 21%

The test is done using a netinst ISO on a USB stick, so some of the time is spent downloading packages. The connection to the Internet was 100Mbit/s during testing, so downloading should not be a significant factor in the measurement. Download typically took a few seconds to a few minutes, depending on the amount of packages being installed.

The speedup is implemented by using two hooks in Debian Installer, the pre-pkgsel.d hook to set up the diverts, and the finish-install.d hook to remove the divert at the end of the installation. I picked the pre-pkgsel.d hook instead of the post-base-installer.d hook because I test using an ISO without the eatmydata package included, and the post-base-installer.d hook in Debian Edu can only operate on packages included in the ISO. The negative effect of this is that I am unable to activate this optimization for the kernel installation step in d-i. If the code is moved to the post-base-installer.d hook, the speedup would be larger for the entire installation.

I've implemented this in the debian-edu-install git repository, and plan to provide the optimization as part of the Debian Edu installation. If you want to test this yourself, you can create two files in the installer (or in an udeb). One shell script need do go into /usr/lib/pre-pkgsel.d/, with content like this:

#!/bin/sh set -e . /usr/share/debconf/confmodule info() { logger -t my-pkgsel "info: $*" } error() { logger -t my-pkgsel "error: $*" } override_install() { apt-install eatmydata || true if [ -x /target/usr/bin/eatmydata ] ; then for bin in dpkg apt-get aptitude tasksel ; do file=/usr/bin/$bin # Test that the file exist and have not been diverted already. if [ -f /target$file ] ; then info "diverting $file using eatmydata" printf "#!/bin/sh\neatmydata $bin.distrib \"\$@\"\n" \ > /target$file.edu chmod 755 /target$file.edu in-target dpkg-divert --package debian-edu-config \ --rename --quiet --add $file ln -sf ./$bin.edu /target$file else error "unable to divert $file, as it is missing." fi done else error "unable to find /usr/bin/eatmydata after installing the eatmydata pacage" fi } override_install

To clean up, another shell script should go into /usr/lib/finish-install.d/ with code like this:

#! /bin/sh -e . /usr/share/debconf/confmodule error() { logger -t my-finish-install "error: $@" } remove_install_override() { for bin in dpkg apt-get aptitude tasksel ; do file=/usr/bin/$bin if [ -x /target$file.edu ] ; then rm /target$file in-target dpkg-divert --package debian-edu-config \ --rename --quiet --remove $file rm /target$file.edu else error "Missing divert for $file." fi done sync # Flush file buffers before continuing } remove_install_override

In Debian Edu, I placed both code fragments in a separate script edu-eatmydata-install and call it from the pre-pkgsel.d and finish-install.d scripts.

By now you might ask if this change should get into the normal Debian installer too? I suspect it should, but am not sure the current debian-installer coordinators find it useful enough. It also depend on the side effects of the change. I'm not aware of any, but I guess we will see if the change is safe after some more testing. Perhaps there is some package in Debian depending on sync() and fsync() having effect? Perhaps it should go into its own udeb, to allow those of us wanting to enable it to do so without affecting everyone.

Categories: Elsewhere

CTI Digital: First-timers guide to DrupalCon

Planet Drupal - Tue, 16/09/2014 - 12:09
Ticket bought, flights and accommodation booked, like hundreds of others you’re DrupalCon bound for the very first time! No doubt you are very excited, perhaps a little nervous, not quite sure what to expect? Panic not, by the time you’ve read this blog you’ll be all set to make the most of the experience.   Rest assured, approaching half of attendees are first timers, just like you. Everyone was a newbie once. Drupalists are a friendly bunch, so once you get going it’ll be a breeze.    So here goes ….   Plan now!   Don’t spend valuable time during DrupalCon picking what session to watch next. Do yourself a favour, plan your schedule ahead not when you arrive  but be flexible in case something good comes up you might have overlooked! https://amsterdam2014.drupal.org/schedule.     “be flexible, you never know what opportunities you'll get during the conference, sometimes you might have to break your schedule to accommodate.” James Davidson @davidsonj   Who’s coming?   Browse the attendee list [https://amsterdam2014.drupal.org/attendees] ahead of time, there are bound to be some familiar faces you have spoken to on IRC, Drupal.org or social media.    Beyond this there will be other Drupalists sharing your interests, reach out to them and start a conversation ahead of time to help crystallize new friendships during the conference.   Not everyone is able to stay the whole time so be sure to ask those who you are most keen to see. Hatch a plan beforehand, most people’s calendars fill up fast.   Business cards   Even if you aren’t on the business side of Drupal, you will speak to a LOT of people at DrupalCon. Do get some business cards printed. This will save time and ensure you remain in touch with people beyond the conference. Moo.com [www.moo.com] are cost effective or use Lullabot’s wicked new digital card app “Shoot” [ https://www.lullabot.com/blog/article/lullabots-latest-mobile-app-shoot]   What (not) to pack   Be clear - there is no dress code. DrupalCon is inclusive, anything goes. Bring comfortable shoes, you will walk miles during the conference. To be honest, I always pack light and wear less than I think. Don’t forget smartphone and laptop chargers!   An international power adapter and power strip is an essential accessory. Keep those gadgets juiced up.    “Carrying a power strip around with you is often a good way to make friends at conferences.”  Larry Garfield @Crell   I find a notepad invaluable although you can be sure to stock up on these in the Exhibitor Hall.   Make sure you pack enough to survive in your carry on baggage just in case your hold bag goes missing. Even better, just go carry on.   Mobile data   Be sure to check with your mobile phone supplier any costs associated with data usage before you arrive. There will be ample free wifi at the conference centre so maybe you can manage without.   Money   Are you sure your credit card is accepted in The Netherlands? Be sure to inform your card company that you are traveling and to expect overseas transactions charges. Arrange euros ahead of time.   Twitter is your friend   Not only will major announcements be made on @DrupalConEur, there will be a stream of helpful advice and a certain amount of cat herding so be sure to follow.   A lot of attendees use Twitter to make plans during the conference so be sure to track the official #DrupalCon hashtag. Use the hashtag yourself to make plans, form new connections and share photos.    Help   The volunteers at the Help Desk where you register are available throughout the duration of the conference to assist with any enquiry or help you may require.   Before DrupalCon if you need to contact the conference organisers, the best method is the site contact form [https://amsterdam2014.drupal.org/contact-us]   “volunteer, be front desk, on the rooms, whatever, there is not a better way to meet new people if you don't already” Pedro Cambra @pcambra   Arriving   A lot of people save money travelling from the airport by sharing transport. This can be planned ahead of time using social media or more spontaneous or bumping into people wearing Drupal t-shirts. Remember there are thousands of us arriving in a short space of time, you are bound not to be alone.   Registration   Avoid the queues at registration by visiting before Tuesday morning. The registration desk is open during Sunday and all day Monday.   Say hello!   This is your chance to meet people for real. Don’t spend your whole time head down in a screen. Conversations are all around you, go start one. Don’t be daunted because the person across the hallway is a ‘rockstar Drupaler’. We all like talking about what we love.   “do not session cram your day as it will make your head spin, say hi to people (we are not scary) :)” Emma Karayiannis @emma_maria88   “don't be surprised if everyone seems to know everyone; at my first #DrupalCon I thought: established social group; but half were newbies!” J-P Stacey @jpstacey   SWAG!   Sponsors compete with one another to see who can create the coolest Drupal related giveaways. The best goodies go fast so be sure to attend the exhibit hall at the earliest opportunity.    Pro-tip: The Exhibit Hall opens Monday 17:00-18:30. There is a party like atmosphere, it’s a really nice way to ease into the DrupalCon flow. This is also when the smart people get their SWAG.    Don’t be shy, the sponsors really want you to take their swag home. Also, be sure to leave spare space on your journey out for SWAG coming home. Be sure of the baggage allowance of your airline!   Bookstore   Then there’s the Drupal Association’s confusingly have a “Bookstore” which actually sells way more than books. They have some awesome Drupal memorabilia, proceeds of which go to fund the Drupal project.     Exhibit Hall [https://amsterdam2014.drupal.org/exhibit-hall]   Social calendar   Amsterdam in particular has some noteworthy social events scheduled by the local community and attendees alike. Dinners, cultural evening, women in Drupal, pub crawls, the arrival of Tour de Drupal are amongst some of the events currently available.    [https://amsterdam2014.drupal.org/event/women-drupal-meetup]   Monday   Many people arrive ahead of the main conference. This can be an excellent time to arrange meetings with people before things get too hectic.    The community summit [https://amsterdam2014.drupal.org/community-summit] or business day [https://amsterdam2014.drupal.org/business-summit] are a really great ways to forge new connections and share knowledge at the same time.    Tuesday   DriesNote The Dries’s Keynote is always a full house. In fact I strongly advise get your seat early or possibly miss out! A pro-tip is attend Rob & Jam’s pre-keynote, you’d be mad not to anyway [https://amsterdam2014.drupal.org/prenote] , and bag yourself a prime location for the DriesNote early (they always share the same location).    Say cheese! A huge tradition at DrupalCon is the group photo. Be sure to be among the sea of Drupalists immediately after the DriesNote. We hear an octocopter will make an entrance in Amsterdam to help capture the epic numbers we now have. See how we did it in Prague last year [https://www.youtube.com/watch?v=8tHvys7xTRM]   Thursday   Trivia Night A quiz night about Drupal. Unmissable, I am not kidding you. For many it’s the highlight of the social calendar. There are bonus points for teams with DrupalCon first timers so you will be most welcome! What better way to meet new people, and there are amazing prizes to be had.   Friday   Sprints! There are opportunities for everyone to contribute to sprints no matter if you’ve never attended a (code) sprint before. Special First-Time Sprinter Workshops [https://amsterdam2014.drupal.org/first-time-sprinter-workshop] exist to guide those of you who are new to sprinting. “Everyone can get involved in many aspects, including documentation, UX, design, testing, and development.”   Taking part in these mass participation sprints is invigorating and should certainly be on your schedule.   There’s more besides sessions at DrupalCon...   With so many great sessions to choose from there are bound to be clashes. Don’t panic, the amazing team at DrupalCon reliably have all sessions published same day to Youtube [https://www.youtube.com/user/DrupalAssociation].   Aware of these recordings you should consider what else there’s available to do ….   Hallway track   For many a highlight of the conference is those chance meetings in the hallway. Do take the opportunity to stop and spend time talking with people in the hallway.    BoFs?   Affectionately know as “BoFs” - Birds of a feather conversations offer a rare opportunity to meet and discuss a theme with Drupalists sharing a common interest. As a first time DrupalCon attendee I can’t stress how valuable BoFs are. There’s no need to register, just turn up or even arrange your own! [https://amsterdam2014.drupal.org/bofs]. Many presenters will arrange companion BoFs for their sessions, this is a great time to deep dive into a subject.   “the BoF is where the conversations happen, sessions are recorded but these aren't, many goodies happen there” Pedro Cambra @pcambra   Sprints   From 27th September all the way through to 4th October there are ample opportunities to get involved in sprints. In particular the mass Friday sprints are open to all with mentors to help you make your first core contribution. Go for it! https://amsterdam2014.drupal.org/sprints   Relax! There will be other DrupalCons   Don’t try and do everything first time round. With so many amazing keynotes, sessions, BoFs and people to meet plus a packed social calendar - there’s no denying there’s a temptation at DrupalCon to burn the candle at both ends. Be careful though, without some proper rest and healthy food you can easily get run down and suffer post conference DrupalFlu.   So pace yourself. Head for bed when others say “just one more”, eat some fruit, drink water and get some sleep. You’ll enjoy DrupalCon and take home just amazing memories.   Further reading   Jeffrey McGuire’s A-Z of DrupalCon https://www.acquia.com/blog/what-is-drupalcon   Doug Vann has further tips on what to bring to DrupalCon [http://dougvann.com/blog/top-ten-things-bring-you-drupalcon-austin]   Image courtesy of Michael Schmid  
Categories: Elsewhere

Hideki Yamane: Intel 910 SSD 400GB - $420

Planet Debian - Tue, 16/09/2014 - 10:10

Intel SSD 910 (400GB, SSDPEDOX400G301) is cheaper than ever in Japan - only $420 (and its spec sheet says "Recommended Customer Price BULK: $1929.00", wow).
Categories: Elsewhere

Károly Négyesi: What JS makes this monkey dance?

Planet Drupal - Tue, 16/09/2014 - 06:27

Today I found myself in a complex codebase and my ticket was: this JS on this old page makes the monkey dance, can you make it dance on the new page? Well, my JS knowledge is... limited but I have a really mean right click. So I right clicked and looked around the source Chrome showed me. There was a div with a class slideshow-node-embed-processed. Now that's important: -processed is added by the jQuery once plugin that Drupal 7 happens to ships with. It's much easier to recognize the handiwork of the plugin than actually use it -- this is true for many similar reverse engineering scenarios. Next step is ag slideshow-node-embed (you have ag installed, don't you?) which comes back with a single JS file called sites/all/themes/foo/js/node-embed.js. Next ag -A2 -B2 node-embed.js -- just searching is pointless but by adding some context to it hopefully we can see some settings or CSS necessary.

Categories: Elsewhere

Drupal core announcements: Drupal core security release window on Wednesday, September 17

Planet Drupal - Tue, 16/09/2014 - 04:20
Start:  2014-09-17 (All day) America/New_York Sprint Organizers:  David_Rothstein

The monthly security release window for Drupal 6 and Drupal 7 core will take place on Wednesday, September 17.

This does not mean that a Drupal core security release will necessarily take place on that date for either the Drupal 6 or Drupal 7 branches, only that you should prepare to look out for one (and be ready to update your Drupal sites in the event that the Drupal security team decides to make a release).

There will be no bug fix release on this date; the next window for a Drupal core bug fix release is Wednesday, October 1.

For more information on Drupal core release windows, see the documentation on release timing and security releases, and the discussion that led to this policy being implemented.

Categories: Elsewhere

Pages

Subscribe to jfhovinne aggregator