Skip to main content

· 4 min read

Tableau Conference in general is a platform that Tableau hosts every year for Tableau community and users to learn, collaborate, and network.

The previous company I used to work with was in Tableau Conference 2014, and they had a demo back then with a lego car:

· 2 min read

This page will be my personal notes for a collection of tools and thoughts for Serverless Architecture. I will re-post a complete article to draw my mind mapwhen I am more experienced.

· 5 min read

I have been playing around with PHP a lot with a Baidu open-source project -> http://task.redefime.com/app/list recently. The project used mainly CakePHP as the back-end, which is an elegant solution for MySQL+PHP stack. I am writing this blog for documentation and reference purposes for my future. I am getting more and more like the character in Nolan's movie 'Memento' as I need to keep writing things down to keep me not running around the circles and trapped by the same set of pitfalls.

Environment Set Up

  1. Get XAMPPP

  2. Set up Virtual Host : <virtualhost> tag is used when you have multiple projects and you want to host them on different domain names so it doesn't get messed up:

    1. Open Config File:
    2. set up directorys and VirutalHost mapping (DocumentRoot is your project root, ServerName is going to be the domain name you want to host the DocumentRoot Files in):
    <VirtualHost *:80>
    DocumentRoot "/Applications/XAMPP/xamppfiles/htdocs/tree-outliner"
    ServerName test-outliner.com
    </VirtualHost>

    <VirtualHost *:80>
    DocumentRoot "/Users/Carl/Development/Learn/cakephpforum.com/app"
    ServerName cakephpforum.com
    </VirtualHost>

· 6 min read

As Data Analyst and Business Intelligence are becoming familar topics around the business world; SAP, as one of the leaders for enterprise solutions, has been trying to look for new opportunites in the horizon. SAP HANA has become their main strategy, which provides business partners a way to leverage massiave amount of data in real time, query insights and make business decisions more accurately based on anticipated business changes. As SAP official document explains how HANA works, I will not spend too much time on HANA architecture here. In short, SAP HANA is a huge piece of RAM on the cloud that has various systems and algorithms built in ready to go for analytics:

· 5 min read

For jData on the cloud, MongoDB is mainly used for persistence mainly due to the fact that its support for schema-less structure, rich indexing for query support, and scalability. While each jNode on the fog has their own Redis instance running, analytics is done on a centralized persistence data in MongoDB on the cloud. While Redis can be used as a database on its own, it is limiting for it to be used as a centralized database on the cloud since it is in-memory database, RAM size is a condition to be considered and meanwhile analytics in Lua might be tedious. However, in the architect, there is still an instance of Redis running on the cloud jNode for caching.

· 3 min read

During our development of Settlers of Catan, we met a subfunction level problem of synchronizing a dice and read the dice result based on the face exposing up.

For example, given two dices in the following positions. You need to detect the facial values of the dices.

The number is printed in console.

· 2 min read

The Settlers of Catan, sometimes shortened to just Catan, is a multiplayer board game designed by Klaus Teuber and first published in 1995 in Germany by Franckh-Kosmos Verlag (Kosmos) as Die Siedler von Catan. Players assume the roles of settlers, each attempting to build and develop holdings while trading and acquiring resources. Players are rewarded points as their settlements grow; the first to reach a set number of points, typically 10, is the winner. The game and its many expansions are also published by Mayfair Games, Filosofia, Capcom, 999 Games, Κάισσα, and Devir. -- Wikipedia

Unity Client-Server Architecture

Our Catan Gaming System(CGS) will be based on Server-Client architecture. CGS is based on Unity engine, and since Unity’s networking is integrated into the engine and the editor, it is redundant to treat Server and Client as different executables like how a traditional Server-Client architecture would. In our design, we are treating the entire CGS as one executable, and within the executable there are Server and Client components. An overview structure of our executable is shown here:

· 4 min read

Slim is a PHP micro framework that helps you quickly write simple yet powerful web applications and APIs. (Definition on its homepage http://www.slimframework.com/)

Here you can have a taste of it :)

<?php
use \Psr\Http\Message\ServerRequestInterface as Request;
use \Psr\Http\Message\ResponseInterface as Response;

require 'vendor/autoload.php';

$app = new \Slim\App;
$app->get('/hello/{name}', function (Request $request, Response $response) {
$name = $request->getAttribute('name');
$response->getBody()->write("Hello, $name");

return $response;
});
$app->run();

I just got introduced to Slim Framework recently, and speaking frankly it is not a good experience working with it and the poor community is nothing like npmjs, which is a place where I hang around most of the time. All the tutorials online are mostly theory-based and really not organized, some of them don't even run properly.