Out & About On The Third Rock: Being human, taking Open Source, Agile and Cloud beyond tech! at Drupal Europe

Planet Drupal - 16 September 2018 - 12:02pm
Privileged to be given the opportunity by organisers at Drupal Europe to share Peace Through Prosperity‘s journey with the Drupal community. Thank you! This was the third rendition of this talk since 2015, and in this time our charity, our work, progress of … Continue reading →
Categories: Drupal

Video Game Deep Cuts: Destiny Forsaken, Remake Uncredited - by Simon Carless Blogs - 16 September 2018 - 5:32am
This week's highlights include a look at Destiny 2's Forsaken expansion, an investigation of how game credits are handled for remasters, & lots more besides.
Categories: Game Theory & Design

Queue Throttle

New Drupal Modules - 16 September 2018 - 3:22am

Allows one to adapt queues to be throttled whilst processing. This can be handy when for example your queue is consuming a third party rate limited API.

Marking a queue for throttled processing, will disable it from running on the default cron. Set up a new cron job to schedule throttled queue processing, or manually run the drush command:

drush queue-throttle (Support for both drush 8 and 9)

Categories: Drupal

Lucius Digital: 19 Cool Drupal modules | September 2018

Planet Drupal - 16 September 2018 - 1:29am
'There's a module for that', this applies to many use cases with Drupal. What is not possible with modules we develop tailor-made instead. But because customization is costly, it is good to keep abreast of the available modules.
Categories: Drupal


New Drupal Modules - 15 September 2018 - 11:39pm

Hereafter I continue development of previous Datex module here.
Please note that this module is not compatible with the previous one, because of namespace conflicts. You need to delete the datex folder before adding datex2.


Datex is a zero-configuration, batteries-included, fire-and-forget, zero dependency date localization and internationalization module. It supports Gregorian (doh!), Persian, and... bundled with a nice jquery date picker.

Categories: Drupal

Community: Drupal Community Working Group Annual Report: 2017-2018

Planet Drupal - 15 September 2018 - 1:57pm
Who Are We?

The Drupal Community Working Group (CWG) is responsible for promoting and upholding the Drupal Code of Conduct and maintaining a friendly and welcoming community for the Drupal project.

The CWG is an independent group chartered directly by Dries Buytaert in his capacity as project lead. The original members of the CWG were appointed by Dries in March of 2013. Since then, new CWG members have been selected by the group from the Drupal community, and then approved by Dries. The CWG is made up entirely of community volunteers, and does not currently have any funding, staff, legal representation, or outside resources.

The CWG’s current active membership is:

  • George DeMet (United States): Joined CWG in March 2013, chair since March, 2016.
  • Michael Anello (United States): Joined CWG in December 2015.
  • Jordana Fung (Suriname): Joined CWG in May 2017.

Rachel Lawson (United Kingdom) was a member of the CWG from May through December 2017, when she started a new position as the Drupal Association’s Community Liaison.

Emma Karayiannis (United Kingdom) and Adam Hill (United Kingdom) have informed the CWG of their intention to formally step down from the CWG once replacements can be found for them; we are currently engaged in a search process to identify new members to fill their positions.

The CWG is also building a network of volunteer subject matter experts who we can reach out to for advice in situations that require specific expertise; e.g., cultural, legal, or mental health issues.

What Do We Do?

The CWG is tasked with maintaining a friendly and welcoming contributor community for the Drupal project. In addition to maintaining and upholding the Drupal Code of Conduct and working with other responsible entities within the Drupal ecosystem to ensure its enforcement, the CWG also helps community members resolve conflicts through an established process, acting as a point of escalation, mediation, and/or final arbitration for the Drupal community in case of intractable conflicts. We also provide resources, consultation and advice to community members upon request.

Other activities the CWG has engaged in in the past year include:

  • Sharing experiences and best practices with representatives from other open source projects, both in a one-on-one setting and at various open source community events.
  • Recognizing community leadership through the Aaron Winborn Award, which is presented annually to an individual who demonstrates personal integrity, kindness, and above-and-beyond commitment to the Drupal community.
  • Helping to ensure the community’s voice is represented in the governance process. While the CWG’s charter does not allow it to make community-wide governance decisions, the CWG did work with other interested members of the community to help organize and facilitate a series of community governance meetings in the fall of 2017 following the results of a survey conducted by the Drupal Association. Results and takeaways from these meetings were also shared with the community-at-large.
  • Organizing a Teamwork and Leadership Workshop at DrupalCon Nashville to explore teamwork, leadership, and followership in the context of the Drupal community. Our goal was to expand the base of people who can step into leadership positions in the Drupal community, and to help those who may already be in those positions be more effective. Takeaways from this event were also shared with the community-at-large.
  • With input from the community, drafting and adopting a Code of Ethics for CWG members that clearly defines expectations for members around subjects such as confidentiality and conflicts of interest.
Incident Reports

The CWG receives incident reports from Drupal community members via its incident report form or via email.

  • In 2017, the CWG received 43 official incident reports submitted.
  • From January 1 through September 14, 2018, the CWG has received 33 official incident reports.

In addition, we regularly receive informal reports from community members, which are not included in the totals above. With informal reports, we often encourage the community member to file an official report as well to establish a written record of the incident and to ensure that they have as much agency as possible over how the issue is addressed.

The types of issues that the CWG has received in the last year include:

  • Community members being disrespectful and rude in issue queues.
  • Technical disagreements and frustrations that turn into personal attacks.
  • Abusive language and harassment in Drupal Slack and IRC.
  • Appeals of bans made by Drupal Slack moderators.
  • Inappropriate language and content at community events.
  • Harassment and trolling of community members on social media .
  • Physical harassment of community members (both in and outside of community spaces).
  • Ongoing issues involving specific community members with established patterns of behavior that are disruptive to others.
  • Drupal trademark questions and issues (these are referred to Dries Buytaert, who is responsible for enforcing the Drupal trademark and logo policy).

The CWG also chose not to act on several reports it felt were being made in bad faith and/or in an attempt to harass or intimidate other community members. As per its charter, the CWG also does not respond to requests to take specific punitive action against members of the community. Our goal is to help people understand and take responsibility for the impact that their words and actions have on others.

The CWG relies primarily on its established conflict resolution process to address incident reports. Depending on the situation, this may involve one or more CWG members providing mediation between the parties in conflict or suggesting ways that they can resolve the issue themselves. For matters that may take an unusually long time to resolve, we provide all involved parties with regular status reports so they know that their issue is still being worked on.

In cases of a clear Code of Conduct violation, the CWG will take immediate steps as necessary to ensure the safety of others in the community up to and including recommending permanent or temporary bans from various Drupal community spaces, such as Slack, IRC,, or DrupalCon and other Drupal events.

Other outcomes may include:

  • Discussion of the issue with involved parties to try to find a mutually acceptable and beneficial outcome.
  • Asking one or more of the involved parties to apologize and/or take other actions to address the consequences of their behavior.
  • Discussion of the issue with the involved parties, after which someone may choose to leave the community voluntarily.
  • Asking someone to leave the community if they are not willing or able to address the consequences of their behavior.
  • Recommending bans from various community spaces, including virtual spaces

In some cases, we may receive an after-the-fact report about a situation that has already been resolved, or where the person making the report has asked for no action to be taken. In those cases, we review the incident, decide whether further action is necessary, and keep it on file for reference in case something similar happens in the future.

While the CWG has in the past directly acted as code of conduct enforcement contacts for DrupalCon (which is run by the Drupal Association and has its own code of conduct distinct from that of the community), as of November 2017 those duties have been assumed by DrupalCon staff. The CWG and DrupalCon staff continue to coordinate with each other to ensure that reports are handled by the appropriate responsible body.

Sharing With the Community

The CWG publishes anonymized versions of its weekly minutes that are shared with the community via our public Google Drive folder. These minutes are also promoted via the CWG’s Twitter account @drupalcommunity.

In addition to the public minutes, the CWG also occasionally issues public statements regarding issues of importance to the broader community and beyond:

The CWG also maintains a public issue queue on Following a series of community discussions in the spring of 2017, the CWG filed a series of issues in this queue to clarify points of confusion and address outstanding concerns about its role in the community.

The CWG also presents sessions at DrupalCon, as well as other camps and events. Sessions presented at DrupalCon in the last year include:

In addition, CWG members have also organized, spoken, and/or participated in Q&A sessions about the CWG at the following events:

  • MidCamp (Chicago, IL)
  • DrupalCamp Asheville (Asheville, NC)
  • Twin Cities DrupalCamp (Minneapolis, MN)
  • DrupalCamp Colorado (Denver, CO)
  • FOSS Backstage (Munich, Germany)
  • Community Leadership Summit (Portland, OR)
  • Edinburgh Drupal User Group (Edinburgh, Scotland)
  • Open Source North East (Newcastle upon Tyne, England)
  • All Things Open (Raleigh, NC) - Upcoming

The CWG is also exploring ways it can make itself available more often to the community via real-time virtual channels such as Slack, Google Meet, or Zoom.

New Challenges Online Harassment

The number of incidents that the CWG handles relating to online harassment, particularly on social media, has increased significantly in the last couple of years. Because this harassment is often perpetrated by individuals or groups of people posting from behind anonymous accounts, it is sometimes difficult for the CWG to positively identify those responsible and hold them accountable for their actions. This is compounded by the apparent lack of interest from leading social media companies in taking action against abusive accounts or addressing harassment that occurs on their platforms in any effective or meaningful way.

The Drupal community’s switch from IRC to Slack for much of its real-time communication has also provided another vector for harassment, particularly targeting people who participate in communities of interest that focus on topics such as diversity, inclusion, and women in Drupal. While it is possible to ban individual Slack accounts, it is fairly easy for perpetrators to create new ones, and because they are not always tied to IDs, it is sometimes difficult to identify who is responsible for them.

Sexual Harassment and Abuse

Following reports last year relating to sexual harassment in the Drupal community, the CWG understands that there are likely additional incidents that have occurred in the past that have gone unaddressed because we are unaware of them. While our code of conduct is clear that we do not tolerate abuse or harassment in our community, we also know that people don’t always feel safe reporting incidents or discussing their concerns openly. As a consequence, nothing is done about them, which undermines the effectiveness of our code of conduct and in turn leads to fewer reports and more incidents that go unaddressed.

It is our opinion as a group that open source communities across the board need better mechanisms and procedures for handling reports of sexual abuse, harassment, and/or assault. We also need to keep better records of incidents that have occurred, so that we can more quickly identify patterns of conduct and abuse, and better ways to recognize and address incidents across projects so that people who have engaged in harassment and abuse in one community aren’t able to repeat that behavior in another community.

Staffing and Resources

We need to ensure that the CWG is adequately staffed to assist with the increasing number of incident reports we receive each year. While several members have pursued relevant professional development and training opportunities at their own expense, the CWG currently has no direct access to funds or resources to pursue them as a group. As a volunteer community group chartered by the project lead, the CWG also currently operates without the benefit of legal protection or insurance coverage.

Initiatives for 2018/2019 Governance Changes

While the CWG is not allowed to make changes to its own charter, in early 2017 we explored a number of potential changes that we had intended to propose to Dries to help make our group more effective and better positioned to proactively address the needs of the Drupal community.

That work was put on hold following a series of community discussions that occurred in the spring of 2017.  Those conversations surfaced questions, suggestions, and concerns about the accountability, escalation points, and overall role of the CWG, many of which we documented and addressed in our public issue queue. While we were able to address many of the issues that were raised, some can only be addressed with changes to the CWG’s charter.

We fully support and appreciate the ongoing work of the Governance Task Force to update and reform Drupal community governance. While we understand that additional changes may occur pending the outcome of the overall governance reform process, we also feel that there are some changes related to the CWG that need to be made as soon as possible. These proposed changes are currently under review both internally as well as with Dries and other involved stakeholders, and will be shared with the community for review and comment prior to adoption.

Updating the Community’s Code of Conduct

The current Drupal community code of conduct was published in 2010 and is based on the Ubuntu code of conduct.  As per its charter, the CWG is responsible for “maintain[ing] the Conflict Resolution Process (CRP) and related documentation, including the Drupal Code of Conduct”. The CWG has made several changes to the code of conduct over the years, the most significant of which was the addition of the conflict resolution policy in 2014, much of which was inspired by work done within the Django community.

While Drupal was one of the first open source projects to adopt a code of conduct, many others have done so since, and there are a variety of models and best practices for open source community codes of conduct. Based on feedback that we have received over the past year, the CWG is working on an initiative to review and update Drupal’s community code of conduct with input and involvement from both the community-at-large as well as outside experts with code of conduct experience from other projects. Our goal is to introduce this initiative before the end of 2018.

Dealing with Banned Individuals

Some local event organizers have asked the CWG for better tools to ensure that they weren’t inadvertently providing a platform to people who have been banned from speaking at or attending other events due to code of conduct violations.  While the number of people who have been banned from attending DrupalCon and other Drupal events is very small, a comprehensive list of the identities of those individuals is currently known only to the CWG and the Drupal Association.

While the CWG does not generally publish the names of individuals who have been asked not to attend Drupal events, we do reserve the right to publish their names and the reasons for their ban if they do not abide by it.  While we believe that this is effective at deterring individuals from attending events they have been banned from, we also understand that it does not always provide other attendees and/or conference organizers with the tools they need to ensure a safe environment at their events.

Members of the CWG have discussed this issue with their counterparts in other communities, and it does not appear that there are consistently established best practices for handling these kinds of situations, particularly in communities as decentralized as Drupal. With the input of the community, we would like to establish clear and consistent guidelines for local event organizers.  

Community Workshops and Training

In 2016, the CWG conducted a survey and interviews of Drupal core contributors to identify sources of frustration during the Drupal 8 development cycle. One of our recommendations was for the project to focus more on developing skills like creative problem solving, conflict resolution, effective advocacy, and visioning in order to broaden understanding of Drupal’s community, its assets and its challenges.

Following the success of the teamwork and leadership workshop that the CWG led in collaboration with the Drupal Association at DrupalCon Nashville in 2018, the CWG is exploring opportunities for additional workshops and training at DrupalCon Seattle and other events.


Over the past few years, the Drupal project and community has grown rapidly, bringing a series of new and evolving challenges. Not only has the project grown progressively more complex with each major release, but the time between releases has increased and more is being asked of the developer community by customers and end-users.

We believe this is a significant contributing factor in the increase in the number of documented incidents of negative conflict, which left unaddressed may result in a decline in contributor productivity and morale. The work of the Community Working Group seeks not only to mitigate the impact of negative conflict, but also to provide the community with the tools and resources it needs to make the Drupal project a safer, more welcoming, and inclusive place.

Categories: Drupal

OpenSense Labs: Building the Drupal Core Strong with The Values

Planet Drupal - 14 September 2018 - 9:30pm
Building the Drupal Core Strong with The Values Akshita Sat, 09/15/2018 - 10:00

“You don’t get to control everything that happens to you, but how you *respond* is a matter of choice.”

That response is based on our values. Call it a belief your parents or society pushed you to pursue or something that you learned with life. Our values condition our responses. 

But how different are the values that we follow in our personal life from the values that build organizations or for that matter a community?

When it comes to the craft of building Drupal and the community we, as a part, need to recognize the art of building software and website, first. 

We share some common values both at OpenSense Labs and at Drupal Community. Let’s talk about these core values and practices that support us. 

“The Drupal Values and Principles describe the culture and behaviors expected of members of the Drupal community to uphold.” The Road to Software Needs to be Strong

In order to build and later maintain a community, it is important that the core values are strong. When building a website or a software it is important we have certain written or unwritten codes of values that we abide by. 

Ensuring the community has the best of what is being offered is done by building a product that doesn’t exclude anyone. This ensures that the features we add are accessible by everyone. 

A clear communication in the community is also important to ensure that the people using that software understand the process of it.  

Impacting the digital landscape that the Drupal community has, we cannot afford to be careless.

Evan Bottcher, ThoughtWorks, explains some core values and practices to build a software. The diagram below is a part of it.  

Each of the eight core practices (in the outer circle) support one or more of those core values. These practices are the actions as an organization and community we need to perform, and it depends a lot on the methods or approaches that we apply. 

Core Values To Build a Software:
  1. Ensuring Quality with Fast Feedback: Quality is not the sole responsibility of the QA. Follow whatever method, if the person building the software doesn’t take the responsibility for the product, nothing will work. 

    It is important that as a software agency we value being able to find out whether a change has been successful in moments not days. The lesser the time we take, the better it is. 
  2. Repeatability: Confidence and predictability comes from eliminating the tasks that introduce weird inconsistencies. We also want to spend time on activities that are more important than troubleshooting something that should have just worked.
  3. Simple and Elegant: Softwares that contain complexity than what is needed are of no use. Sounds rude? Well, it is the truth. 

    What use will it be if people outside the organization can not work on it? 

    This also brings with it the idea to future-proof the content. While we build for what we need now, and not what we think might be coming there should be enough scope to meet the future requirements. 
  4. Clean Code: Talking of making the software future proof means people outside the immediate team can work on it. This requires the code to be clean, which allows the third developer to make relevant changes. 
Values That Build Drupal and Organizations
  • Making Impact

With a community as large as Drupal’ the circumference to affect the number of people increases. But this just doesn’t restrict to people who are working on the core, issues, credits, or documentation. This includes those as well who interact with a Drupal-powered website. 

This is where the idea to impact the lives of people makes more sense. The Article 26 Backpack for Syrian refugees a platform to helps Syrian Refugees secure and share their educational credentials. 

Similarly, as part of our Corporate Social Responsibility, we are open to helping Non profits from a web development and digital strategy perspective. If you are or know a non-profit looking to get a website overhaul or planning digital transformation, please get in touch at

We derive meaning from our contributions when our work creates more value for others than it does for us.

  • United We Stand, Divided We Fall

The community ensures the environment remains as transparent as possible, with decisions being collaborative and not authoritative. The community elections are important and equally transparent where everyone can contribute. 

Asking questions or sharing ideas can be difficult, especially if the questions or ideas are not fully formed or if the individual is new to the community. Drupal groups and forums are the places where people can openly ask questions and put their thoughts among the community members. 

At OpenSense Labs, we are also committed to maintaining a transparent environment which includes not only discussing organizational goals but individual goals as well. This enables every member to participate, learn, and grow. Creating an environment where individual goals are taken care of ensures that the team grows. Not only in numbers but with their output as well. 

We also value the behavior of feedback. The product, after all, belongs to all and not just to a few. This brings in the sense of ownership which helps grow us manifold. We learned this from the Drupal community. Each feature people work relentlessly to improve the state of Drupal. 

Teamwork can empower every contributor. Throughout the history of the Drupal community, many individual contributors have made a significant impact on the project. Helping one person get involved could be game-changing for the Drupal project.

  • Give Respect and Get Respect

Every person is important. For the organization and the community. Just as the community our team is equally diverse. This requires building an environment that supports diversity, equity, and inclusion. Not because it is the right thing to do but because it is essential to the health and success of the project. 

Prioritizing accessibility and internationalization is an important part of this commitment.

  • Work Hard, Party Harder

Working is good, but be sure to have fun. It is important to feel empowered and help others but it is equally important to enjoy and share the company of those you work most of the time with. 

We believe in the concept of work hard and party harder. 

Our values and principles need to be robust as well as flexible to ensure we don’t end up being too rigid. This, of course, involves discussing them regularly with the team and community. 

Check out Drupal Values and Principles

blog banner blog image Blog Type Articles Is it a good read ? On
Categories: Drupal

Matt Glaman: Drupal 7, 8, and 9: deprecate the old to intake the new

Planet Drupal - 14 September 2018 - 4:24pm
Drupal 7, 8, and 9: deprecate the old to intake the new mglaman Fri, 09/14/2018 - 18:24

At Drupal Europe, Dries announced the release cycle and end of life for Drupal's current and next version. Spoiler alert: I am beyond excited, but I wish the timeline could be expedited. More on that to follow.

Here is a quick breakdown:

Categories: Drupal

Ashday's Digital Ecosystem and Development Tips: Optimizing Drupal for SEO

Planet Drupal - 14 September 2018 - 2:00pm


Drupal has a bunch of great SEO tools. Here are several tips and suggested modules for fine tuning SEO within Drupal. Easy SEO wins can be achieved through configuring metatags and URLs. Don’t forget to setup an XML sitemap of your site and submit to major search engines. SEO isn’t a once and done effort, make sure to constantly research and update with search trends.

Yes, but is it good for SEO? This is a question we hear all the time when we mention all of the wonderful capabilities of a Drupal site. First off, let's dispel the myth that there is a CMS that automatically does magical SEO and makes all of your pages rank higher in search. If you want good SEO, the most important thing that you can do is write good and unique content that humans actually want to read. The CMS or web software has nothing to do with it. So let's assume that you already have great content and semantically perfect markup, there are tons of other little things that you can do to further boost your content in the eyes of search engines and Drupal is a great tool for implementing them.

Categories: Drupal

Nintendo requires online subscription to purchase Switch NES controller

Social/Online Games - Gamasutra - 14 September 2018 - 10:43am

Sale of the wireless NES controllers recently announced for the Switch is limited to one per Nintendo account as well. ...

Categories: Game Theory & Design

Migrate JSON Source

New Drupal Modules - 14 September 2018 - 8:53am

Migration sources for JSON encoded data files.

  • JSON Fileset: Files in a directory containing JSON encoded data.
  • JSON File: One file of JSON encoded data containing multiple records. (coming soon)

Also included is a drush command for exporting entities as JSON. This data can then be saved to files for use as migration source data.

Categories: Drupal

Batch API

New Drupal Modules - 14 September 2018 - 8:48am

API for easily creating batches.

Categories: Drupal


New Drupal Modules - 14 September 2018 - 7:47am

Add a ConfigFormBase-like based on state api

Categories: Drupal

Views Autorefresh D8 port

New Drupal Modules - 14 September 2018 - 7:25am

This module are a drupal 8 port of Views Autorefresh module, waiting opening a Drupal 8 branch on it.

Categories: Drupal

Paragraphs Toolbar

New Drupal Modules - 14 September 2018 - 7:19am

This module creates a new toolbar that lists paragraph types alphabetically. This is helpful for large sites with many paragraph types to easily access the subpages of the paragraph type, such as the "Manage fields" or "Mange display" local tasks for a particular paragraph type.

Categories: Drupal

How video game localization works and how much it costs in 2018 - by Nikolay Bondarenko Blogs - 14 September 2018 - 6:46am
What is localization? How about right processes and costs? Which tools work well and which languages we should translate to? All in all, how good your game will perform on foreign markets depends on what approach you choose and how much you spend on ...
Categories: Game Theory & Design

Part 1, Narrative bridging on testing an experience - beyond structures and templates - by Katarina Gyllenback Blogs - 14 September 2018 - 6:40am
What it means to have a cognitive approach to the narrative and how to approach a quality assurance from a narrative perspective beyond templates and strong structures in creation of engagement in digital and interactive contexts.
Categories: Game Theory & Design

Bloom's Taxonomy of Game Reviews - by Michael Heron Blogs - 14 September 2018 - 6:32am
Reviews often spend too much time describing and not a lot of time analysing. This is a discussion of how the use of Bloom's Taxonomy can help address this by systemizing the act of reviewing.
Categories: Game Theory & Design

Testing The Float Test: Comparison VS Chi-Square

Gnome Stew - 14 September 2018 - 5:30am

Recently I came across another video featuring the float test for testing die fairness. For those not familiar, the float test consists of floating your dice in a dense bath of salt water and repeatedly spinning, rolling, or shaking them and letting them settle to see if a certain face or set of faces routinely float to the top. This result is supposed to be indicative of voids or differences in density of your dice and proof that they do not roll fairly. In theory, if a die fails the float test you shouldn’t use it.

I’ve always been skeptical of the float test though. Yes, it certainly can tell you if your dice have imperfections that make one face or collection of faces lighter or heavier than others, but do those differences really result in a meaningful difference in rolls? So, I set out to do a not at all repeatable, not at all scientific test to see if the results from a float test on my d20s, were borne out by a chi-square analysis.

Rough Methodology:

  • I wanted to test all my d20s, but I discarded three of them for the purposes of the test: two which had insufficient contrast to read easily, and one that is an old-school double d10, not a true d20
  • I was left with 22 d20s. I wanted to perform a float test on all of them and note which ones failed and which face(s) repeatedly floated to the top.
  • Then I wanted to perform a chi-square goodness of fit test on those dice. However, since we had a clue which face(s) should be the most (or least) common according to the float test, we should actually be able to do a better test that the standard 19 degree of freedom test vs H0: all faces have a .05 chance of occurrence. Instead we would be able to do the better test against H0: the face(s) indicated by the float test have a chance of occurrence equal to .05 times the number of faces. This test is better since we’re able to target the specific faces that should be off rather than general deviation from the ideal distribution.


I started with 3 cups of water in a small bowl, enough to contain all my d20s at once. I then started adding salt to the bowl, one tablespoon at a time with the goal of getting all my dice to float. One of the dice started to float after I added about 3 tablespoons of salt (about a 1/16 concentration) but the rest stubbornly refused to float as I added tablespoon after tablespoon of salt. Eventually around 10 tablespoons of salt (about a 1/5 concentration), another die started to float, but the salt also stopped dissolving in the water with 20 of my dice still sitting solidly on the bottom of the bowl. I fished out all of the dice and microwaved the solution and was able to get another few tablespoons of salt to dissolve but no additional dice were floating. So, after a quick google search to make sure I wasn’t about to ruin my dice, I transferred the entire solution to a pan (featured above) and slowly heated it on the stove with a few of the stubborn dice on the bottom so I’d know when I had enough salt dissolved. I managed to get about 16 total tablespoons of salt to dissolve (about a 1 to 3 ratio, making my solution literally saltier than Poseidon’s trident) before two things happened:

  1. The salt stopped dissolving yet again.
  2. Impurities and seeding crystals into the solution (via adding salt) caused a rapid crystallization of the salt out of the solution into a thick crust on the top of the pan which broke loose and sunk.

So, I had gotten about as much salt into the water as I was going to be able to in my kitchen. But even after much of the salt crystallized out of the solution, I was able to float four dice (the four pictured above). That’s not a good result out of 22, but it’s something at least. One of them was very recognizable: my PolyHero Wizard die. The other three are generic d20s. If it’s important, the black one pictured above was the first one to float, the Wizard d20 was the second one to float, but may well have floated better because of its unique textured shape. The two translucent greens were the last to float.

Now that I had four floating dice, I was able to do a float test. The black d20 exclusively had the 16,19,6,9, and 3 cluster at the surface, the Wizard die exclusively had the 20 rise to the surface, and the other two had no discernible tendency. If the float test actually works to detect internal voids and bubbles though, the results of the green dice would make sense, as they are clear enough to visibly confirm that none exist. This gave me two dice to run chi-square goodness of fit test on, but I had already run a general 19 degree of freedom goodness of fit test on my PolyHero Wizard d20, so I was even more skeptical that I would find anything amiss with it. Still, for the sake of being thorough, I went ahead and tested it again.

Remember, that the end result of a chi-square goodness of fit test is a p-value and “if the p is low, H0 must go” i.e.: if your p-value is lower than a standard critical value (usually .1, .05 or .01 depending on how skeptical you want to be) you must reject your original hypothesis. Remember also, in this case our hypothesis is that the faces indicated by the float test came up a proportion of the time equal to .05 times the number of indicated faces (i.e.: the die follows the normal fair distribution). For each, I rolled the die 100 times and ran a one degree of freedom goodness of fit test on the two categories of “float test faces” and “other faces”.

For the wizard die, which had exclusively had the 20 rise to the surface, if it was a fair die we would expect 5 20s to be rolled and 95 other faces. Instead we saw 4 20s and 96 other faces. This results in a p-value for a chi-square goodness of fit with 2 categories (1 degree of freedom) of about .35. This is not sufficiently low to reject our H0, so we do not have sufficient evidence to conclude that the results of the float test are meaningful. As I stated earlier, this isn’t surprising, as I had already run a standard goodness of fit test on this particular die and not found sufficient evidence to reject it’s fairness.

For the black die, which had exclusively had the 16,19,6,9,3 cluster of sides rise to the surface, if it was a fair die we would expect those 5 sides to be rolled 25 times, and the other 15 sides to be rolled 75 times. Instead we saw 26 and 74 occurrences respectively. This resulted in a p-value of about .18. This is lower than the results of the wizard die, but still not sufficiently low to reject our H0. Thus we don’t have sufficient evidence to conclude the float test results are meaningful in this case either.

End Conclusion:

Honestly, this debacle is inconclusive. I couldn’t even get 18 of my 22 dice to float. Either better conditions, a better method of making the solution or a denser solution is required for me to test more dice.  If anyone has suggestions of how to improve my results here, I’d love to hear them. I’m willing to give this another go with more dice. Reading sources online I also find that others have seen the same results I have with dice floating at wildly different densities of solution. It’s possible that this is related to the presence of bubbles and voids and more prominent ones make for denser dice. It’s also possible this relates to particular type of material used in manufacture.

However, given the difficulty in successfully executing a float test, and the proportion of my dice that resolutely refused to float, and the fact that in the two cases we could test, we found no evidence to support the conclusions of the float test, I’m going to tentatively call the float test as impractical and not supportable, but would be very interested in running more tests once I have a better protocol to work with.

Have you had better success with the float test? Swear by it? Have you conducted this or a similar experiment yourself? I’d love to hear from you so I can get tips for another go at this.

Categories: Game Theory & Design

Amazee Labs: Drupal Europe: Day four Highlights

Planet Drupal - 14 September 2018 - 4:25am
Drupal Europe: Day four Highlights

Vijay tells us about the fourth day's highlights in Darmstadt, Germany.

Vijay Dubb Fri, 09/14/2018 - 13:25 Keynote

The 4th day of Drupal Europe began with a discussion by a panel made up of Dries Buytaert, Barb Palser, Heather Burns, Hurley Mautic, and Timothy Lehnen, about the future of the open web and open source. Some interesting points were made, especially how we have the responsibility of making open source better, and how we can better protect the four software freedoms principles.

Decoupled Drupal: Implications, risks and changes from a business perspective

Next up was our very own Michael, who gave a presentation on Decoupled Drupal. Some interesting points were made in this presentation. As a developer I love the fact we can experiment with technology, however, I never really gave a second thought about how this can have an impact, both for the company and potential clients. Decoupling for sure has success and failures that we all are going to experience. For example, time to train the team to be up to date with the latest technology and with this come cost. In the end, however, it is an investment. One clear message from this presentation that I took was we should expect failure, and we should not get discouraged by it, but rather learn from it. We should also celebrate the success.

JavaScript Modernisation Initiative

The third presentation I went to was the JavaScript Modernisation Initiative, presented by Lauri Eskola, Matthew Grill, Cristina Chumillas, Daniel Wehner, and Sally Young. As a contributor to this initiative, it was great to hear how this idea came about as this was something I didn't really know. I came to learn that it all began at DrupalCon Vienna, where the idea of how to create a decoupled backend, with a redesigned, and modern administration experience in Drupal came up. As of now, the product is clearly in the prototype stage, with plans to remove the current implementation of Material UI and update using the design created by Christina, which is in the early stages of concept. If you would like to get involved in this initiative, you can find out more on the Drupal website.

Improving the Editor Experience: Paragraphs FTW

After lunch, it was time for Stew to give his second presentation of the week, this time on his own. His presentation was all about paragraphs, a beginners overview of using paragraphs to make the editors experience more fun. Stew went on to explain how to give more control over content layout, and the pros and cons of some of the contrib modules that support paragraphs. Even though this presentation was about Paragraphs, Stew did mention that there were other alternatives to this great module. Way to go Stew, two presentations in one week.

Decoupling Drupal with GraphQL & Twig

The final presentation I attended was by Philipp. He explained what GraphQL is and what it is not, and how much more it can do, such as Search API indexing, and feed Twig templates. One exciting part of this session was the reuse of fragments, meaning you can write one query and reuse it across many templates. It is clear to see why GraphQL is very popular, however, one interesting point that was brought up was that it isn't the same as injecting SQL into Twig. Phillip responded by saying a GraphQL query is not something that is executed, it is a definition of requirements, which you request from the implemented backend. Phillip also thanked Sebastian Siemssen, who happens to be both a core maintainer of the GraphQL module and an ex amazee.


After the conference, we headed back to the hostel to refresh and then headed out to eat for our final night in Darmstadt. After that we headed back to the venue for trivia night, this was my first time at trivia night, and it was full of fun, great people, atmosphere, food and drink, and great questions. After six rounds of questions, lots of laughter, and a small hiccup with their Google doc, the scores were tallied, and team 16 had won first prize, of which included Stew and Mostfa.

You could also say that Day 4 was pretty “Amazee-ing” with lots happening with our team. Congratulations to all from everyone at Amazee, both at the conference and those left behind.

I would also personally like to thank the Drupal Association for giving me a diversity ticket without which I would not have been able to attend this great conference and have a week of both excellent presentations and being able to continue to contribute to great initiatives.

Categories: Drupal


Subscribe to As If Productions aggregator