Skip to Content

Newsfeeds

The Appeal of Hunting Monsters - by Trent Polack

Gamasutra.com Blogs - 18 February 2015 - 7:53am
Monster Hunter has been an enormous franchise in Japan, but never really found legs in the US. Thankfully, that didn't stop Capcom from publishing it here, and now with Monster Hunter 4 Ultimate, it looks like Capcom have gone all-in with Monster Hunter.
Categories: Game Theory & Design

InternetDevels: Drupal vulnerability or developers' carelessness?

Planet Drupal - 18 February 2015 - 7:16am

In October, 2014 Sektion Eins company has discovered vulnerability which affects all branches of Drupal 7 versions. It allows performing any SQL-request to database even without having permissions in the system. The security risk was recognized as highly critical. The corresponding core update was released on October, 15. It upgraded the core to 7.32 version and eliminates this vulnerability. And now we’ll talk about some other kinds of vulnerabilities.

Read more
Categories: Drupal

Dcycle: A quick intro to Docker for a Drupal project

Planet Drupal - 18 February 2015 - 7:05am

I recently added Docker support to Realistic Dummy Content, a project I maintain on Drupal.org. It is now possible to run ./scripts/dev.sh directly from the project directory (use the latest dev version if you try this), and have a development environment, sans MAMP.

I don't consider myself an expert in Docker, virtualization, DevOps and config management, but here, nonetheless, is my experience. If I'm wrong about something, please leave a comment!

Intro: Docker and DevOps

The DevOps movement, popularized in the last years, promises to include environment information along with application information in the same git repo for smoother development, testing, and production environments. For example, if your Drupal module requires version 5.4 of PHP, along with a given library, then that information should be somewhere in your Git repo. Building an environment for testing, development or production should then use that information and not be dependent on anything which is unversioned. Docker is a tool which is anchored in the DevOps movement.

DevOps: the Config management approach

The family of tools which has been around for awhile now includes Puppet, Chef, and Ansible. These tools are configuration management tools: they define environment information (PHP version should be 5.3, Apache mod_rewrite should be on, etc.) and make sure a given environment conforms to that information.

I have used Puppet, along with Vagrant, to deliver applications, including my Jenkins server hosted on GitHub.

Virtualization and containers

Using Puppet and Vagrant, you need to use Virtualization: create a Virtual Machine on your host machine. Docker uses containers so resources are shared. The article Getting Started with Docker (Servers for Hackers, 2014/03/20) contains some graphics which demonstrate how much more efficient containers are as opposed to virtualization.

Puppet and Vagrant are slow; Docker is fast

Puppet and Vagrant together work for packaging software and environment configuration, but it is excruciatingly slow: it can take several minutes to launch an environment. My reaction to this has been to cringe every time I have to do it.

Docker, on the other hand, uses caching agressively: if a server was already in a given state, Docker uses a cached version of it move faster. So, when building a container, Docker goes through a series of steps, and caches each step to make it lightning fast.

One example: launching a dev environment of Jenkins projects on Mac OS takes over five minutes, but launching dev environment of my Drupal project Realistic Dummy Content (which uses Docker), takes less than 15 seconds the first time it is run once the server code has been downloaded, and, because of caching, less than one (1) second subsequent times if no changes have been made.

Configuration management is idempotent, Docker is not

Before we move on, note that Docker is not incompatible with config management tools, but Docker does not require them. Here is why I think, in many cases, config management tools are not necessary.

The config management tools such as Puppet are idempotent: you define how an environment should, and the tools runs whatever steps are necessary to make it that way. This sounds like a good idea in theory, but it looks like this in practice. I have come to the conclusion that this is not the way I think, and it forces me to relearn how to think of my environments. I suspect that many developers have a hard time wrapping their heads around idempotence.

Docker is not idempotent; it defines a series of steps to get to a given state. If you like idempotence, one of the steps can be to run a puppet manifest; but if, like me, you think idempotence is overrated, then you don't need to use it. Here is what a Dockerfile looks like: I understood it at first glace, it doesn't require me to learn a new way of thinking.

The CoreOS project

The CoreOS project has seen the promise of Docker and containers. It is an OS which ships with Docker, Git, and a few other tools, but is designed so that everything you do happens within containers (using the included Docker, and eventually Rocket, a tool they are building). The result is that CoreOS is tiny: it takes 10 seconds to build a CoreOS instance on DigitalOcean, for example, but almost a minute to set up a CentOS instance.

Because Docker does not work on Mac OS without going through hoops, I decided to use Vagrant to set up a CoreOS VM on my Mac, which is speedy and works great.

Docker for deploying to production

We have seen that Docker can work for quickly setting up dev and testing environments. Can it be used to deploy to production? I don't see why not, especially if used with CoreOS. For an example see the blog post Building an Internal Cloud with Docker and CoreOS (Shopify, Oct. 15, 2014).

In conclusion, I am just beginning to play with Docker, and it just feels right to me. I remember working with Joomla in 2006, when I discovered Drupal, and it just felt right, and I have made a career of it since then. I am having the same feeling now discovering Docker and CoreOs.

I am looking forward to your comments explaining why I am wrong about not liking idempotence, how to make config management and virutalization faster, and how and why to integrate config management tools with Docker!

Tags: blogplanet
Categories: Drupal

Commerce RBK Money

New Drupal Modules - 18 February 2015 - 6:51am

Provides an interface for making payments via RBK Money payment system
Installation:
- copy module folder in /sites/all/modules
- turn it on at the page /admin/build/modules in “Commerce (payment)” section
- set permission for module here admin/people/permissions
Settings:
- go to the admin/commerce/config/rbkmoney
- copy URL from "Payment notification URL" field and paste it in "Payment notification" field at the RBK Money merchant settings page
- enter your site ID (from RBK Money merchant settings page)

Categories: Drupal

Acquia: Helping Remote Teams Work - The Manager

Planet Drupal - 18 February 2015 - 6:51am
Language Undefined

Part 2 of 2 – I ran into Elia Albarran, Four Kitchens' Operations Manager at BADCamp 2014. She mentioned she'd read my blog post 10 Tips for Success as a Remote Employee; we started exchanging tips and ideas until I basically yelled, "Stop! I need to get this on camera for the podcast!" She graciously agreed and brought along two Four Kitchens developers for the session, too: Taylor Smith and Matt Grill, whom I spoke with in part 1.

Categories: Drupal

Drupalize.Me: Release Day: PhpStorm for Modern PHP Development

Planet Drupal - 18 February 2015 - 6:15am

Ready to take your PHP development to the next level? This week, we have another batch of video tutorials from the awesome folks at JetBrains on their IDE, PhpStorm. In these tutorials, you'll learn how to generate code using templates, set up your modern PHP app with namespaces, PSR-0 or PSR-4, integrate Composer, and debug like a pro.

Categories: Drupal

An open letter to game publishers: Please stop trying to make me feel like a Sleaze.

Gnome Stew - 18 February 2015 - 12:21am

Dear game publishers,

Listen, I get it: sex sells. And I know we’re in this enlightened age where no one cares what anyone is into and no one is ashamed of their body (or at least those statements SHOULD be true and we’re working on it), but I belong to the gender that’s often accused of primarily thinking with their gonads and I’d prefer not to foster the image that that’s true.

So the thought of buying products that look like porn makes me uncomfortable because even if I know that I bought it because it’s a great product, I know that anyone who sees me in the checkout line waiting to buy something that looks like porn “knows” that I’m just shelling out my cash because of the eye candy, which makes me look like a sleaze and like an unsavvy consumer who will throw money at anything with a hot girl on the cover.  Sure, none of their business, but that doesn’t stop me from being worried about what everyone is thinking.

You may say: “So what? Who buys stuff in a retail store with people looking at you anymore? Buy it online.” And sure that works, unless you want to support your FLGS, or you have friends who come over to game, or you have a family. Especially if you have a family. It’s one thing if total strangers think I’m a dirty old man, it’s definitely another for my family to think that, even if I know they know better (I hope).

It’s worse as I get older too. As a teenager and in my twenties, it wasn’t that big of a deal if people thought I enjoyed some softcore with my gaming. As I age, I fall into the decidedly different and much less favorable stereotype of “dirty old man”, so I’m a lot more careful about what I buy. This may be correlated with the family factor, or any number of other things, but the fact remains the older I get the less likely I am to pick up these sort of products.

And it’s not just products that are too sexualized for me either. Let me tell you a story about GenCon 2012: I was on my way to a game in the miniature hall, so I was craning my neck about both to find the right table and to see everything on display. I leaned close to a table as I walked by, saw it was a historical tactical miniature wargame about tanks and kept walking (If your thing is historical tank games, help yourself but they are Not My ThingTM). However, one of their staff had noted my interest and smelled a sale, so she interposed herself in front of me and started in on her spiel. It’s my own fault, but I am not the kind of guy who can quickly say “No thank you” and brush past someone, so I ended up standing in the middle of the convention hall trying to politely disengage from a salesperson. Now, to her credit, she was completely professional and an excellent salesperson, and if I didn’t hate parting with my money even more than I hate saying no, I probably would have ended up with a bright shiny copy of their game instead of a flyer and a promise to stop by their website. Here, however is the point: I know it’s kind of part of the con experience to drool over the women manning the booths, but it very much made me feel uncomfortable and desperate to get away standing there listening to a pitch from a lady half my age evidently cosplaying “Allied officer who lost half of her uniform jacket fighting the good fight”. While it’s true I was talking to her because she wanted to sell me something, to an outside observer I’m sure I looked like just one more of those guys who refuse to take the hint and leave the “booth babes” alone. Now maybe she was just a regular employee who just liked to cosplay (she seemed knowledgeable enough) and if I knew that was the case it actually wouldn’t have bothered me as much, but I suspect in the majority of cases these are “marketing event consultants”, hired for the event and talking to them just makes me feel creepy.

Now, in a rare moment of self awareness, I will admit that the frequency and degree with which this issue impacts me is fairly small and that certainly my demographic is not the one most impacted by these practices. The real reasons to cut this shit out, are the reasons that others will give you, but I’m of the opinion that all viewpoints, even the lesser ones can probably help lend weight to this problem. After all, the common argument goes “Sure it’s objectifying women but Money!!!” and I would like to point out: not only “Not MY Money!!!” for the correct morally highgrounded reasons, all of which I hope everyone has heard before, but also “Not MY Money!!!” because it makes me uncomfortable to be around.

I’d also like to point out that because these products are making an appeal to my gonads, the default assumption is that they’re lacking in other departments. “After all”, the thinking goes, “if these products were able to stand on their own merits, they wouldn’t have to resort to cheap tricks and try to fool me with dopamine.” Thus, product that prominently displays objectifying material is usually assumed to be poor quality or deficient in other areas. This may not really be fair. It’s hard to stand out on a bookshelf next to dozens of other titles, but no one says the same thing about epic battles, bright colors, or giant dragons, so why use the “notice me!” tactic that’s associated fairly or not with lower quality.

Here’s an example of how this hurts gaming companies: This book with the fairy on it? I owned that. My wife wanted to run a Celtic themed campaign and she bought both the company’s award winning Celtic setting book and the fairy supplement. Turns out it’s not a bad book. Granted, I read it years ago, but I recall it being better than a lot of the glut of d20 material of the day, porn cover aside, and not only would I never have bought it in a million years because it’s obviously poor quality trash and I wouldn’t want to be associated with it, but I never would have even given it a cursory browse in the store to find out that it wasn’t as bad as it looked because if someone saw me browsing it I would have looked like some sort of pervert. This one-two punch keeps a lot of books firmly out of my hands. In this case, I very much did judge a book (an entire book line in fact) by it’s cover, and that judgment was not charitable. Maybe all the other books in that line were just as good as this one. I’ll probably never know.

I will also admit that (from my anecdotal experience) this issue has been improving. Both the examples above are over a decade old (which is by design. I wanted to grab some “iconic” offenders and I didn’t have the heart to go looking for modern examples and depress myself). But that doesn’t mean that things are perfect. There are plenty of game products with a high “squick factor” and even game companies with logos that are objectionable. There’s even a few products from a particular company on my shelf that appear fairly innocuous from the cover, and once you open them up, every woman in the book is lounging naked in a tree or is wearing a shirt open to the navel. In my opinion, in our role as GM, and thus in some capacity as de facto leader of our groups, we have a responsibility to step up and help cut back this kind of thing (mostly for the ideal reasons, but hey also because every book that we’re NOT uncomfortable to hold up in front of our group is a book we can use at the table).

From my standpoint, this means not buying these kinds of products, but it also means being open to disallowing sources in your game that one of your players is uncomfortable with, and it might even mean letting a gaming company know if you don’t care for their products. While some products are so obviously porn that no one is going to claim plausible deniability, other products may just be unintentional and a decent ratio of comments to sales might make a difference.

I’d also like to hear from everyone else. Are there products you haven’t bought, companies you haven’t patronized because they were too racy? Have you ever been or had a player be uncomfortable with a product that you or someone else brought to the table? Have any anecdotes or interesting experiences to share? Thoughts on effective strategies to deal with problems this causes?



Categories: Game Theory & Design

The Rise and Fall and Rise Again of Game Design Rules - by Richard Rouse III

Gamasutra.com Blogs - 17 February 2015 - 10:18pm
Game design rules are not universal, but that doesn't make them any less interesting. This post explores designers' tendency to create rules that govern game design, why that is problematic, and how game design rules can be used for good and not evil.
Categories: Game Theory & Design

Investors and video games - it's pretty difficult - by Alex Nichiporchik

Gamasutra.com Blogs - 17 February 2015 - 10:18pm
What I learned after years of talking with investors about video games and investing into game companies. A subjective, personal experience post.
Categories: Game Theory & Design

Maria Akane Dev Log #2: From Actor Editor To Blender - by David Marquez

Gamasutra.com Blogs - 17 February 2015 - 10:18pm
This week I started studying the workflow for my new project Maria Akane, if I had to develop the game using Unity.
Categories: Game Theory & Design

Propeople Blog: Varnish Tips and Tricks

Planet Drupal - 17 February 2015 - 9:02pm

In this article we would like to share some use cases and recipes for configuring Varnish.

Use custom data for building varnish cache hash

By default, Varnish uses URL as a parameter for caching. In the VCL file, it is also possible to add custom data (for example: location, or custom header value) to hashing by using the sub vcl_hash{} configuration part. But there is yet another solution to be used that Varnish comes equipped with out of the box. We can set a Vary header that is respected. So, if we want our cache to be based on header X-MyCustomHeader in Drupal, then we can set the header to

Vary: Cookie,Accept-Encoding,X-MyCustomHeader. This way, different values of our custom header will have different cache records in Varnish.

Limit access to the site by ip address

When we build an intranet website, we can limit access to it on the Varnish level. This can be done in following way:

First we define list of allowed IP addresses:

acl offices {

   "localhost";

   "127.0.0.1";

   "1.2.3.4";`

   "5.6.7.8";

}

Then we restrict access to non matching addresses:

sub vcl_recv {

   if ( req.http.host ~ "(intranet\.example\.com)$" && !(client.ip ~ offices) ) {

        error 403 "Access denied";

   }

}

SSL termination

As Varnish is not handling https traffic, we need to terminate SSL before it hits Varnish. For that we can use nginx. Here is a list of links to articles that dive deeper into this topic:

https://www.digitalocean.com/community/tutorials/how-to-configure-varnish-cache-4-0-with-ssl-termination-on-ubuntu-14-04

http://edoceo.com/howto/nginx-varnish-ssl

http://mikkel.hoegh.org/2012/07/24/varnish-as-reverse-proxy-with-nginx-as-web-server-and-ssl-terminator/

https://wiki.deimos.fr/Nginx_%2B_Varnish_:_Cache_even_in_HTTPS_by_offloading_SSL

ESI

On a recent Propeople project, we had the requirement to include a block with data from an external website without any caching. The tricky part was that the external site was providing XML with the data. The solution we implemented was to use ESI block pointing to the custom php file that was pulling that XML and parsing it on the fly.

Hiding js requests to external domains

If we need to do some CORS (http://en.wikipedia.org/wiki/Cross-origin_resource_sharing) requests instead of our Javascript doing requests directly to external domain, we can do requests to our site, but with a specific URL. Then, on the Varnish level, we can redirect that request to external domain. In this case, Varnish will act like a proxy. This can be achieved with backend options.

backend google {

 .host = "209.85.147.106";

 .port = "80";

}

sub vcl_fetch {

 if (req.url ~ "^/masq") {

   set req.backend = google;

   set req.http.host = "www.google.com";

   set req.url = regsub(req.url, "^/masq", "");

   remove req.http.Cookie;

   return(deliver);

 }

}

This is an example from a brilliant book: https://www.varnish-software.com/static/book/

Multiple backends, load balancing

It is possible to define multiple backends for Varnish and switch between them. Most basic implementation is round robin or random. Here is an example:

backend web01 {

   .host = "example1";

   .port = "80";

   .connect_timeout = 120s;

   .first_byte_timeout = 300s;

   .between_bytes_timeout = 60s;

   .max_connections = 50;

   .probe = {

    .url = "/";

    .timeout = 10s;

    .interval = 20s;

    .window = 5;

    .threshold = 3;

   }

}

 

backend web02 {

   .host = "example2";

   .port = "80";

   .max_connections = 100;

   .connect_timeout = 120s;

   .first_byte_timeout = 300s;

   .between_bytes_timeout = 60s;

   .probe = {

       .url = "/";

       .timeout = 10s;          

       .interval = 20s;       

       .window = 5;

       .threshold = 3;

   }

}

 

director apache round-robin {

 { .backend = web01; }

 { .backend = web02; }

}

 

sub vcl_recv {

 set req.backend = apache;

}

 

It is also possible to set a specific backend for visitors coming from specific IP addresses. This can have a number of helpful uses, such as making sure that the editors team has  adedicated backend server.

if (client.ip ~ offices) {

 set req.backend = web03;

}


I hope you have enjoyed our tips regarding Varnish configuration. Please feel free to share your own thoughts and tips on Varnish in the comments below!

Tags: VarnishService category: TechnologyCheck this option to include this post in Planet Drupal aggregator: planetTopics: Tech & Development
Categories: Drupal

Four Kitchens: Announcing SANDcamp Training for Advanced Responsive Web Design

Planet Drupal - 17 February 2015 - 3:44pm

Patrick Coffey and I have been busy building a new version of the popular Advanced Responsive Web Design all-day training program and are excited to host it at San Diego’s SANDcamp next week. Registration is open and there are several spaces remaining and we would love for you to join us!

Responsive Web Design is on everyone’s mind at the moment, and for good reason. The old techniques we have used to create pixel perfect sites for desktop audiences have already become a thing of the past as mobile usage accelerates.

Training Drupal Camp Drupal
Categories: Drupal

World Video Game Hall of Fame coming, from noted museum ICHEG

Social/Online Games - Gamasutra - 17 February 2015 - 3:18pm

Nominations are soon to open for an exhibit to showcase games that have had an enduring legacy -- and the first inductees will be revealed in June at The Strong National Museum of Play. ...

Categories: Game Theory & Design

Isovera Ideas & Insights: When Do You Make the Move to Drupal 8?

Planet Drupal - 17 February 2015 - 12:54pm
Lately, whenever we start a project at Isovera, we are typically asked, "would you build this with Drupal 8"? It's a good question. There are many good reasons to get a leg up with the (currently) beta release, but there are also good reasons to keep your head down and stick with Drupal 7. The official release of Drupal 8 is rapidly approaching. What might this mean to you?
Categories: Drupal

Reminder: Use the new Session Scheduler to get the most from GDC

Social/Online Games - Gamasutra - 17 February 2015 - 12:32pm

How and why to use the free, freshly revamped GDC 2015 Session Scheduler to plan out which talks you'd like to attend and ensure you don't miss anything the upcoming March conference has to offer. ...

Categories: Game Theory & Design

Taxonomy Wrangler

New Drupal Modules - 17 February 2015 - 12:21pm

Taxonomy Wrangler overrides the default taxonomy overview page by providing collapsible terms for hierarchical vocabularies and autosave via ajax.

Categories: Drupal

Mistakes to avoid with analytics

Social/Online Games - Gamasutra - 17 February 2015 - 11:56am

"Be mindful that analytics is not taking the place of something else more important," writes Nicholas Lim, who brings years of experience with analytics packages into this concise, practical post. ...

Categories: Game Theory & Design

Video: Lessons learned from 20 years 'herding cats' in the IGDA

Social/Online Games - Gamasutra - 17 February 2015 - 11:44am

IGDA founder Ernest Adams reflects on what went right (and wrong) over the 20-year lifespan of the IGDA and considers why developers need a professional trade organization in this GDC 2014 talk. ...

Categories: Game Theory & Design

With GameMaker under new ownership, some devs have long-term concern

Social/Online Games - Gamasutra - 17 February 2015 - 11:05am

GameMaker: Studio has a new owner, following a $16.4 million acquisition. But what does this mean for game developers, and how does the buyer intend to support the engine? ...

Categories: Game Theory & Design

What gets coverage in the game media? 2014 in review

Social/Online Games - Gamasutra - 17 February 2015 - 10:42am

How does the press cover game topics? What's trending the most? Did Microsoft squish Sony -- and what about mobile games? This analysis of 2014's press coverage provides insightful data. ...

Categories: Game Theory & Design
Syndicate content


Google+
about seo