ThinkShout: Four Things You Can Learn About Content Strategy...from Mad Max

Planet Drupal - Fri, 24/07/2015 - 02:00

George Miller has a vision of the future. Judging by the non-stop mayhem and desolation that is Mad Max: Fury Road, if I had the same vision, I wouldn’t sleep very much. As a piece of action cinema, however, Fury Road succeeds on every level. I couldn’t look away – but the second time I saw it, I was surprised by the number of carefully rendered details I missed the first time. I want to see it again.

After you emerge into the sunlight and finally manage to blink after two hours of wide-eyed apocalyptic rapture and think about Fury Road as a piece of content produced by a distributed team that had an audience in mind, there are plenty of lessons we can take away from it.

It takes time to make great content

Miller first tried to make Fury Road in 2001, took it up again in as a live action film in 2011, and wrapped photography in 2013. The movie itself didn’t come out until mid-2015. Typically, Hollywood calls that sort of timeline "development hell", and it presages an Ishtar-scale flop.

When you consider recent successes like The Lego Movie (4 years in production) and the fantastic Boyhood (12 years in production), it’s clear that, with the right people involved, movies benefit from allowing directors to realize their vision. Expand that to books and music, and the quickly-created masterpiece is the clear outlier.

To think that your organization can churn out content that best serves its mission without careful thought and robust process, then, would be a mistake.

There’s a long-standing notion that people don’t read on the Internet, backed up by careful research. I believe people don’t read on the Internet because, by and large, the available content is crap.

When you think about your own habits, though, haven’t there been at least a few pieces you’ve read almost word for word? I certainly absorbed the New Yorker’s recent terrifying article about how the Cascadia Subduction Zone is going to reduce Portland to the set of the next Mad Max. And ESPN’s Outside the Lines regularly produces content I read carefully – because they’re well-written pieces about topics that interest me.

Research shows that people who read for pleasure read more carefully. As Slate’s Michael Agger points out, even Jakob Nielsen, one of the founders of "People don’t read on the Internet", believes people will read content that interests them:

Nielsen's idea is that people will read (and maybe even pay) for expertise that they can't find anywhere else. If you want to beat the Internet, you're not going to do it by blogging (since even OK thinkers occasionally write a great blog post) but by offering a comprehensive take on a subject (thus saving the reader time from searching many sites) and supplying original thinking (offering trusted insight that cannot be easily duplicated by the nonexpert).

That sounds to me like the very definition of great content – and great content takes time to produce. I’m not talking about three-levels-of-bureaucratic review time, but about putting effort and craft into your explanations of what your organization believes is important to the world, be it through written word, a video, a podcast, or even just an image.

That can seem overwhelming, particularly when most nonprofits don’t have a cadre of trained writers on staff. There are plenty of tools out there to help you. Editorial calendars. Page tables and content templates. (Yes, content strategy, when it comes to implementation, involves a lot of spreadsheets.)

But it comes down to this: Don’t try to do too many things well. Try to do a few things better than everybody else.

You’re never going to bring everybody on board with your cause, so writing for the masses may not be the most effective strategy. Take time to create at least some content for those who care enough to read it.

Technical infrastructure should be so good, it renders itself invisible

If you take the time to produce great content, you want to make sure it’s displayed in the best possible light – and by that, I mean your users shouldn’t notice the technology at all.

Fury Road benefits from a huge number of practical effects: things look like they’re blowing up because they are, not because some computer rendered its idea of what an explosion should look like. But almost every shot was still digitally enhanced. This allowed Miller to create the impression of large crowds:

Fury Road also makes extensive use of compositing to expand its visual palette:

When you’re actually watching the film, however, the "How did they do that?" gives way to breathless enjoyment of the chase. The movie feels real because the effects are integrated so well, they become part of the story instead of superseding it.

The same has to be true of your technology platforms.

Nobody cares what email platform you're using if the contents are interesting and easy to absorb – but they will notice broken HTML. And your constituents aren’t coming to your website to ogle its features, they’re coming for the content. If they notice the underlying functionality, then your technology is not serving your mission.

Stay true to your vision

When you think about it empirically, Fury Road should not have succeeded with a mainstream audience. It’s a two-hour chase scene. Its nominal hero’s face is obscured by a mask for almost half the film’s run-time. Its night scenes were filmed in bright daylight. It prominently features a tanker truck full of breast milk. And yet it has grossed nearly $400 million worldwide.

Fury Road succeeds because it stays true to its director’s vision. George Miller knew what he wanted – the entire film was storyboarded and the cast largely worked without a script – and put exactly that, and only that, on film.

By Google’s count, Fury Road has roughly 3600 spoken words. Even a relatively action-oriented movie like Jupiter Ascending has nearly 9000 – largely because it’s burdened by the presumed need to explain what’s going on to the audience through background exposition:

Your planet is just now entering its genetic age. You understand very little about something which is a vital part of our reality. In our world, genes have an almost spiritual significance. They are the seeds of our immortality. When the exact same genes reappear in the exact same order, it is for us what you would call reincarnation.


Fury Road doesn’t care about telling you what’s going on or why it’s happening, just that it is. Why doesn’t Furiosa have an arm? How did Immortan Joe come to control all the water? It doesn’t matter in the visceral thrill of the chase. We trust Miller because we know he’s thought through all of the backstory and decided it didn’t matter here. He’s right. And cutting the movie to its barest bones serves his vision perfectly.

All that to say: If you produce content for a nonprofit, you have a built-in advantage because you have your Mission, Vision, and Values as touchstones. You know the backstory about why your organization does the work it does, and that can – and should – inform every piece of content you produce.

Think about the story you’re telling in terms of narrative arcs. Most of the content you produce, while illuminating some aspect of your Mission, Vision, and Values, can’t tell the entire story of your work. Instead, capture the interest of your audience, delight them with carefully crafted, finely honed content, and link back to the bigger picture. Hyperlinks were created before content strategy was even a phrase, but they allow us to lay out our story in pieces, tied back to a central narrative.

Prepare for the haters

The Internet is pretty great at disseminating information. Now that it’s easy for anybody and everybody to post their opinions in a public forum, our access to information is limited more by our imaginations than the media gatekeepers of old who decided what story should land on the front page.

The Internet has both improved public discourse – and degraded it. Because here’s the thing: if you have an opinion, it’s almost guaranteed that somebody out there has an opposing point of view. While these used to be confined to local conversations, when you post that opinion online, they can find you. They will find you.

Social media has been great for nonprofits in terms of community building and direct interactions with constituents. But it has also allowed the haters to find each other. What might have been a marginal response to your organization’s work in the past becomes amplified by technology.

In the case of Fury Road, that response was a call for boycott from a group of "meninists". (I know! I had no idea that was a thing, either.)

After the movie came out, noted misogynist Aaron Clarey wrote some pretty hateful things on his blog: "Let us be clear. This is the vehicle by which they are guaranteed to force a lecture on feminism down your throat… This is the Trojan Horse feminists and Hollywood leftists will use to (vainly) insist on the trope women are equal to men in all things, including physique, strength, and logic."

You can read the entire article if you need a little anger in your day, but Clarey ends with a Call to Spitefulness: "So do yourself and all men across the world a favor. Not only REFUSE to see the movie, but spread the word to as many men as possible."

Never mind that everything that happens in Fury Road serves the story, not a philosophy. The plot, such as it is, hinges on the escape of five women from captivity. As director George Miller puts it, "Initially, there wasn’t a feminist agenda... I needed a warrior. But it couldn’t be a man taking five wives from another man. That’s an entirely different story. So everything grew out of that."

He’s supported by Chris Hansen, the director of the film and digital media division at Baylor University: "We’re used to women being in the background, not men. But Miller isn’t doing it as a statement, he’s doing it because that’s what the story calls for."

Because the story your organization is telling supports and builds upon your Mission, Vision, and Values, somebody, somewhere is going to assume you are trying to diminish them in some way. And they will spew their hatred like a firehose.

As part of your content strategy, you need to be prepared for reactions to the information you put out into the world. Carie Lewis, Director of Communications Marketing for the Humane Society of the United States, knows too well that "When sensitive topics come up, trolls come out in droves, and misinformation spreads... In today’s world, the only thing you can do is have a crisis plan in place for what to do if/when you get attacked. Because you just never know what the internet is going to glom onto."

The producers of Fury Road ended up benefitting from the "men’s rights" backlash because it stirred up a controversy that made people want to see the movie even more. We probably can’t hope for that.

Carie notes that, "Internal education is key. Help your staff navigate the waters with social media policies and trainings to protect them as well as the organization."

The HSUS has standards and procedures for responding to negative publicity, and those have been documented. Carie says, "It’s important for us to be honest while at the same time not drawing unnecessary attention to the issue... We develop talking points that address the issue but don’t get into internal details. They get routed through PR, membership, social media, and the executive offices."

Building on that, The HSUS tries "to respond to everyone who comes to us on one of our social media channels with a legitimate question or concern, and within 24 hours. That means all questions unless it's someone we know is just trying to stir up trouble. There are some people who live to cause trouble and that you will never win over. You have to know when to stop, and when to not even start. That comes with time and experience."

As a final word of advice, Carie offers that "One thing I see a lot is organizations trying to talk over the issue. We learned the hard way that approach just doesn’t work; people will see right through you and it will only make matters worse."

Your mission should be at the heart of the content you produce. When that’s the case, it will be easier to defend the work you do – and it will energize the people already passionate about your work.

Everybody wants to be loved, but the prospect of online backlash shouldn’t stop you from crafting great content that articulates the reasons you do the work that you do.

Now go see the movie already!

Thanks to Ivan Boothe and April Lambert for their edits and additions.

All images copyright 2015 Warner Bros. Pictures.

Categories: Elsewhere

Antoine Beaupré: Is it safe to use open wireless access points?

Planet Debian - Thu, 23/07/2015 - 23:35

I sometimes get questions when people use my wireless access point, which, for as long as I can remember, has been open to everyone; that is without any form of password protection or encryption. I arguably don't use the access point much myself, as I prefer the wired connection for the higher bandwidth, security and reliability it provides.

Apart from convenience for myself and visitors, the main reason why I leave my wireless access open is that I believe in a free (both as in beer and freedom) internet, built with principles of solidarity rather than exploitation and profitability. In these days of ubiquitous surveillance, freedom often goes hand in hand with anonymity, which implies providing free internet access to everyone.

I also believe that, as more and more services get perniciously transferred to the global internet, access to the network is becoming a basic human right. This is therefore my small contribution to the struggle, now also part of the Réseau Libre project.

So here were my friends question, in essence:

My credit card info was stolen when I used a wifi hotspot in an airport... Should I use open wifi networks?

Is it safe to use my credit card for shopping online?

Here is a modified version of an answer I sent to a friend recently which I thought could be useful to the larger internet community. The short answer is "sorry about that", "it depends, you generally can, but be careful" and "your credit card company is supposed to protect you".


First off, sorry to hear that our credit card was stolen in an airport! That has to be annoying... Did the credit card company reimburse you? Normally, the whole point of credit cards is that they protect you in case of theft like this and they are supposed to reimburse you if you credit card gets stolen or abused...

The complexity and unreliability of passwords

Now of course, securing every bit of your internet infrastructure helps in protecting against such attacks. However: there is a trade-off! First off, it does makes it more complicated for people to join the network. You need to make up some silly password (which has its own security problems: passwords can be surprisingly easy to guess!) that you will post on the fridge or worst, forget all the time!

And if it's on the fridge, anyone with a view to that darn fridge, be it one-time visitor or sneaky neighbor, can find the password and steal your internet access (although, granted, that won't allow them to directly spy on your internet connection).

In any case, if you choose to use a password, you should use the tricks I wrote in the koumbit wiki to generate the password and avoid writing it on the fridge.

The false sense of security of wireless encryption

Second, it can also give a false sense of security: just because a wifi access point appears "secure" (ie. that the communication between your computer and the wifi access point is encrypted) doesn't mean the whole connection is secure.

In fact, one attack that can be done against access points is exactly to masquerade as an existing access point, with no security security at all. That way, instead of connecting to the real secure and trusted access point, you connect to an evil one which spies on our connection. Most computers will happily connect to such a hotspot even with degraded security without warning.

It may be what happened at the airport, in fact. Of course this particular attack would be less likely to happen if you live in the middle of the woods than an airport, but it's some important distinction to keep in mind, because the same attack can be performed after the wireless access point, for example by your countryside internet access provider or someone attacking it.

Your best protection for your banking details is to rely on good passwords (for your back account) but also, and more importantly, what we call end-to-end encryption. That is usually implemented using the "HTTPS" with a pad lock icon in your address bar. This ensures that the communication between your computer and the bank or credit card company is secure, that is: that no wifi access point or attacker between your computer and them can intercept your credit card number.

The flaws of internet security

Now unfortunately, even the HTTPS protocol doesn't bring complete security. For example, one attack that can be done is similar to the previous one and that is to masquerade as a legitimate bank site, but either strip out the encryption or even fake the encryption.

So you also need to look at the address of the website you are visiting. Attackers are often pretty clever and will use many tricks to hide the real address of the website in the address bar. To work around this, I always explicitly type my bank website address (https://accesd.desjardins.com/ in my case) directly myself instead of clicking on links, bookmarks or using a search engine to find my bank site.

In the case of credit cards, it is much trickier because when you buy stuff online, you end up putting that credit card number on different sites which you do not necessarily trust. There's no good solution but complaining to your credit card company if you believe a website you used has stolen your credit card details. You can also use services like Paypal, Dwolla or Bitcoin that hide your credit card details from the seller, if they support the service.

I usually try to avoid putting my credit card details on sites I do not trust, and limit myself to known parties (e.g. Via Rail, Air Canada, etc). Also, in general, I try to assume the network connection between me and the website I visit is compromised. This forced me to get familiar with online security and use of encryption. It is more accessible to me than trying to secure the infrastructure i am using, because i often do not control it at all (e.g. internet cafes...).

Internet security is unfortunately a hard problem, and things are not getting easier as more things move online. The burden is on us programmers and system administrators to create systems that are more secure and intuitive for our users so, as I said earlier, sorry the internet sucks so much, we didn't think so many people would join the acid trip of the 70s.

Categories: Elsewhere

DrupalCon News: Training Spotlight: Translate Your Web Site in One Day

Planet Drupal - Thu, 23/07/2015 - 21:44

Do you need to translate a website but don't have the time or money to pay someone to do it? This training will provide you with an overview of internationalization (i18n), localization (l10n), multilingual issues, and translation basics using the Lingotek Translation module. You will also receive mentored help translating a copy of your Drupal website (or a different one, if you'd rather).

Categories: Elsewhere

OSTraining: Find the Node ID of Drupal Content

Planet Drupal - Thu, 23/07/2015 - 20:35

Several times, our members have asked about finding the Node ID of individual pieces of Drupal content. The Node ID is the primary key in the database for Drupal content and it's useful in many situations.

If you don't have the Pathauto module installed, this information is easy to find. By default, the Node ID is directly in the URL of the content.

However, if you have the Pathauto module enabled (as most sites do) the Node ID can be hard to find. Here's the solution ...

Categories: Elsewhere

Elena 'valhalla' Grandi: A Makefile for OpenSCAD projects

Planet Debian - Thu, 23/07/2015 - 19:03
A Makefile for OpenSCAD projects

When working with OpenSCAD to generate models for 3D printing, I find it convenient to be able to build .stl and .gcode files from the command line, expecially in batch, so I've started writing a Makefile, improving it and making it more generic in subsequent iterations; I've added a page on my website http://www.trueelena.org/computers/howto/makefile_for_openscad_projects.html to hosts my current version.

Most of my projects use the following directory structure.

  • my_project/conf/basic.ini…
    slic3r configuration files

  • my_project/src/object1.scad, my_project/src/object2.scad…
    models that will be exported

  • my_projects/src/lib/library1.scad, my_projects/src/lib/library2.scad…
    OpenSCAD files that don't correnspond to a single object, included / used in the files above.

  • my_project/Makefile
    the http://www.trueelena.org/computers/howto/makefile_for_openscad_projects/Makefile shown below.

Running make will generate stl files for all of the models; make gcode adds .gcode files using slic3r; make build/object1.stl and make build/object1.gcode also work, when just one model is needed.

# Copyright 2015 Elena Grandi
# This work is free. You can redistribute it and/or modify it under the
# terms of the Do What The Fuck You Want To Public License, Version 2,
# as published by Sam Hocevar. See http://www.wtfpl.net/ for more details.

BUILDDIR = build
CONFDIR = conf
SRCDIR = src

SLIC3R = slic3r


STL_TARGETS = $(patsubst $(SRCDIR)/%.scad,$(BUILDDIR)/%.stl,$(wildcard $(SRCDIR)/*.scad))
GCODE_TARGETS = $(patsubst $(SRCDIR)/%.scad,$(BUILDDIR)/%.gcode,$(wildcard $(SRCDIR)/*.scad))

.PHONY: all gcode clean


$(BUILDDIR)/%.stl: %.scad $(SRCDIR)/lib/*
mkdir -p ${BUILDDIR}
openscad -o $@ $<

$(BUILDDIR)/%.gcode: %.stl ${CONFDIR}/basic.ini
${SLIC3R} --load ${CONFDIR}/basic.ini $<

rm -f ${BUILDDIR}/*.stl ${BUILDDIR}/*.gcode

This Makefile is released under the WTFPL:

Version 2, December 2004

Copyright (C) 2004 Sam Hocevar <sam@hocevar.net>

Everyone is permitted to copy and distribute verbatim or modified
copies of this license document, and changing it is allowed as long
as the name is changed.


Categories: Elsewhere

Cheeky Monkey Media: Resistance is Futile!

Planet Drupal - Thu, 23/07/2015 - 16:00

Back in June of 2014, the monkeys headed for Austin, Texas. We stormed the Drupalcon with adventure gear, and a few clever and even controversial tee shirt giveaways. One of the most popular tee shirt was the "We are Drupal - Resistance is Futile" tees.

We have brought it back for you in a free wallpaper version. Feel free to download the zip file (a whack of various sizes are available). We hope you enjoy, and feel free to spread the word.

Download Wallpaper


Categories: Elsewhere

Daniel Pocock: Unpaid work training Google's spam filters

Planet Debian - Thu, 23/07/2015 - 10:49

This week, there has been increased discussion about the pain of spam filtering by large companies, especially Google.

It started with Google's announcement that they are offering a service for email senders to know if their messages are wrongly classified as spam. Two particular things caught my attention: the statement that less than 0.05% of genuine email goes to the spam folder by mistake and the statement that this new tool to understand misclassification is only available to "help qualified high-volume senders".

From there, discussion has proceeded with Linus Torvalds blogging about his own experience of Google misclassifying patches from Linux contributors as spam and that has been widely reported in places like Slashdot and The Register.

Personally, I've observed much the same thing from the other perspective. While Torvalds complains that he isn't receiving email, I've observed that my own emails are not always received when the recipient is a Gmail address.

It seems that Google expects their users work a little bit every day going through every message in the spam folder and explicitly clicking the "Not Spam" button:

so that Google can improve their proprietary algorithms for classifying mail. If you just read or reply to a message in the folder without clicking the button, or if you don't do this for every message, including mailing list posts and other trivial notifications that are not actually spam, more important messages from the same senders will also continue to be misclassified.

If you are not willing to volunteer your time to do this, or if you are simply one of those people who has better things to do, Google's Gmail service is going to have a corrosive effect on your relationships.

A few months ago, we visited Australia and I sent emails to many people who I wanted to catch up with, including invitations to a family event. Some people received the emails in their inboxes yet other people didn't see them because the systems at Google (and other companies, notably Hotmail) put them in a spam folder. The rate at which this appeared to happen was definitely higher than the 0.05% quoted in the Google article above. Maybe the Google spam filters noticed that I haven't sent email to some members of the extended family for a long time and this triggered the spam algorithm? Yet it was at that very moment that we were visiting Australia that email needs to work reliably with that type of contact as we don't fly out there every year.

A little bit earlier in the year, I was corresponding with a few students who were applying for Google Summer of Code. Some of them also observed the same thing, they sent me an email and didn't receive my response until they were looking in their spam folder a few days later. Last year I know a GSoC mentor who lost track of a student for over a week because of Google silently discarding chat messages, so it appears Google has not just shot themselves in the foot, they managed to shoot their foot twice.

What is remarkable is that in both cases, the email problems and the XMPP problems, Google doesn't send any error back to the sender so that they know their message didn't get through. Instead, it is silently discarded or left in a spam folder. This is the most corrosive form of communication problem as more time can pass before anybody realizes that something went wrong. After it happens a few times, people lose a lot of confidence in the technology itself and try other means of communication which may be more expensive, more synchronous and time intensive or less private.

When I discussed these issues with friends, some people replied by telling me I should send them things through Facebook or WhatsApp, but each of those services has a higher privacy cost and there are also many other people who don't use either of those services. This tends to fragment communications even more as people who use Facebook end up communicating with other people who use Facebook and excluding all the people who don't have time for Facebook. On top of that, it creates more tedious effort going to three or four different places to check for messages.

Despite all of this, the suggestion that Google's only response is to build a service to "help qualified high-volume senders" get their messages through leaves me feeling that things will get worse before they start to get better. There is no mention in the Google announcement about what they will offer to help the average person eliminate these problems, other than to stop using Gmail or spend unpaid time meticulously training the Google spam filter and hoping everybody else does the same thing.

Some more observations on the issue

Many spam filtering programs used in corporate networks, such as SpamAssassin, add headers to each email to suggest why it was classified as spam. Google's systems don't appear to give any such feedback to their users or message senders though, just a very basic set of recommendations for running a mail server.

Many chat protocols work with an explicit opt-in. Before you can exchange messages with somebody, you must add each other to your buddy lists. Once you do this, virtually all messages get through without filtering. Could this concept be adapted to email, maybe giving users a summary of messages from people they don't have in their contact list and asking them to explicitly accept or reject each contact?

If a message spends more than a week in the spam folder and Google detects that the user isn't ever looking in the spam folder, should Google send a bounce message back to the sender to indicate that Google refused to deliver it to the inbox?

I've personally heard that misclassification occurs with mailing list posts as well as private messages.

Categories: Elsewhere

Daniel Pocock: Recording live events like a pro (part 1: audio)

Planet Debian - Thu, 23/07/2015 - 09:14

Whether it is a technical talk at a conference, a political rally or a budget-conscious wedding, many people now have most of the technology they need to record it and post-process the recording themselves.

For most events, audio is an essential part of the recording. There are exceptions: if you take many short clips from a wedding and mix them together you could leave out the audio and just dub the couple's favourite song over it all. For a video of a conference presentation, though, the the speaker's voice is essential.

These days, it is relatively easy to get extremely high quality audio using a lapel microphone attached to a smartphone. Lets have a closer look at the details.

Using a lavalier / lapel microphone

Full wireless microphone kits with microphone, transmitter and receiver are usually $US500 or more.

The lavalier / lapel microphone by itself, however, is relatively cheap, under $US100.

The lapel microphone is usually an omnidirectional microphone that will pick up the voices of everybody within a couple of meters of the person wearing it. It is useful for a speaker at an event, some types of interviews where the participants are at a table together and it may be suitable for a wedding, although you may want to remember to remove it from clothing during the photos.

There are two key features you need when using such a microphone with a smartphone:

  • TRRS connector (this is the type of socket most phones and many laptops have today)
  • Microphone impedance should be at least 1kΩ (that is one kilo Ohm) or the phone may not recognize when it is connected

Many leading microphone vendors have released lapel mics with these two features aimed specifically at smartphone users. I have personally been testing the Rode smartLav+

Choice of phone

There are almost 10,000 varieties of smartphone just running Android, as well as iPhones, Blackberries and others. It is not practical for most people to test them all and compare audio recording quality.

It is probably best to test the phone you have and ask some friends if you can make test recordings with their phones too for comparison. You may not hear any difference but if one of the phones has a poor recording quality you will hopefully notice that and exclude it from further consideration.

A particularly important issue is being able to disable AGC in the phone. Android has a standard API for disabling AGC but not all phones or Android variations respect this instruction.

I have personally had positive experiences recording audio with a Samsung Galaxy Note III.

Choice of recording app

Most Android distributions have at least one pre-installed sound recording app. Look more closely and you will find not all apps are the same. For example, some of the apps have aggressive compression settings that compromise recording quality. Others don't work when you turn off the screen of your phone and put it in your pocket. I've even tried a few that were crashing intermittently.

The app I found most successful so far has been Diktofon, which is available on both F-Droid and Google Play. Diktofon has been designed not just for recording, but it also has some specific features for transcribing audio (currently only supporting Estonian) and organizing and indexing the text. I haven't used those features myself but they don't appear to cause any inconvenience for people who simply want to use it as a stable recording app.

As the app is completely free software, you can modify the source code if necessary. I recently contributed patches enabling 48kHz recording and disabling AGC. At the moment, the version with these fixes has just been released and appears in F-Droid but not yet uploaded to Google Play. The fixes are in version 0.9.83 and you need to go into the settings to make sure AGC is disabled and set the 48kHz sample rate.

Whatever app you choose, the following settings are recommended:

  • 16 bit or greater sample size
  • 48kHz sample rate
  • Disable AGC
  • WAV file format

Whatever app you choose, test it thoroughly with your phone and microphone. Make sure it works even when you turn off the screen and put it in your pocket while wearing the lapel mic for an hour. Observe the battery usage.


Now lets say you are recording a wedding and the groom has that smartphone in his pocket and the mic on his collar somewhere. What is the probability that some telemarketer calls just as the couple are exchanging vows? What is the impact on the recording?

Maybe some apps will automatically put the phone in silent mode when recording. More likely, you need to remember this yourself. These are things that are well worth testing though.

Also keep in mind the need to have sufficient storage space and to check whether the app you use is writing to your SD card or internal memory. The battery is another consideration.

In a large event where smartphones are being used instead of wireless microphones, possibly for many talks in parallel, install a monitoring app like Ganglia on the phones to detect and alert if any phone has weak wifi signal, low battery or a lack of memory.

Live broadcasts and streaming

Some time ago I tested RTP multicasting from Lumicall on Android. This type of app would enable a complete wireless microphone setup with live streaming to the internet at a fraction of the cost of a traditional wireless microphone kit. This type of live broadcast could also be done with WebRTC on the Firefox app.


If you research the topic thoroughly and spend some time practicing and testing your equipment, you can make great audio recordings with a smartphone and an inexpensive lapel microphone.

In subsequent blogs, I'll look at tips for recording video and doing post-production with free software.

Categories: Elsewhere

Sven Hoexter: moto g falcon CM 12.1 nightly - eating the battery alive

Planet Debian - Wed, 22/07/2015 - 22:32

At least the nightly builds from 2015-07-21 to 2015-07-24 eat the battery alive. Until that one is fixed one can downgrade to cm-12.1-20150720-NIGHTLY-falcon.zip. The downgrade fixed the issue for me.

Update: I'm now running fine with the build from 2015-07-26.

Categories: Elsewhere

DrupalCon News: Preparing to Make Connections at DrupalCon

Planet Drupal - Wed, 22/07/2015 - 22:20

Attending a conference with thousands of people from around the globe can be quite daunting. It’s easy to get overwhelmed with so many opportunities to network with people from around the world, but once you take the plunge, you’ll find that you have a great time building on your online relationships, advancing business opportunities, and becoming more involved in the community.

Categories: Elsewhere

Drupal Watchdog: VIDEO: DrupalCon Los Angeles Interview: Brett Meyer & Stephanie Gutowski

Planet Drupal - Wed, 22/07/2015 - 18:36

Back in high school, Brett Meyer (ThinkShout Director of Strategy) played the entire Ultima Series, right through Ultima IV; Stephanie Gutowski (ThinkShout Community Engagement Organizer) confesses to playing video games “since I was old enough to hold a controller.”
Together, they wrote a nifty article – “Got Game?” – in Drupal Watchdog 5.01 (Subscribe now! https://drupalwatchdog.com/subscribe/2015), analyzing Dragon Age: Inquisition from a Drupalist perspective.

BONUS! A revealing answer to a provocative question: Would you be in a relationship with someone who practices open source?

Tags:  DrupalCon LA Drupal Video Video: 
Categories: Elsewhere

Viktor Bán: GSoC 2015 - Security Review D8 - Week 8: Request for review

Planet Drupal - Wed, 22/07/2015 - 18:11

I'm working on porting Security Review to Drupal 8 as my Google Summer of Code project this year. 8 weeks have passed since the beginning of the coding period, and the port is ready to be reviewed. In the remaining 4 weeks I'm going to address issues found by reviewers, possibly add more functionality and solve some issues related to the old version of the module prioritizing issues that are already solved in the D8 port. 

What is Security Review?

Security Review automates checking many of the configuration errors that lead to an insecure Drupal site and looks for existing vulnerabilities and attack attempts. The primary goal of the module is to elevate your awareness of the importance of securing your Drupal site. 

How can you help?

If you would like to help, you could review the ported module and post your findings in this issue. It helps if you have used Security Review before.

The 8.x-1.x branch of the code can be downloaded from here. For installation instructions check README.txt.

Alternatively you can use simplytest.me and you won't even have to leave your browser. Start writing Security Review in the first input box, choose the 8.x-1.x branch and start the sandbox! After going through the Drupal installation enable the module on /admin/modules (Extend) and you are ready to start testing. Note: the module has a Drush function that won't be testable this way.

Developer blog for Week 8

This is mainly a developer blog post, so let's walk through what I've worked on this week.

Added status icons

I've added some icons to the first column of the table on Run & review, and that instantly made it look a lot better. Below are the results.

The icons are loaded from /core/misc/icons which has some weirdly named subdirectories inside it, but I'm sure there's an explanation for that, I haven't looked into it.

Added progress bar (Batch)

I've implemented the usage of the Batch API in hope that it would let the user know which check runs slow on their system. Sadly the progress bar doesn't provide the needed information as it can't update itself in the right times. Anyway it does let the user know that something is happening, and it might prevent a few timeouts, so implementing it was still useful.

Wrote tests

I've added a test module that defines 2 security checks. Both checks fill the findings array with some random integers and strings, the difference is that one stores it in the State system, the other does not. This way some tests got more controlled (they don't use the real security checks), and it's also a good way of providing an example implementation of a module that defines security checks.

Fixed code style issues

I've checked pareview.sh for code style issues in the project. I was stunned by the amount of errors it listed, but I've successfully addressed all of them (except false positives). This is the commit that fixed all of them. 

Categories: Elsewhere

Mediacurrent: Getting your Drupal 6 site ready to run on PHP 5.6

Planet Drupal - Wed, 22/07/2015 - 16:14

The Drop isn't the only thing that is moving; so is PHP. If you have a Drupal 6 site you are most likely running PHP 5.3 or older, versions that stopped being supported in 2014 or prior. Now that PHP 5.5 has moved out of active support, some hosts, such as Acquia, are dropping support for anything older and sites will be forced to upgrade, ready or not. The good news is that Drupal 6 can be made to work with PHP 5.6, which is actively supported.

Categories: Elsewhere

Realityloop: 6 image related website performance tips

Planet Drupal - Wed, 22/07/2015 - 15:24
22 Jul Brian Gilbert

Two of the services Realityloop provide are Drupal Site Audits and Drupal Performance Audits. We almost always see that images used in a site haven’t been optimised, something I find surprising given images are often the weightiest parts of a webpage.

There are really 2 separate places where images can be optimised, in the theme, and in site content, I personally think that optimising theme images is a no brainer as you can usually just do it before the site goes live. Content images are something that aren’t something you can really expect your content creators to optimise, luckily we’ve implemented something to deal with that which I will outline in my next post.


Image Types

There are essentially 2 types of images. Raster images define the position of each of the pixels each a different colour arranged to display an image. Vector images are made of paths each mathematically defined that tell it’s shape and what colour it is bordered or filled with.

Raster images can display nuances in light and shading at their created resolution but cannot be made larger without sacrificing quality. Vector images are scalable, allowing the same images to be designed once and resized for any application.

Here are my key tips for optimising the graphics in your theme.


What filetype.. GIF, PNG, JPEG or SVG?

For raster images you’ll usually want to use either PNG or JPEG. SVG’s are your go to web friendly vector format.

Basically GIF’s are almost always larger than a well optimised PNG. JPEGs are usually better than PNG’s when there aren’t any sharp edges, text, or transparency.

If you’re not sure whether you should use a raster or vector file, follow this simple rule of thumb: If you’re drawing something from scratch with only a few colors, go with vector. If you’re editing a photo with multiple colors and gradients, go with raster.

Work with the grid (JPEG)

Nearly everyone has seen a heavily compressed jpeg image that show lots of artifacts,  this is because JPEG’s are made up of a series of 8x8 pixel blocks. We can use these blocks to our advantage in 2 key ways:

Align rectangular objects to this 8x8 grid:

The above image is not aligned to the 8 pixel grid it's file size is 2.53KB

The above image is aligned to the 8 pixel grid it's file size is only 1.84KB using the exact same save settings in Photoshop.

If jpeg images are allowed for upload I try to make the dimensions of any related image styles a multiple of 8 to work with the 8x8 compression system of jpeg.


Use Image Sprites in your theme

Image sprites allow you to reduce the http requests required to load your webpages, you create them by making a single image that contains all of the required images in a grid and then using CSS to manage the display of the correct part of the image.

The simplest way I’m aware of to create image sprites is to use compass sprites, this only works with PNG’s though.

I personally prefer to use SVG’s so that a single asset can be used for all breakpoints within the site, unfortunately the only way I know of to do this is manually create the sprite using an SVG editor (Inkscape or Illustrator for example).


Compress your images

Photoshop has “Save for web” but you can get much better compression using other applications.  If you do use a lossy compression I also recommend using a lossless optimiser straight afterwards to get further filesize savings if it is possible for the filetype you are compressing.

Lossy Compressors

Lossless Compressors

Learn to use Pixel Fitting when shrinking images with hard lines

For a vector graphic to be displayed, the computer has to perform a translation from the mathematical vectors into something that can be displayed with pixels.

This translation process is relatively simple: the computer takes vector lines, lays them on top of a pixel canvas, and then fills in each pixel that the lines enclose. So, for important icons and logos– really, for all rasterised vector images–you should fit the pixels to the grid and ensure they are as sharp as possible.

An excellent description of this can be found at http://dcurt.is/pixel-fitting


For the greatest reduction in filesize optimise files manually

To gain the greatest saving in file size you will need to choose a lossy compression method, for this reason you will pretty much need to play with settings to adjust the image quality versus file size tradeoff.


Stay tuned for my upcoming post about how to implement on-the-fly lossless compression to image uploads on all image fields in your Drupal site

drupal planet
Categories: Elsewhere

Drupal Easy: DrupalEasy Podcast 159: How Drude (Leonid Makarov talks Docker)

Planet Drupal - Wed, 22/07/2015 - 14:20
Download Podcast 159

Leonid Makarov (inqui), Chief Architect at FFW US East joins Ryan to talk about Docker and FFW's (Blink Reaction's) internal developer environment, Drude.

read more

Categories: Elsewhere

Cyril Brulebois: D-I Stretch Alpha 1

Planet Debian - Wed, 22/07/2015 - 13:50

Time for a quick recap of the beginning of the Stretch release cycle as far as the Debian Installer is concerned:

  • It took nearly 3 months after the Jessie release, but linux finally managed to get into shape and fit for migration to testing, which unblocked the way for an debian-installer upload.
  • Trying to avoid last-minute fun, I’ve updated the britney freeze hints file to put into place a block-udeb on all packages.
  • Unfortunately, a recent change in systemd (implementation of Proposal v2: enable stateless persistant network interface names) found its way into testing a bit before that, so I’ve had my share of last-minute fun anyway! Indeed, that resulted in installer system and installed system having different views on interface naming. Thankfully I was approached by Michael Biebl right before my final tests (and debian-installer upload) so there was little head scratching involved. Commits were already in the master branch so a little plan was proposed in Fixing udev-udeb vs. net.ifnames for Stretch Alpha 1. This was implemented in two shots, given the extra round trip due to having dropped a binary package in the meanwhile and due to dak’s complaining about it.
  • After the usual round of build (see logs), and dak copy-installer to get installer files from unstable to testing, and urgent to get the source into testing as well (see request), I’ve asked Steve McIntyre to start building images through debian-cd. As expected, some troubles were run into, but they were swiftly fixed!
  • While Didier Raboud and Steve were performing some tests with the built images, I’ve prepared the annoucement for dda@, and updated the usual pages in the debian-installer corner of the website: news entry, errata, and homepage.
  • Once the website was rebuilt to include these changes, I’ve sent the announce, and lifted all block-udeb.

(On a related note, I’ve started tweeting rather regularly about my actions, wins & fails, using the #DebianInstaller hashtag. I might try and aggregate my tweets as @CyrilBrulebois into more regular blog posts, time permitting.)

Executive summary: D-I Stretch Alpha 1 is released, time to stretch a bit!

(Credit: rferran on openclipart)

Categories: Elsewhere

ComputerMinds.co.uk: Saving the web with responsible websites

Planet Drupal - Wed, 22/07/2015 - 12:06

I recently read the trending article The Web We Have to Save, by blogger Hossein Derakhshan ('Hoder'), who had been imprisoned in Iran for six years. In the article, he talks about how the internet had changed over that time. Quality can be drowned out; what is important is diluted in amongst the trivial.

Personally, I believe any expression of culture will reflect the society it flows from. The internet is a global society, so incorporates so many different aspects of humanity - different, good, and bad. What does the internet say about our global society? I believe that we should all take responsibility to some extent -- especially those of us in the business of websites and content on the internet! Can we contribute to a more responsible internet? Are we equipped to do so?

Categories: Elsewhere

Annertech: Website Security: What You Need to Know as a Site Owner

Planet Drupal - Wed, 22/07/2015 - 12:00
Website Security: What You Need to Know as a Site Owner

Hacked sites. Security flaws. Lost data. Loss of trust. Lost customers. Lost revenue. Nightmare.

Just thinking about themes such as these in the media can send a shiver down your spine. It can all seem very daunting, and not just a bit scary when you start to think about it. This article aims to paint a clear picture of what you should be aware of as a site owner - where security weak points are, and strategies to avoid them.

Categories: Elsewhere

James McCoy: porterbox-logins

Planet Debian - Wed, 22/07/2015 - 07:33

Some time ago, pabs documented his setup for easily connecting to one of Debian's porterboxes based on the desired architecture. Similarly, he submitted a wishlist bug against devscripts specifying some requirements for a script to make this functionality generally accessible to the developer community.

I have yet to follow up on that request mainly due to ENOTIME for developing new scripts outright. I also have my own script I had been using to get information on available Debian machines.

Recently, this came up again on IRC and jwilk decided to actually implement pabs' DNS alias idea. Now, one can use $arch-porterbox.debian.net to connect to a porterbox of the specified architecture.

Preference is given to debian.org domains when there are both debian.org and debian.net porterboxes, and it's a simple use first listed machine if there are multiple available porterboxes.

This is all well and good, but if you have SSH's StrictHostKeyChecking enabled, SSH will rightly refuse to connect. However, OpenSSH 6.5 added a feature called hostname canonicalization which can help. The below ssh_config snippet allows one to run ssh $arch-porterbox or ssh $arch-porterbox.debian.net and connect to one of the porterboxes, verifying the host key against the canonical host name.

Host *-porterbox HostName %h.debian.net Match host *-porterbox.debian.net CanonicalizeHostname yes CanonicalizePermittedCNAMEs *-porterbox.debian.net:*.debian.org
Categories: Elsewhere

Orestis Ioannou: GSoC Debsources midterm news

Planet Debian - Wed, 22/07/2015 - 02:00

Midterm evaluations have already passed and I guess we have also reached a milestone since last week I finished working on the copyright tracker and started the patch tracker.

Here's the list of my reports on soc-coordination for those interested

Copyright tracker status

Most of the functionalities of the copyright tracker are already merged. Specifically navigating in the tracker, rendering the machine readable licenses, API functionalities such as obtaining the license of a file searching by checksum or by a package / version / path or obtaining the licenses of many files at once and their respective views.

Some more functionalities are still under review such as filling the database with copyright related information at update time, using the database to answer the aforementioned requests, license statistics in the spirit of the Debsources ones and exporting a license in SPDX format.

Its going to be pretty exciting when those pull requests are going to be merged since the copyright tracker will be full and complete! Meanwhile I started working on the patch tracker.

Patch tracker

My second task is the implementation of a patch tracker. This feature existed in Debian but unfortunately died recently. I have already started revising the functionalities of the old patch tracker, started identifying target users, creating use stories and cases. Those should help me list the desired functionalities of the tracker, imagine the structure of the blueprint and start writing code to that end.

It is going to be a pretty exciting run of 1 month doing this as my knowledge on the Debian packaging system is not that good just yet. I hope that until Debconf some of the functionalities of the patch tracker are going to be ready.


My request for sponsorship for Debconf was accepted and I am pretty excited since this is going to be my first Debconf attendance. I am looking forward meeting my mentors (Zack and Matthieu), the fellow student working on Debsources (Clemux) as well as a lot of other people I happen to chat occasionaly during this summer. I ll arrive on Friday 14th and leave on Sunday 23.

Categories: Elsewhere


Subscribe to jfhovinne aggregator - Elsewhere