Thursday, April 24, 2014

BricKiller is Now Released!

Now my first iOS game BricKiller has been released! Go ahead to get it on iTunes Store:




Game Logo



Snapshot While Playing
It is a game to play with bricks within a board, you can move one brick from one place to another place at one time,  and get the bricks exploded away from the board by putting some of them in the same color in a horizon line, vertical line, or diagonal line. More bricks that you can kill from the play board, more space in the board can place bricks. Once the bricks fill up the board, game will be over.

It looks like gobang or  tictactoe at the first glance, but it is much interesting for various colorful bricks and funny roles to make you win the game. Every time you move the brick, you need to give the maximum chance that the bricks can make a line easily without blocking the move for other bricks.

BricKiller means killing the bricks as many as you can. The more bricks you kill, the more space you can reserve on the board, the less chance that the brick will block your way, and the more bricks in the same color you have to make in a line.


Main Menu
Every time if you move bricks without bricks killed, more bricks will show up, we call it a wave of bricks. The number of bricks that are shown up in one wave in each stage is different. That makes one part to make difficulty different from stage to stage.

BricKiller have two modes to play: the normal mode and the endless mode. In normal mode, each stage has an initial set of bricks(a colorful diagram) that is waiting you to solve. Normal mode also have 3 worlds of stages. Each world have different criteria to eliminate the bricks. World I requires 3 bricks with the same color in a line to eliminate bricks, and World II and World III require 4 bricks and 5 bricks respectively. Typically, the stages in World III is more difficult than World I and World II.

This game support Game Center, you can get rankings with your score in Endless Mode and compete with other guys all over the world.

This game provides 100+ levels, come and take challenge to unlock them!



Wednesday, March 26, 2014

BricKiller will be released!

My new game BricKiller will be released on April 20th, 2014 at Apple App Store. It contains 100+ levels and 2 modes for playing. Here are the snapshots of the game:

 
 

More information about the game will be available soon.

Monday, February 10, 2014

Get Oozie Job List Via Command Line

You may want to list oozie jobs which given criteria in command line. But it may not work good with the command oozie provided. For oozie version 2.0 or above, you may have option -jobtype combined with -filter for a list(refer to the link http://oozie.apache.org/docs/3.1.3-incubating/DG_CommandLineTool.html#Checking_the_Status_of_multiple_Coordinator_Jobs). However, for older versions, we need workarounds for this.

Luckily, we can get a list of oozie jobs by using curl via Ooize URLs in Oozie with older version. For example, the following command can give a list of workflow jobs:

$ curl http://localhost:11000/oozie/v1/jobs

(You can replace localhost above with any valid oozie node names)

Above command will give a JSON string within a line(this will be an extreme long line if there are dozens of jobs record) that record a list of workflow jobs. Due to pagination, this list could not be completed, you can specify the maximum number(suppose there shouldn't be more than 1000 workflows) of jobs listed:

$ curl 'http://localhost:11000/oozie/v1/jobs?len=1000'

(I just add single quote(') to prevent wild-casting of '?' in URL string)

Maybe we just only need Oozie workflow job IDs, use this command:

$ curl 'http://localhost:11000/oozie/v1/jobs?len=1000' | sed 's/id\[/\n/g; s/W\]/W\n/g' | grep "oozie-oozi-W$"

0006030-140210061306533-oozie-oozi-W
0006031-140210061306533-oozie-oozi-W
0006032-140210061306533-oozie-oozi-W
0006033-140210061306533-oozie-oozi-W
0006034-140210061306533-oozie-oozi-W
...


Then we can do something with the output by script conveniently, such as killing all workflows:

$ curl 'http://localhost:11000/oozie/v1/jobs?len=1000' | sed 's/id\[/\n/g; s/W\]/W\n/g' | grep "oozie-oozi-W$"  | while read job_id; do oozie job -kill $job_id; done

OK, you may want to get all RUNNING workflow job IDs, use filter=status%3DRUNNING:

$ curl 'http://localhost:11000/oozie/v1/jobs?len=1000&filter=status%3DRUNNING'
{"total":2, ...

So at the beginning of the output line, you will see how many workflow jobs are running. After that, the JSON string shows the detailed information of each job.

If you want to get other types of jobs, you can add jobtype= to URL, e.g, the following command will give the list of coordinator job IDs :

$ curl 'http://localhost:11000/oozie/v1/jobs?jobtype=coord&len=2000' | sed 's/id\[/\n/g; s/C]/C\n/g' | grep "oozie-oozi-C$"

(Just notice that the Coordinator job IDs end with 'C')