REPOST: RPGnet Newsletter #115

RPGnet Newsletter #115
November 7, 2017

SubFora You Might Have Missed

The last couple of weeks have brought several structural changes to the RPGnet Forums that we all know and love. Rather than look at particular threads, we’ll take a moment this week to describe the new and rearranged subfora.

The Starting Gate: New Player/GM Help provides a tightly-focused, friendly place for folks new to either RPGs in general or the majesty and wonder of GMing in particular to come for advice. Be sure to take a look at The Starting Gate Rules and Guidelines before diving in.

What was “Let Me Tell You About My Character” is now Let Me Show You What I Made, which is the now-broader subforum for showing off or collaborating on all of the brilliant homebrewed RPG characters, settings, and other creative endeavors that populate the RPGnet forums. [101] threads also belong here.

Speaking of brilliant creations, consider joining the new Cosplay and Crafts subforum to discuss, admire, and share all of your more physical creative endeavors.

New Columns

Two weeks means two new comics from Christopher Cecil for his Fuzzy Thinking series: “Child of Destiny” and “Bad Dice!”

Iustum offered anoter issue of his PbP-focused column Words on a Screen, this time offering advice on “Tips for Designing PbP Scenarios.”

Brent Dedeaux of Tales from the Rocket House continued his look at the mechanics of OSR games in: “Which Bonus Part 2: AC vs HP.”

New Reviews

Nick the Lemming reviewed the first “proper” Cthulhu Confidential scenario, “The House up in the Hills” and noted that it provides a promising start to the line.

Jacob DC Ross reviewed the “Doctor Who Solitaire Storytelling Game, Second Edition,” which brings new mechanics to the classic solo RPG.

Antonios S used his sensors on the “Star Trek Adventures Core Rulebook,” which has strong mechanics and good feel, but is not very newbie-friendly.

Continuing his trip throught the galaxy, Antonios also reviewed several accessory sets related to the base game:

Continuing with game accessories, Antonios reviewed the “Deep-Cut Studio Grass Wargame Terrain Mat (6′ x 4′, mousepad),” which is a super cool, kick-ass mat that will take care of all your plains, grassland and jungle needs.

Antonios also reviewed another expansion for the Campaign Cartographer 3 mapping software, “Tome of Ultimate Mapping 3+,” which expands on the basic material already in the program while keeping everything neat, tidy, and in the same place.

Continuing his look at Freebooter’s Fate sets, Antonios also looked at “Mercenaries (full crew),” which provides several options for filling out other crew lists with the titular characters.

Then, we had two dueling reviews of the vintage RPG Empire of the Petal Throne. StormBringer’s review noted the game’s similarity to Brown Box D&D and it’s friendliness to both new and old players. Haken Kirk’s review provides a more in-depth breakdown of the core book and its various features.

Then, Antonios S was back with a review of “Jeweled Thrones of the Earth,” a supplement to the Modiphius Conan RPG that shows how Conan stories are supposed to feel.

Jonathan Hicks reviewed new RPG “Gateway,” which has some flaws in presentation and lacks focus, but holds together as an introductory RPG.

Mario Magallanes took a look at Spanish RPG “La Puerta de Ishtar,” a well-written, workable game that is worth checking out for any Spanish readers with an interest in sword-and-sorcery or Meopotamian mythology.

Ben Riggs reviewed the “Legend of the Five Rings 5th Edition Beta Rules,” that may be too complex for reasonable play around the table.

Joe G Kushner wrote up a short review of Vallejo’s “Old & New Wood Effects,” which may help spruce up your miniatures.

Jonathan Hicks reviewed “Fanfare for the Chosen – An Exalted 3rd Edition Music Suite”,” and found it to be an excellent soundtrack for one of the most popular roleplaying games on the market.

Endzeitgeist took a look at “Pergamino Barocco,” a useful, system-agnostic booklet of spells that feel “occult.”

Endzeitgeist also reviewed “Better Than Any Man,” a module for the Lamentations of the Flame Princess (2e) RPG that contains some adult content, but may be the new high-water mark for LotFP modules.

Sign Off

Have a good week, everyone.

  • Iustum
    Newsletter Editor

FYI: AWS Online Tech Talks

A quick repost:

AWS Monthly Webinar Series

AWS Tech Talks are a selection of live online presentations that cover a broad range of topics at varying technical levels. These webinars feature technical sessions led by AWS solutions architects and engineers, live demonstrations, customer examples, and Q&A with AWS experts.

Featured Sessions

Artificial Intelligence

Sentiment Analysis Using Apache MXNet and Gluon: Get started with deep learning on AWS using Apache MXNet and Gluon.

Bringing Characters to Life with Amazon Polly Text-to-Speech: Learn how you can create lip-syncing avatars, build karaoke style text highlighting, and integrate speech capabilities into the gaming engines like Amazon Lumberyard to give a voice to your characters.

Big Data & Analytics

Real-time Application Monitoring with Amazon Kinesis and Amazon CloudWatch: Learn how to build a real-time application monitoring system using network traffic logs.

Amazon Elasticsearch Service Security Deep Dive: Dive deep into the new Amazon ES security feature.

Compute

Set it and Forget it – Auto Scaling Target Tracking Policies: Learn how to maintain performance automatically with Auto Scaling target tracking scaling policies.

Simplify Microsoft Windows Server Management with Amazon Lightsail: Learn how to launch Microsoft Windows Server with a few clicks using Amazon Lightsail.

Run Your CI/CD Pipeline at Scale for a Fraction of the Cost: Learn how Amazon EC2 Spot Instances can help and scale these workloads for a fraction of the cost.

Containers

Managing Container Images with Amazon ECR: Learn about how you can use the new Amazon ECR Lifecycle Policies to automate container image cleanup, saving time and lowering storage costs.

Accelerate Application Development and Delivery with Red Hat OpenShift Container Platform on AWS: Recap on the recent announcement of the upcoming Red Hat OpenShift Container Platform service broker integration and learn how to get started with the newly designed OCP on AWS Quick Start.

What’s Inside My Containers? Container Monitoring and Run-time Security on Amazon ECS: Learn best practices for leveraging AWS and container metadata to optimize and secure your containers.

Databases

Deep Dive on Amazon DynamoDB: Learn capabilities of Amazon DynamoDB and best practices for schema design in this deep dive session.

Migrating Your Oracle Database to PostgreSQL: Learn how to migrate your Oracle databases to PostgreSQL on AWS with minimal disruption.

Enterprise & Hybrid

Everything you wanted to know about licensing Windows workloads on AWS, but were afraid to ask: Learn about options for licensing Windows Server, SQL Server and other Microsoft products on AWS.

Hands on Lab

Hands on Lab – Windows Workloads: Get hands on training and learn how to get started running Windows workloads on AWS.

Hands on Lab – Deploy .NET Code to AWS from Visual Studio: Learn how to build .NET native and cross-platform applications using the AWS Toolkit for Visual Studio, AWS CodeStar, and AWS CodeBuild.

IoT

Essential Capabilities of an IoT Cloud Platform: Learn how AWS defines the core capabilities of an IoT cloud platform and how they can help you.

Mobile

Deep Dive on Amazon SES – What’s New: Drive customer engagement with deliverability metrics including opens and clicks for optimizing your messaging and dedicated IP pools for protecting your reputation.

re:Invent

AWS re:Invent 2017 – Know Before You Go: The webinar will highlight topics such as: how to get around the re:Invent campus, how to watch the keynotes, breakout sessions, training and certification, the Expo, networking opportunities, and our popular after-hours activities.

  • Session 1 – November 13 | 10:30 AM – 11:10 AM PT | 01:30 PM – 02:10 PM ET
  • Session 2 – November 13 | 05:00 PM – 05:40 PM PT | 08:00 PM – 08:40 PM ET
Security & Identity

How to Integrate AWS Directory Service with Office365: Learn How to Integrate AWS Directory Services with Office365.

Serverless

Building Serverless Websites with Lambda@Edge: Learn how to improve your website user experience with Lambda@Edge.

Storage

Disaster Recovery Options with AWS: Learn about your options for Disaster Recovery to the AWS Cloud in this webinar.

How to: Build a Serverless Web Application

Build a Serverless Web Application

Follow step-by-step instructions to launch your first serverless web application on Amazon Web Services (AWS)

Overview

In this learning path, you’ll deploy a simple web application that enables users to request unicorn rides from the Wild Rydes fleet. The application will present users with an HTML based user interface for indicating the location where they would like to be picked up and will interface on the backend with a RESTful web service to submit the request and dispatch a nearby unicorn. The application will also provide facilities for users to register with the service and log in before requesting rides.

The step by step guide

How about autocomplete for Angular.io imports and such for components?

https://marketplace.visualstudio.com/items?itemName=Angular.ng-template

This extension provides a rich editing experience for Angular templates, both inline and external templates including:

Completions lists
AOT Diagnostic messages
Quick info
Go to definition
This extension uses @angular/language-service@5.0.0-beta.5 and typescript@2.4.2

The tutorials I’ve read to learn Angular 2

Reposed from: http://dev.sebastienlucas.com/recommanded-tutorial-for-angular2/

The tutorials I’ve read to learn Angular 2

Here is a curated list of some good tutorials we used to learn the version 2 of angular.

General

Official angular 2 tutorial
https://angular.io/docs/ts/latest/tutorial/
Light weight documentation with both ES6 and Angular 2 made by Ionic team
Learn angular 2
132+ Video tutorial on specific pratical cases https://egghead.io/technologies/angular2
nicely focused tutorials on a medium hoste dev site https://netbasal.com/tagged/angular2
Data binding

Custom text area, input… data binding
http://lishman.io/angular-2-input-binding

Forms

Guide to forms in angular 2
http://blog.ng-book.com/the-ultimate-guide-to-forms-in-angular-2/

Angular forms beyond the basics
http://restlet.com/blog/2016/02/17/implementing-angular2-forms-beyond-basics-part-2/ Some more advanced form topics like automatically adding class for bootstrap or async validation…

Edit forms value programatically : setValue and patchValue

https://toddmotto.com/angular-2-form-controls-patch-value-set-value

Reactive forms or model driven fields

Using Angular2 model driven forms
https://scotch.io/tutorials/using-angular-2s-model-driven-forms-with-formgroup-and-formcontrol
Introduction to Angular 2 Forms – Template Driven vs Model Driven or Reactive Forms
http://blog.angular-university.io/introduction-to-angular-2-forms-template-driven-vs-model-driven
Reactive forms
https://toddmotto.com/angular-2-forms-reactive
Forms fields

Example of different types of fields
https://scotch.io/tutorials/how-to-deal-with-different-form-controls-in-angular-2
Events / Change detection

Event and @output decorator
https://toddmotto.com/component-events-event-emitter-output-angular-2
Change detection in Angular 2 http://blog.thoughtram.io/angular/2016/02/22/angular-2-change-detection-explained.html
How to replicate $scope.$emit with global events ? More technics that official ways http://stackoverflow.com/questions/34700438/global-events-in-angular-2
Components

Children view
http://blog.mgechev.com/2016/01/23/angular2-viewchildren-contentchildren-difference-viewproviders
Dump / Smart component architecture : A way to organize component to differentiate presentational component highly reusable and intelligent component that actually handle the logic and specific stuff https://teropa.info/blog/2016/02/22/dumb-components-and-visual-feedback-in-angular-apps.html
viewChildren

View children, view child and query list
Components @input

How to define a inner child component property on-change to allow pass observable as input. http://almerosteyn.com/2016/03/immutable-component-input-from-observable
Component ngInit vs constructor

Difference between constructor and ngOnInit
http://stackoverflow.com/questions/35763730/difference-between-constructor-and-ngoninit
Dynamic component / Component inheritance / Communication between components…

dynamically creating component in angular 2 http://blog.rangle.io/dynamically-creating-components-with-angular-2/

Component inheritance introduced in 2.3
https://scotch.io/tutorials/component-inheritance-in-angular-2

Different ways for communication between components :

With input with a setter
With input via ngChanges detection
With @viewchild that allow to manipulate child methods
With a service and observable subject
https://angular.io/docs/ts/latest/cookbook/component-communication.html

DOM

How to use the angular 2 renderer service to manipulate the DOM in a way all platforms (server, browser, mobile.. can accept)
https://netbasal.com/angular-2-explore-the-renderer-service-e43ef673b26c#.mah8emsrl

How to use window like with the good old $window angular 1
In this tuto, you learn how to do a wrapper of window to inject in with DI only if usable (in the browser)

https://juristr.com/blog/2016/09/ng2-get-window-ref/

Directives

Structural (ngIf…or custom) or attributes (ngClass… or custom) directives
https://angular-2-training-book.rangle.io/handout/advanced-angular/directives/

ng-show / ng-hide in angular 2 : the angular 2 solution is to bind to hidden prop but there is some issue so read this article to decide which practice to use

http://www.talkingdotnet.com/dont-use-hidden-attribute-angularjs-2

Observables / RxJS

Angular 2 adopted this new concept of observable which basically is a more advanced form of promise. RxJs is the implementation of Observable used by angular which is being developed by Microsoft.

This post list 3 common problems with can have with observable.

Pitfall 1 : not subscribing to an observable is similar to having a function but not exucuting it

An observable itself is just a definition of a way to handle a stream of values. We can think of it as something close to a function. Creating an observable is somewhat similar to declaring a function, the function itself is just a declaration. Calling the function is something entirely different, as defining a function does not execute its code.

We need to call the function in order for something to happen, and that is also the case with an Observable: we need to subscribe to it in order for it to work!

http://blog.angular-university.io/angular-2-rxjs-common-pitfalls/

Building a data store with observable http://blog.angular-university.io/how-to-build-angular2-apps-using-rxjs-observable-data-services-pitfalls-to-avoid/

The Doc of observables transform operator http://reactivex.io/documentation/operators.html#transforming

ngFor, ngIf, …

Revision of what ngFor can do
how to get the index
how to track by another value that default (by object Identity)
using odd, even, last, first for dynamic class naming
ngFor by default tracks list items using object identity. This means that if you build a list of new objects from scratch with the exact same values as the previous list and pass this newly built list to ngFor, Angular will not be able to tell that a given list item is already present or not.

http://blog.angular-university.io/angular-2-ngfor/

ng-template and odd, even, last variable in ngFor
Modules

Organize your code in a modular way. Import a module instead of importing a dozen of files (javascript modules). Despite of the use of ES6 modules in angular, angular modules @ngModules are still useful to bundle a feature or a shared utility together.

https://scotch.io/bar-talk/getting-to-know-angular-2s-module-ngmodule

The ng module FAQ is a good place to better understand the ngModules API fine tuning https://angular.io/docs/ts/latest/cookbook/ngmodule-faq.html#!#q-declarable

The angular university tutorial on ngModule

http://blog.angular-university.io/angular2-ngmodule/

the official style guide module section
https://angular.io/styleguide#!#application-structure-and-angular-modules

Decorator / Annotation syntax [Typescript]

Difference between decorator and annotation http://blog.thoughtram.io/angular/2015/05/03/the-difference-between-annotations-and-decorators.html
Dependency injection

How to inject window in a service to keep it compatible with angular dependency injection philosophy https://juristr.com/blog/2016/09/ng2-get-window-ref
Pipes

Simple tutorial to do a custom pipe available in its components then make it available application wide https://scotch.io/tutorials/create-a-globally-available-custom-pipe-in-angular-2
Router

In depth practical article on the new angular 2 router https://scotch.io/tutorials/routing-angular-2-single-page-apps-with-the-component-router

How to use guards to prevent access to some pages http://www.sparkbit.pl/angular-2-route-guards-real-life-example/

Named router oulet (same as UI router)

http://onehungrymind.com/named-router-outlets-in-angular-2/

ES 6

Exploring JS / Full online book on javascripting with extensive doc on ES6 http://exploringjs.com/es6/ch_destructuring.html#_object-destructuring
Typescript

Detailed explanation about how the modules resolution works for the typescript compiler. How typescript find a module when we write something like :
// Relative import
import { Component, Input } from ‘@angular/core’;
// Non relative import
import { OptionService } from ‘../../../services/api/option.service’;
https://www.typescriptlang.org/docs/handbook/module-resolution.html

System.js / JSPM

A installation guide using JSPM / Typescript and System.js
http://www.mario-brendel.com/angular2-setup/2016/01/28/Angular2_Jspm_Setup_Part1/
Angular 2 & firebase

Detailed post that explained the principle of firebase, why it is a good solution for BaaS application and allow to develop faster. Then it describe the integration in Angular2 with the angular fire library http://blog.angular-university.io/angular-2-firebase
The official docs ? https://angularfire2.com/api/
The doc in the project https://github.com/angular/angularfire2/tree/master/docs
AOT Ahead of Time Compilation

Demystifying AOT : Nice slides that present AOT as an easy thing … http://slides.com/wassimchegham/demystifying-ahead-of-time-compilation-in-angular-2-aot-jit#/30
Integration of external library / Jquery

Wrap any jQuery plugin with Angular 2 component — case study.
Angular CLI

The ultimate guide of angular CLI
https://www.sitepoint.com/ultimate-angular-cli-reference/

New release

What is new in angular 4 http://blog.ninja-squad.com/2017/03/24/what-is-new-angular-4
### Stripe integration

a bit old but clear http://blog.mgechev.com/2016/07/05/using-stripe-payment-with-angular-2/
test

automated test with angular 2
Webpack build

Importing css with webpack angular starter
Zones & ngZone

runing something outside angular zone so that we skip angular change detectionusing-zones-in-angular-for-better-performance.html)
Written on December 15, 2016

Repost: Mobile API Security Techniques, Part 2 API Tokens, Oauth2, and Disappearing Secrets

Take a look at Hands On Mobile API Security: Get Rid of Client Secrets. It focuses on API keys usage and adds in a proxy server which is a good practice when multiple APIs are called form the same app. The full example is at github — https://github.com/approov/hands-on-api-proxy.
OAuth2 is not used in that example, but it could be added without interfering with the existing app authentication code. Look at Mobile API Security Techniques, Part 2 for some additional background.

View story at Medium.com

Angular (not js) with Google Material via the CLI tooling

I have been playing around with Angular & the Google Material design specification coupled with Angular-CLI.

Here is my github repo (extremely basic) but to get it working there are a bunch of installs and configurations you will need to do.

  • Make sure you are running an updated version of Node and NPM
  • The official recipe guide.
  • Install the Angular Material CDK – npm install –save @angular/material @angular/cdk
  • If you want the animations of course you need to install them too – npm install –save @angular/animations

Once you have all that done…
Use Angular CLI (make sure it is updated globally) and follow this recipe guide.