Legal Issues in Game Software Creation

Note: I am not a lawyer and the following should not be considered legal advice. Double-check everything and hire a lawyer.

As I continue to work on Veure, I have the added fun of less time spent working on it while I try to understand the legal problems. If you're going to create and publish your own game, you'll invariably hit legal issues. What's worse, you might discuss them publicly and some bright spark will vaguely remember an online article, dumbed down for mass consumption, regarding a complicated libel lawsuit for the print industry and swear up and down that it applies to you. They won't supply a link.

In fact, software games seem to have some peculiar legal issues all their own, compounded by the fact that they're often indie games created by hyper-intelligent, well-read individuals who either don't think of legal issues or assume they already understand them. On the off chance that they're right about a given issue, there's also one tiny detail they often overlook.

Elasticsearch Token Filters

We recently saw an example of an elasticsearch token filter called the catalan_stemmer. The Catalan language has other token filters available:

  • catalan_stop
  • catalan_elision
  • catalan_keywords

Let's see what they do.

Stop

The catalan_stop filter removes a list (common) of words. Given the example search:

  porros amb balsàmic

applying the catalan_stop filter will remove the word amb (with) from the indexing.

This stop filter is defined as:
  "catalan_stop": {
    "type":       "stop",
    "stopwords":  "_catalan_" 
  }

and it is customizable.

Elision

The catalan_elision filter removes elisions. Given the example search:

Travis and Dist::Zilla projects

Getting started with Travis

I felt like I should give Travis a try and picked a recent github project of mine that I knew had a decent testsuite.

The instructions on how to get started with travis were quite simple and soon the project had its own travis page.

Unknown build failure

I wondered why the build failed after adding a very simple .travis.yml file to the project.

$ cpanm --quiet --installdeps --notest .

! Configuring . failed. See /home/travis/.cpanm/work/1411809721.1412/build.log for details.

The command "eval cpanm --quiet --installdeps --notest ." failed. Retrying, 2 of 3.

DWIM Perl for Linux - version 5.20.1.9 released

After almost a week of adding more and more modules I've got to the 9th revision of DWIM Perl for Linux .

It explicitly includes more than 400 CPAN modules, but with their dependencies it is probably a lot more. The idea behind this distribution is to make it very fast and easy to get started with Perl. Without learning how to brew perl and how to install CPAN modules. Without fighting external dependencies or some failure in the latest release of a CPAN module.

I need your help to test-drive the distribution and to fill the holes. The modules that might be really needed but have not yet been included.

It would be of great help if you downloaded the latest distribution. Configured it as described on the website and let me know which additional modules your application might need or if something is broken.

Breakfast, Lunch, Band & Social Event for Free

Thanks to our generous sponsors we can provide free breakfast, lunch, live band
and social event for every attendee of the Perl::Dancer conference in Hancock, New York.

Attendees and speakers from USA, Canada and Europe are coming to have lots of fun at
the marvelous venue.

There are still tickets available both for the training and presentations days, please
go to registration to purchase your ticket.

Extended Rules to support Modern Perl in Atom symbols-view package

Somehow long ago I wrote some additional rules for Perl in my .ctags file and published it. I even invited you to help improve and polish it or simply use it and modify it as you wish.

Recently I tried the Atom editor which is very trendy now.
I was happy to find it uses Exuberant Ctags and the rules in my ~/.ctags file just worked.
Then I just made a pull request to https://github.com/atom/symbols-view. The pull request got finally accepted and the extended support for Perl is available since version 0.65.0.

Exuberant Ctags
can be used with Vim, jEdit, Sublime Text, Ultra Edit... any IDE/Text Editor that uses it natively or has a plugin for it. I use it to quickly jump around in my Ado project.

Keymaps: ctrl/cmd+r to see current file symbols; shift+ctrl/cmd+r for project symbols.

Enjoy it, modify it as you wish and improve it.

Elasticsearch Templates

When dealing with elasticearch, one has to consider how they want to manage the analysis of the content that is ingested. The use of templates is a way to ease this burden of managing analyzer settings. Let's learn by example...

Catalan Stemmer

Here's a template that defines an analyzer, cat_stems, which utilizes the built-in catalan stemmer. For example, both singular: porro and plural: porros will be reduced to porr when analyzed by the stemmer. Moreover, this template will be applied to any index created with a name that starts with cat.

Template

Next stable DBD::SQLite to be released in late October

Now I call DBD::SQLite 1.43_08 a release candidate of the next stable DBD::SQLite. Please test it with your modules/applications and let me know if you find anything. Due to some change(s) in the upstream SQLite library (since SQLite 3.8.5), this release candidate is known to break older versions of DBIx::Class (prior to 0.082800 released on 2014-09-25). If you use older versions of DBIx::Class, you might also want to upgrade it, or keep DBD::SQLite 1.42 (bundled with older SQLite 3.8.4.1 library) for now. Other major O/R mappers seem not affected by this upgrade. If there's no blocker nor request to wait, I'll release 1.44 in late October, hopefully on 26th.

Other notable changes since the last stable release follow:

  • This release candidate contains new modules to support custom virtual tables written in Perl (by DAMI).
  • If you set sqlite_unicode to true, SQL statements will be upgraded to avoid inconsistency between embedded params and bind params (RT #96877) (by DAMI)

See Changes file in the distribution for other fixes and improvements.

Veure Update

Just in case you're curious, I'm still hacking on Veure, though the last month has kept me busy on a bunch of other things (our daughter just started school, so that's a big one!)

I've been building so much of the infrastructure that you might be surprised to realize that I've only just gotten around to being able to equip weapons and armor:

My last entry gives some hints on how this works.

The other developer has been working on the cockpit view. If you travel from system to system in your own ship, the experience should be different than if you take public shuttles. I haven't actually seen his work yet, so no screenshot on that one.

Update: OK, I have some of the initial screenshots for the cockpit work. They look great, but not sharing until some things are settled.

YAPC::Europe 2014 Survey results are online

The YAPC::Europe 2014 survey results are now online.

If you'd like to read more about my follow-up, please see my blog entry.

Book Report - September 2014

As you may be aware, I'm writing a book which will eventually become a free e-book. (Oh how I'm beginning to hate the e- prefix on everything vaguely related to computers. Or should I call them e-machines?) This is my initial report on how I'm getting along.

CPAN Testers & pre-requisite reporting

Seeing as b.p.o won't let me comment on others' blog entries, I'm posting here.

This is in reply to brian's recent post about a trial version of Test::More.

Firstly. @preaction CPANTS != CPAN Testers. They are two very different projects.

Secondly, this is a conversation that has cropped up before, and I'm still in two minds about it. Short answer: I tend to side with brian. The tester platform shouldn't be doing any testing with the trial/development releases of pre-requisities, unless the tester is going to manually filter the results and send to the pre-requisite author if appropriate. I do understand Ether's perspective too, and there is merit in having these reports, but they more often target the wrong author.

What is the Perl community?

After my last rant about the p5 roadmap I wanted get technical again, but ... this last post about a link collection brought me back.:

A pre-release of Pod::Readme is available on CPAN

Last month, I mentioned that I was rewriting Pod::Readme.

Basically, this is a module that allows you to generate a useful README file from a module's POD, besides a simple "pod2text lib/MyModule.pm > README". You can add sections of POD that are only included in the README, like installation prerequisites, and exclude bits that don't belong in the README, like the details of every method.

A pre-release has just been uploaded to CPAN. A short summary of the changes:

  • It requires Perl v5.10 or newer, and uses Moose. (This will be rewritten to use Moo in a later release.)
  • Instead of using a full POD parser, it implements a simple POD filter and passes that POD to other modules to convert it to text or other formats.
  • It supports plugins. This version has plugins to include the module version, a requirements section, and the latest changes.
  • Support for generating README files as markdown, POD or other formats has been added.

Feedback would be appreciated, as are patches in the git repository.

Test::More has lots of crazy new development that's breaking my modules

I still wish we had a way to remove reports from CPAN Testers. The case of a broken Test::More is a really good reason for this.

I received many fail reports for Business::ISBN, which I've been working on lately. However, it's from a test I hadn't touched for things I wasn't working on.

The failure looked odd. I've never heard of Test::More::DeepCheck:

Modification of non-creatable array value attempted, subscript -1 at .../Test/More/DeepCheck.pm line 82.

Then I noticed that all of the fail reports reported the same development version of Test::More:

Event::Lib

Event::Lib is a binding to a libevent library. Its development stalled for about 7 years. Module doesn't build with new Perls (at least >= 5.16), and has a lot of open tickets in a RT CPAN queue. Looks like maintainer of module Tassilo von Parseval is not available via email. I have module Net::IEC104 which rely on Event::Lib, so I'd like to make new release of Event::Lib with fixes for any currently known issues to keep my module installable and functional. I'm making this post asking for permission.

Support the "Fund for Act development"

I just announced that the patch -p2 hackathon in Lyon will have a special focus on Act. To support the people hacking on Act and willing to attend this and other future Act hackathons, the French Perl Mongers have decided to setup an Act fund.

Logically And Yourself (&&=)

I ran into a situation today where I was trying to see whether any exceptions were thrown when evaluating a list of objects. In this particular case I didn’t want the exceptions to short circuit the loop, I just needed to know if any were thrown as we iterated over the list. So I wrote this benchmark to see which of two approaches would be faster.

First Perl::Dancer conference soon

About two weeks till the first Perl::Dancer conference starts!

Schedule will be released on Monday with speakers from Dancer, DBIx::Class and Interchange, notably Sawyer X and ribasushi.

There is still time to sneak in a presentation, hurry up! If you want to speak or simply attend, please register at our website

Token - Elasticsearch Analyze API

Yesterday we looked at an example of how to both index and search using elasticsearch. Today, we'll talk a little about what takes place during indexing, particularly tokenization. For example, what happens when we tokenize the phrase:

porros amb basàlmic

To find out we can pass the phrase to the elasticsearch analyzer API like so:


curl -XGET 'localhost:9200/_analyze?tokenizer=standard' -d 'porros amb balsàmic'

Here we are using the standard (default) tokenizer which results in the following output:

About blogs.perl.org

blogs.perl.org is a common blogging platform for the Perl community. Written in Perl with a graphic design donated by Six Apart, Ltd.