Skip to Content


Missed Opportunities at NYU's Practice 2015 Conference - by Keith Burgun Blogs - 16 November 2015 - 10:12pm
NYU's Practice: Game Design in Detail conference is one of the best conferences in the world for those who really want a technical deep dive on understanding interactive systems. But this year's event seemed quick to reject opportunities for progress.
Categories: Game Theory & Design

Making of Super Mega Baseball No.12 - PAX East - by Liane Howill Blogs - 16 November 2015 - 10:12pm
Super Mega Baseball hadn't been a real game long before the guys took it to PAX East, where strangers played it for the first time. This post covers the experience we had at the show.
Categories: Game Theory & Design

VR Quick Tip: Reticle Positions - by Tod Semple Blogs - 16 November 2015 - 10:12pm
While developing Bazaar, we ran into issues debugging the reticle position -- the eye-shaped cursor in the center of the view that shows where the player is looking. Here’s a quick tip that helped us.
Categories: Game Theory & Design

What happens when your Kickstarter is suspended for trademark infringement? - by Zachary Strebeck Blogs - 16 November 2015 - 10:12pm
Game lawyer Zachary Strebeck takes a look at a recent Kickstarter trademark dispute and draws some lessons for other creators to avoid claims of infringement.
Categories: Game Theory & Design

The Danger of Being Fungible - by Filip Wiltgren Blogs - 16 November 2015 - 10:12pm
More and more games are fungible, that is, they are clones not only in form but in the minds of players. Riding on the coat tails of a breakaway hit might work in the short run, but in the long run it will destroy your reputation and your customer base.
Categories: Game Theory & Design

Baby steps to an Artificial Intelligence - by Yowan Langlais Blogs - 16 November 2015 - 10:12pm
Here is a conceptual step by step guide on how to make a simple AI.
Categories: Game Theory & Design

Unsustainable Strategy: Buying Traffic To Scale Installs - by Rich Melcombe Blogs - 16 November 2015 - 10:12pm
Most game companies rely on buying traffic to scale game installs. This is not a sustainable strategy. Big game companies monopolize the best media within their own games, and can block third-parties from advertising. Then there is ad blocking tech...
Categories: Game Theory & Design

SVG Sanitizer

New Drupal Modules - 16 November 2015 - 8:38pm

Integrates Drupal with the SVG Sanitizer library

Categories: Drupal

Video Embed Vidyard

New Drupal Modules - 16 November 2015 - 7:30pm

This module adds support for Vidyard to the video_embed_field module.

Categories: Drupal

MasterCard poised for growth

Dries Buytaert - 16 November 2015 - 7:23pm

I don't usually write about the topic of investing, but it is something I enjoy, so I decided to take the jump by sharing some thoughts on MasterCard, one of my favorite companies. Although it's not an obvious technology disruptor, MasterCard is a successful technology company. When it comes to investing, boring can be beautiful. Mastercard is relevant in the context of my blog, where I often write about the digitization of the world.

An investor who invested $10,000 in MasterCard around the time of its IPO in 2006 would have seen that investment grow to $200,000 today. MasterCard has significantly outperformed the S&P 500, since a $10,000 investment in the S&P 500 would have returned less than $20,000 over the same 9.5 year time frame. I was not fortunate enough to buy at the IPO; I only got into MasterCard 18 months ago.

MasterCard, along with its rival Visa, has one of the most lucrative business models I've seen. MasterCard and Visa enjoy a virtual duopoly in payment transaction processing. Unlike other credit card companies like American Express, MasterCard and Visa don't assume any of the credit risk; the customer's bank takes on the risk of its customer not being able to pay the bill, and either the merchant or their bank takes the risk for charges that are fraudulent or unrecoverable. What makes MasterCard and Visa so lucrative is that they simply act as "digital tollbooths" that take a small interchange or "swipe fee" on every credit or debit card transaction that goes through their network, without assuming any of the risk.

When you pay $100 with your MasterCard, MasterCard takes about $2.60 in interchange fees and the retailer collects the remaining $97.40. MasterCard has a net profit margin of an astounding 52%. So of that $2.60, MasterCard gets to keep $1.30. Now consider that MasterCard processes many billions of credit card "swipes" each year, and you start to see the beauty of their business model. Because MasterCard has minimal capital expenses, it is able to generate enormous free cash flows and maintain a pristine balance sheet with virtually no debt. It can then invest the retained profits toward new technology, advertisements, share buybacks, dividends, etc.

Growth opportunity

As someone living in the United States, I take my credit cards for granted and use them to pay for almost everything; at the grocery store, at Starbucks, my utility bills, train and plane tickets, etc. I almost never use cash.

But that is far from the norm; MasterCard cites a global credit card penetration of just 15%. Cash usage has declined to 59.4% in developed markets, while it is still 92.7% in emerging markets. This means that MasterCard is likely to have years of growth ahead, as 85% of global transactions are still cash-based. For example, at present, the Chinese market is dominated by state-backed UnionPay, but China recently opened its domestic transactions to foreign companies like MasterCard. The company claims it is already seeing double-digit annual growth in cross-border credit card transaction volume in China, primarily fueled by e-commerce. Beyond China, the ecommerce market is growing 25% year-over-year globally, opening up even more opportunity. All things considered, I believe MasterCard is poised to continue to see tremendous revenue growth. In addition, MasterCard continues to buy back stock (3-5% of the float per year) which further adds to their earnings-per-share growth.

Possible risks

Technology disruption seems like the biggest risk to MasterCard. While MasterCard and Visa currently play prominent roles in both Apple and Google's digital wallet as the processing "middlemen", that could change. If Apple or Google creates a more secure payment infrastructure, there might be no need for a MasterCard or Visa. Furthermore, technologies like the Blockchain could render companies like MasterCard and other middlemen in the payments value chain obsolete. Merchants are more likely to adopt new technologies if they get some sort of benefit in the form of reduced interchange fees or risk. What better way to reduce fees than cutting out the middleman?

While emerging markets do represent the largest areas for growth for a company like MasterCard, in some countries, it will be extremely difficult to set up the same level of banking infrastructure that the US or Europe has. That is why we're seeing mobile payment technologies like M-PESA take off in Kenya, enabling the easy transfer of cash over an alternative to credit card rails. There is a chance that technologies like M-PESA could leapfrog traditional credit card infrastructure entirely.

There are also some big legal and regulatory risks. Since Visa and MasterCard operate a near-duopoly, they have a lot of government eyes watching them on behalf of merchants. For example, in 2010, the US passed the Durbin Amendment, which forced Visa and MasterCard to lower interchange fees on credit card transactions. Also, both Visa and MasterCard are being investigated for price-fixing and possible collusion in a near $6 billion settlement lawsuit with merchants. Each of these legal and regulatory hurdles could become a significant hit to MasterCard's bottom-line.


Despite these risks, MasterCard isn't going anywhere anytime soon. The strong growth drivers, the relative lack of immediate competitive threats, and their profitable business model make me believe that MasterCard will keep outperforming the market. There are a few things to dislike about MasterCard; at 0.65% the dividend is low and at 30 the price-to-earnings ratio is high. The high price-to-earnings ratio makes MasterCard somewhat risky, as stocks with a premium valuation are more vulnerable to a steep corrections. I think MasterCard is a buy-and-hold, as long you buy into it at the right price point ...

Disclaimer: I'm long MasterCard. Before making an investment in any of the companies mentioned, you should do your own proper due diligence. Any material in this article should be considered general information, and not a formal investment recommendation.

Categories: Drupal

Four Kitchens: Austin's Drupal 8 Launch Party Here we come!

Planet Drupal - 16 November 2015 - 6:36pm

Join us and the rest of the Austin community for a well-deserved par-tay! We have quite the party planned: including BBQ, a cake, a pinata and even a raffle.

Categories: Drupal

Web Experience Toolkit: Webform

New Drupal Modules - 16 November 2015 - 4:03pm

Provides Webform functionality in [Drupal WxT][drupalwxt].

Key Features

Categories: Drupal

Drupal @ Penn State: Cache warming authenticated sites with XMLRPC

Planet Drupal - 16 November 2015 - 12:56pm

This video talks through how XMLRPC Page Load and HTTPRL Spider can be used to warm caches on private / authenticated sites. XMLRPC Page Load provides a callback that tricks Drupal into thinking that it’s delivering a page to certain user account. It does this by simulating page delivery but then never actually writing the output anywhere.

Categories: Drupal

Drupal @ Penn State: The future of Drupal under the hood

Planet Drupal - 16 November 2015 - 12:56pm

I’m in the middle of several Drupal Camp / Con’s (any event over 1000 people is no longer a “Camp” but that’s for another time) and it’s occured to me: I can no longer learn by going. Now, this is learn in the traditional sense of what I used to go to Camps for (been coming to camps for 8 years now).

Categories: Drupal

Video: 4 questions to help you find the best theme for your game

Social/Online Games - Gamasutra - 16 November 2015 - 12:42pm

As part of the GDC 2013 Microtalks sessions, Plants vs. Zombies creator George Fan hopped up on stage to quickly run down four questions he'd created to help clarify the themes of his games. ...

Categories: Game Theory & Design

Chromatic: TheaterMania: Lessons Learned on Localization

Planet Drupal - 16 November 2015 - 12:28pm

We recently launched a new site for an existing client, TheaterMania. We helped launch and currently maintain and develop The Gold Club, which is a subscription-based discount theater club in New York City. The new site is the same thing, but in London – same language, same codebase, new database, different servers. We only had to migrate users, which were already exported for us, so nothing exceptional there. Shouldn’t be a big deal, right? We learned that’s not always the case.

Architectural Decisions

One of our first problems, besides the obvious localization issues (currency, date formats, language), was to decide what we were shipping. Were we just building another site? Were we packaging software? There will most likely be more sites in other cities in the future – how far did we want to go in terms of making this a product that we could ship? In the end, we wound up going somewhere in the middle. We had to decide initially if we would use Organic Groups to have one site with multiple “clubs,” one Drupal multisite installation, or multiple Drupal installations. The final decision was to combine the latter two choices – we created multisite-style directories so that if we need to take the site in a multi-site direction, we can easily do that. The sites each have a site-specific settings file, full of various configuration variables.

Now that the site has been launched, we’re not sure if this list of variables will be developer-friendly moving forward, and have been keeping in mind that we may want a more elegant solution for this. The best part about this setup is that we have one codebase, one master branch, and each site is configured to use the appropriate settings. The most important thing is that this is all very thoroughly documented, both in the code, README files, and the repo wiki.

Currency & Recurly: Easier than Expected

One of the issues I thought would be very problematic was currency, but that wasn’t actually an issue. All of the existing transactions are set up in cents – ie, 100 instead of 1.00 for a dollar, and that translates perfectly from dollars to pounds. We use Recurly, an external payment and subscription processor, so we didn’t have to worry about any localization issues on that front. Most of the currency abstractions I did were to remove any hard-coded references to the dollar sign, and create functions and variables to get the appropriate currency symbol.

Dealing with Dates; Ugh.

Date formats were something I expected to be easy, but that wound up being more complex. I discovered hook_date_combo_process_alter() to change the display of the date in calendar popup fields. This made what I’d thought was going to be a difficult series of view handlers really simple. We have several fields using the date combo box on both content types and entities, and this function took care of them.

* Implements hook_date_combo_process_alter().
* Changes the date format.
function gc_display_date_combo_process_alter(&$element, &$form_state, $context) {
  if (isset($element['#entity']->type)) {
    switch ($element['#entity']->type) {
      case 'event':
        $element['value']['#date_format'] = variable_get('date_format_short');

      case 'partner':
        $element['value']['#date_format'] = variable_get('date_format_short');
        $element['value2']['#date_format'] = variable_get('date_format_short');

      case 'promo_offer':
        $element['value']['#date_format'] = variable_get('date_format_short');
        $element['value2']['#date_format'] = variable_get('date_format_short');

  elseif (isset($element['#entity']->field_name)) {
    if ($element['value']['#instance']['widget']['type']  'date_popup' && $element['#entity']->field_name  'field_user_csr_notes') {
      $element['value']['#date_format'] = variable_get('date_format_short');

I took the dozen or so existing date formats from Drupal, altered some of them to meet our needs, and added a few more. My head also started spinning when testing because I’m so used to M/D/Y formats that D/M/Y formats look really strange after a while, especially because code changes needed to be tested on the US and UK sites, so I had to be really careful when visually testing a page to make sure that a US page was showing 9/1/15 and the UK page was showing 1/9/15. In the future, I’d definitely advocate for a testing suite on a project like this. Overall, making sure all of the dates were changed was somewhat tedious, but not difficult. It required a lot of attention to detail and familiarity with PHP date formats, and vigorous testing by the whole team to make sure nothing had been missed.

Proper Use of t() Early == Wins Later

This project made me extremely grateful for the t() function. Since both sites were in English, we didn’t have a need for site-wide translation, but we did need to localize a handful of strings, both for language issues (words like ‘personalize’ vs ‘personalise’), and the general language preference of the stakeholders. It was easy enough to find the strings and list them in locale_custom_strings_en to switch them out. One gotcha we came across that I wasn’t familiar with – you cannot use t() in your settings files. The function isn’t available at that point in the bootstrapping. You can use get_t(), but we opted to remove the translation strings from any variables and make sure that t() was used when the variable was called. This wasn’t something I had run into before, and it caused some problems before we figured it out.


A few tricky miscellaneous problems cropped up, too. There was a geolocation function enabled in Recurly, which was defaulting to the US and we were unable to change the settings – we also didn’t realize this when testing in the US, and we scratched our heads when the London team told us the field was defaulting to US until we came across the culprit. We were able to fix it, and put in a patch for the library causing the issue.

I also realized how many various settings default to the US when working on this project – a lot of the location-related work was just abstracting out country defaults. Something to keep in mind if you’re working on a project with locations. Don’t make more work for developers who live or work on projects outside of the US. Plan for the future! Assume nothing!

Looking Back

I’m really glad that I worked on this project, because it’s made me develop with a better eye for abstraction of all kinds, and making sure that it’s easy for developers or users to work with my code anywhere. In the future, I’d put more thought into managing our configurations from the start, as well as automating the testing process, both for time-saving and better QA.

If you’ve ever worked on a site with challenges like these, I’d love to hear how you handled them! What are your best practices for managing custom locale strings and other site-specific variables? To what extent do you abstract things like dates and currency when developing a site, even when you don’t know if those will ever change?

Categories: Drupal

Acquia Developer Center Blog: Open Sourcing Statsgod, a StatsD Implementation In Go

Planet Drupal - 16 November 2015 - 12:10pm
Kevin Hankens

Acquia Engineering is excited to be open-sourcing Statsgod, a reimplementation of StatsD we created internally to help scale our metrics collection effort.

Acquia developers often create tooling to build, deploy, and monitor applications we run on Amazon Web Services, and Statsgod is one such tool that we want to make publicly available. Statsgod was designed to be highly scalable and easily deployed.

Tags: acquia drupal planet
Categories: Drupal

DrupalOnWindows: Exposing reverse entity reference fields in Drupal

Planet Drupal - 16 November 2015 - 11:55am
Language English

Entity references in Drupal is the mechanism used to do some "proper" (sorry for the quotes but what you can achieve with Drupal is years behind a real ORM such as the Entity Framework in terms of usability, reliability, flexibility and overal quality) data modeling without having to write everything from scratch including queries, widgets and storage. 

More articles...
Categories: Drupal

Don't Miss: 'Flow' and the psychology of great game design

Social/Online Games - Gamasutra - 16 November 2015 - 11:31am

Microsoft Studios researcher Sean Baron takes a look into the often discussed but rarely defined concept of 'Flow' in this classic 2012 feature, with suggestions for helping players get into the zone. ...

Categories: Game Theory & Design

Pantheon Blog: Better Behavior-Driven Development on Remote Servers

Planet Drupal - 16 November 2015 - 9:48am
Behavior-Driven Development is a widely-used testing methodology that is used to describe functional tests—that is, tests that operate on the whole of a system—in natural, readable language called Gherkin syntax. The goal of this methodology is to make the contents of the tests approachable to non-technical stakeholders. This makes it possible for a project’s functional tests to be meaningfully used as the acceptance criteria for the product.
Categories: Drupal
Syndicate content

about seo