<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>a light behind the clouds&#8230;</title>
	<atom:link href="https://billyinferno.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>https://billyinferno.wordpress.com</link>
	<description>there always a light behind the cloud, a place for brain, mind, and soul...</description>
	<lastBuildDate>Sun, 04 Mar 2018 16:15:31 +0000</lastBuildDate>
	<language>id-ID</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<site xmlns="com-wordpress:feed-additions:1">3660404</site><cloud domain='billyinferno.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>https://s0.wp.com/i/buttonw-com.png</url>
		<title>a light behind the clouds&#8230;</title>
		<link>https://billyinferno.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="https://billyinferno.wordpress.com/osd.xml" title="a light behind the clouds..." />
	<atom:link rel='hub' href='https://billyinferno.wordpress.com/?pushpress=hub'/>
	<item>
		<title>2048 is the easiest way to learn Python.</title>
		<link>https://billyinferno.wordpress.com/2018/02/03/2048-is-the-easiest-way-to-learn-python/</link>
					<comments>https://billyinferno.wordpress.com/2018/02/03/2048-is-the-easiest-way-to-learn-python/#respond</comments>
		
		<dc:creator><![CDATA[adi martha]]></dc:creator>
		<pubDate>Sat, 03 Feb 2018 14:50:55 +0000</pubDate>
				<category><![CDATA[education and technology]]></category>
		<category><![CDATA[my mind]]></category>
		<category><![CDATA[my mind, body, and soul]]></category>
		<category><![CDATA[python]]></category>
		<guid isPermaLink="false">http://billyinferno.wordpress.com/?p=2129</guid>

					<description><![CDATA[So in times where I don&#8217;t have anything to do (such as weekends), usually I cobble up my self with food and serial drama that come across another Asia country. But sometimes, after gobble up all those 20-30 episodes in two days, and there are no serial drama that I can watch (since most of [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>So in times where I don&#8217;t have anything to do (such as weekends), usually I cobble up my self with food and serial drama that come across another Asia country. But sometimes, after gobble up all those 20-30 episodes in two days, and there are no serial drama that I can watch (since most of them not finished yet), I always ended up with the same kind of thinking:</p>
<blockquote><p>What should I do?</p>
</blockquote>
<p>In the midst of that, there are things that I always ended up, either reading or recreating some project that halted due too many reason, or re-learn something that I haven&#8217;t touch or want to learn from long time ago, and in this case, it&#8217;s &#8220;Python&#8221;.</p>
<p>I have a motto that for learning some programming language (or re-learn it), you need to do it in fun way, and for doing that usually what I came with is &#8220;Game&#8221;, because it&#8217;s &#8220;always&#8221; fun to re-create some games when learning some programming, until you found out that matrix transformation is one of the things that you need to understand when you create Tetris, or how to ensure the smoothness of the graphic by ensuring that the rendering is performed at at leas 60 frame per seconds using native components on .NET (that&#8217;s another story for another post), but for Python it&#8217;s actually quite easy, since we have library that called <a href="https://www.pygame.org/news">pygame</a>.</p>
<blockquote><p>So, my first mission is to create my favorite games of all times &#8220;2048&#8221;.</p>
</blockquote>
<p>For you who don&#8217;t know what is &#8220;2048&#8221;, it&#8217;s like a simple puzzle game that will ask you to combine the same number, in 4&#215;4 boards array until you reach 2048. But once you mastered it, getting 2048 is a simple matter, and you&#8217;ll try to get more bigger and bigger number.</p>
<p>So, without any further ado, first what we need to do is import all the library that we need for the game:</p>
<pre class="brush: python; title: ; notranslate">
from pygame.locals import *
from random import randint

import pygame
import time
import math
</pre>
<p>First let&#8217;s create our Application class that will perform any render, or key board input pressed:</p>
<pre class="brush: python; title: ; notranslate">
# App Class
# This will act as the main class of the games which will handle
# screen render and keyboard input.
class App:
windowWidth = 250
windowHeight = 250

def __init__(self):
# set that running indicator into true
self._running = True

# create the display surface.
# we will fill this display with the display from the pygame during oninit
self._display_surf = None

def on_init(self):
# init pygame
pygame.init();

# set the display surface for the program
self._display_surf = pygame.display.set_mode((self.windowWidth, self.windowHeight), pygame.HWSURFACE)

# fill the window screen with brownies background
self._display_surf.fill((187,173,160))

# set the title of the program
pygame.display.set_caption('2048 Game on Python')

# set the running indicator into true
self._running = True

def on_event(self, event):
if event.type == QUIT:
self._running = False

def on_render(self):
pygame.display.flip()

def on_cleanup(self):
# quit the program
pygame.quit()

def on_execute(self):
# check whether we can perform initialization on the pygame or not?
if self.on_init() == False:
self._running = False;

# render the first image
self.on_render()

# check for keyboard input if the game is still running
while(self._running):
pygame.event.pump()

events = pygame.event.get()
for event in events:
if (event.type == pygame.KEYDOWN):
keys = event.key

# handle other keys here

if (keys == pygame.K_ESCAPE):
self._running = False

self.on_render()

time.sleep (40.0 / 1000.0);

self.on_cleanup()
</pre>
<p>This class will create a 250 x 250 pixel windows with kinda brownies color, for us to test this application, we need to tied the main application to the App class that we already created:</p>
<pre class="brush: python; title: ; notranslate">
if __name__ == "__main__":
theApp = App()
theApp.on_execute()
</pre>
<p>we can try to run this program, and it will showed you something like this:</p>
<div data-shortcode="caption" id="attachment_2131" style="width: 262px" class="wp-caption alignnone"><a href="https://billyinferno.wordpress.com/wp-content/uploads/2018/02/py2048_01_board.png"><img aria-describedby="caption-attachment-2131" data-attachment-id="2131" data-permalink="https://billyinferno.wordpress.com/2018/02/03/2048-is-the-easiest-way-to-learn-python/py2048_01_board/" data-orig-file="https://billyinferno.wordpress.com/wp-content/uploads/2018/02/py2048_01_board.png" data-orig-size="252,282" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="py2048_01_board" data-image-description="" data-image-caption="&lt;p&gt;2048 games board&lt;/p&gt;
" data-medium-file="https://billyinferno.wordpress.com/wp-content/uploads/2018/02/py2048_01_board.png?w=252" data-large-file="https://billyinferno.wordpress.com/wp-content/uploads/2018/02/py2048_01_board.png?w=252" src="https://billyinferno.wordpress.com/wp-content/uploads/2018/02/py2048_01_board.png?w=580" class="size-full wp-image-2131"  alt=""  srcset="https://billyinferno.wordpress.com/wp-content/uploads/2018/02/py2048_01_board.png 252w, https://billyinferno.wordpress.com/wp-content/uploads/2018/02/py2048_01_board.png?w=134&amp;h=150 134w" sizes="(max-width: 252px) 100vw, 252px"></a><p id="caption-attachment-2131" class="wp-caption-text"><em>2048 games board</em></p></div>
<p>We already have window that will hold our number blocks, now it&#8217;s time to create a Board class that will hold all the number blocks:</p>
<pre class="brush: python; title: ; notranslate">
# Board Class
# this will hold all the board and movement performed on
# on the board
class Board:
# create a list of element
boards = []
x = 0
y = 0

# x, and y will determine the length of the board
def __init__(self, x, y):
self.x = x
self.y = y

# create the 2d list of the boards based on the x and y
# value passed to the initialization
for i in range(0, y):
# apend a list to the boards
self.boards.append([]);

# clear the board
self.clearBoard()

# get 2 random number and put on the board
self.randomNumber()
self.randomNumber()

def clearBoard(self):
for i in range(0, self.y):
for j in range(0, self.x):
self.boards[i].append(0);

def randomNumber(self):
# ensure there are blocks that we can filled, before we put randomization
isZeroTilesAvailable = False
for y in range(0, self.y):
for x in range(0, self.x):
if self.boards[y][x] == 0:
isZeroTilesAvailable = True
break;

# check whether we have zero blocks available
if isZeroTilesAvailable:
x = randint(0,(self.x-1))
y = randint(0,(self.y-1))

while 1:
if self.boards[y][x] == 0:
n = int(math.pow(2,randint(1,3)))
self.boards[y][x] = n
print("Put " + str(n) +", on block: " + str(x) + "," + str(y) + ".")
break
else:
x = randint(0,3)
y = randint(0,3);
</pre>
<p>Here we will create a 2D list based on the x and y parameter passed during class initialization. During the initialization process, the class will also assign all the board with &#8220;0&#8221; as their initial values, and will generate 2 random number blocks and put it on the board.</p>
<p>Then we need to add this new Board class to our App class during initialization, so we can access all the number blocks from the App class later on:</p>
<pre class="brush: python; title: ; notranslate">
...
def __init__(self):
# set that running indicator into true
self._running = True

# create the display surface.
# we will fill this display with the display from the pygame during oninit
self._display_surf = None

# create the variable for boards
self.board = Board(4,4)
...
</pre>
<p>For testing whether we have the correct block or not, you can put some print function on the on_render to check whether the board is already correct or not? If we try to run this program it will still resulted with the same result as the previous one, because we haven&#8217;t do anything to the render function that will render that number blocks to the window.</p>
<p>For doing that we need to add printBoard function on the Board class that will load respective images and draw it to the game windows. For this we also need to create images with size 50 x 50 pixel with value (0, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, &#8230;, 65536) with PNG extension on the images folder (images is included on the full source).</p>
<pre class="brush: python; title: ; notranslate">
class Board:
...
def printBoard(self, surf):
for y in range(0, self.y):
for x in range(0, self.x):
block_image = pygame.image.load("images\\" + str(self.boards[y][x]) + ".png").convert()
surf.blit(block_image, (10 + (60 * x), 10 + (60 * y)));
...
</pre>
<p>then we need to call this printBoard function during on_render at App class so we can see the result on the game window:</p>
<pre class="brush: python; title: ; notranslate">
class App:
...
def on_render(self):
# draw the game board
self.board.printBoard(self._display_surf)

pygame.display.flip()
...
</pre>
<p>If we try to run this program it should showed you all the number block on the game window:</p>
<div data-shortcode="caption" id="attachment_2132" style="width: 262px" class="wp-caption alignnone"><a href="https://billyinferno.wordpress.com/wp-content/uploads/2018/02/py2048_02_block_loaded.png"><img aria-describedby="caption-attachment-2132" data-attachment-id="2132" data-permalink="https://billyinferno.wordpress.com/2018/02/03/2048-is-the-easiest-way-to-learn-python/py2048_02_block_loaded/" data-orig-file="https://billyinferno.wordpress.com/wp-content/uploads/2018/02/py2048_02_block_loaded.png" data-orig-size="252,282" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="py2048_02_block_loaded" data-image-description="" data-image-caption="&lt;p&gt;Number blocks is loaded to game window.&lt;/p&gt;
" data-medium-file="https://billyinferno.wordpress.com/wp-content/uploads/2018/02/py2048_02_block_loaded.png?w=252" data-large-file="https://billyinferno.wordpress.com/wp-content/uploads/2018/02/py2048_02_block_loaded.png?w=252" src="https://billyinferno.wordpress.com/wp-content/uploads/2018/02/py2048_02_block_loaded.png?w=580" class="size-full wp-image-2132"  alt=""  srcset="https://billyinferno.wordpress.com/wp-content/uploads/2018/02/py2048_02_block_loaded.png 252w, https://billyinferno.wordpress.com/wp-content/uploads/2018/02/py2048_02_block_loaded.png?w=134&amp;h=150 134w" sizes="(max-width: 252px) 100vw, 252px"></a><p id="caption-attachment-2132" class="wp-caption-text"><em>Number blocks is loaded to game window.</em></p></div>
<p>One things tackled, now it&#8217;s time to handle the move function. There are 4 movement that can be done on the 2048 games, Up, Down, Left, and Right. Left and Up is using similar method the difference is whether you move on &#8220;x&#8221; axis or &#8220;y&#8221; axis, same things also applied for Right and Down movement.</p>
<p>For example, on Move Left, we will move block from number 2 until 3, to the left. If the block on the left have same value with the current block we move, we will perform join to those block. This simply can be performed with simple FOR..LOOPS syntax that will traverse thru &#8220;x&#8221; and &#8220;y&#8221; axis, below is the complete move function that we implemented on the Board Class:</p>
<pre class="brush: python; title: ; notranslate">
class Board:
...
def moveLeft(self, surf):
print("Move Left")

# set the isMoved as false
isMoved = False

# for move left we will shift all x from right most to the nearest
# boards that empty (value 0)
for y in range(0,self.y):
# loop from 1 to 3
for x1 in range(1,self.x):
# loop from (x1+1) to 0
# check if current block on the board is &gt; 0
if self.boards[y][x1] &gt; 0:
# loop from x1-1 to 0
currVal = self.boards[y][x1]
for x2 in range((x1-1),-1,-1):
# check if this is 0 or have equal value with the board
if currVal == self.boards[y][x2] and self.boards[y][(x2+1)] == self.boards[y][x2]:
# join this two block
print("Join Block " + str(x2) + "," + str(y) + " with " + str((x2+1)) + "," + str(y))
self.boards[y][x2] = self.boards[y][x2] + currVal
self.boards[y][(x2+1)] = 0
isMoved = True
# reset currVal so it will not going to be used to
# perform validation for joining the blocks
currVal = -1
elif self.boards[y][x2] == 0:
# move block to left
print("Move Block " + str(x2) + "," + str(y) + " to " + str((x2+1)) + "," + str(y))
self.boards[y][x2] = currVal
self.boards[y][(x2+1)] = 0
isMoved = True

return isMoved;

def moveRight(self, surf):
print("Move Right")

# set the isMoved as false
isMoved = False

# for move right we will shift all x from 0 to x + 1 to the nearest
# boards that empty (value 0)
for y in range(0,self.y):
# loop from 2 to 0
for x1 in range((self.x-2),-1,-1):
# check if current block is &gt; 0
if self.boards[y][x1] &gt; 0:
# loop from x1+1 to 3
currVal = self.boards[y][x1]
for x2 in range(x1+1,self.x):
# check if this is 0 or have equal value with the board
if currVal == self.boards[y][x2] and self.boards[y][(x2-1)] == self.boards[y][x2]:
# join this two block
print("Join Block " + str(x2) + "," + str(y) + " with " + str((x2-1)) + "," + str(y))
self.boards[y][x2] = self.boards[y][x2] + currVal
self.boards[y][(x2-1)] = 0
isMoved = True
# reset currVal so it will not going to be used to
# perform validation for joining the blocks
currVal = -1
elif self.boards[y][x2] == 0:
# move block to the right
print("Move Block " + str(x2) + "," + str(y) + " to " + str((x2-1)) + "," + str(y))
self.boards[y][x2] = currVal
self.boards[y][(x2-1)] = 0
isMoved = True;

return isMoved;

def moveUp(self, surf):
print("Move Up");

# set the isMoved as false
isMoved = False

# for move left we will shift all x from right most to the nearest
# boards that empty (value 0)
for x in range(0,self.x):
# loop from 1 to 3
for y1 in range(1,self.y):
# loop from (x1+1) to 0
# check if current block on the board is &gt; 0
if self.boards[y1][x] &gt; 0:
# loop from y1-1 to 0
currVal = self.boards[y1][x]
for y2 in range((y1-1),-1,-1):
# check if this is 0 or have equal value with the board
if currVal == self.boards[y2][x] and self.boards[(y2+1)][x] == self.boards[y2][x]:
# join this two block
print("Join Block " + str(x) + "," + str(y2) + " with " + str(x) + "," + str(y2 + 1))
self.boards[y2][x] = self.boards[y2][x] + currVal
self.boards[y2+1][x] = 0
isMoved = True
# reset currVal so it will not going to be used to
# perform validation for joining the blocks
currVal = -1
elif self.boards[y2][x] == 0:
# move block to left
print("Move Block " + str(x) + "," + str(y2) + " to " + str(x) + "," + str(y2+1))
self.boards[y2][x] = currVal
self.boards[(y2+1)][x] = 0
isMoved = True

return isMoved;

def moveDown(self, surf):
print("Move Down");

# set the isMoved as false
isMoved = False

# for move right we will shift all x from 0 to x + 1 to the nearest
# boards that empty (value 0)
for x in range(0,self.x):
# loop from 2 to 0
for y1 in range((self.y-2),-1,-1):
# check if current block is &gt; 0
if self.boards[y1][x] &gt; 0:
# loop from y1+1 to 3
currVal = self.boards[y1][x]
for y2 in range(y1+1,self.y):
# check if this is 0 or have equal value with the board
if currVal == self.boards[y2][x] and self.boards[(y2-1)][x] == self.boards[y2][x]:
# join this two block
print("Join Block " + str(x) + "," + str(y2) + " with " + str(x) + "," + str(y2-1))
self.boards[y2][x] = self.boards[y2][x] + currVal
self.boards[(y2-1)][x] = 0
isMoved = True
# reset currVal so it will not going to be used to
# perform validation for joining the blocks
currVal = -1
elif self.boards[y2][x] == 0:
# move block to the right
print("Move Block " + str(x) + "," + str(y2) + " to " + str(x) + "," + str(y2-1))
self.boards[y2][x] = currVal
self.boards[(y2-1)][x] = 0
isMoved = True;

return isMoved;
...
</pre>
<p>Then we need to hook the Key Press event  on the App class to the movement of the board when we execute the program. If we can perform the movement, then generate one random number and put it on the block.</p>
<pre class="brush: python; title: ; notranslate">
class App:
...
def on_execute(self):
...
keys = event.key

if (keys == pygame.K_RIGHT):
if (self.board.moveRight(self._display_surf)):
self.board.randomNumber()

if (keys == pygame.K_LEFT):
if (self.board.moveLeft(self._display_surf)):
self.board.randomNumber()

if (keys == pygame.K_UP):
if (self.board.moveUp(self._display_surf)):
self.board.randomNumber()

if (keys == pygame.K_DOWN):
if (self.board.moveDown(self._display_surf)):
self.board.randomNumber()
...
</pre>
<p>Now if we run the program it will showed you the board and you can control all the blocks movement Up, Down, Left, and Right, also every time we move the blocks, we will generate one random number on the board.</p>
<p>The program is around 80% finished, what we need to do now is to implement the validation to knew whether it&#8217;s already Game Over or not?</p>
<p>The game will be end, if there are no movement is available on the board, and since we will only going to do simple program, we will directly quit the program, if the game is already over.</p>
<pre class="brush: python; title: ; notranslate">
class Board:
...
def gameOver(self):
# loop through all blocks in board
for y in range(0, self.y):
for x in range(0, self.x):
# check if any moves is available
if self.boards[y][x] == 0:
return False
else:
# check for the movement whether this block can be moved
# up, down, left, or right?
# move up can only be done if y is &gt; 0
if (y &gt; 0):
# try to look up
if self.boards[(y-1)][x] == self.boards[y][x]:
return False
# move down can only be done if y is &lt; (self.y - 1)
if (y &lt; (self.y - 1)): # try to look down if self.boards[(y+1)][x] == self.boards[y][x]: return False # move left can only be done if x is &gt; 0
if (x &gt; 0):
# try to look left
if self.boards[y][x-1] == self.boards[y][x]:
return False
# move right can only be done if x is &lt; (self.x - 1)
if (x &lt; (self.x - 1)):
# try to look right
if self.boards[y][x+1] == self.boards[y][x]:
return False;

# otherwise
return True;
...
</pre>
<p>Then we can check whether we already hit Game Over or not on the App class everytime the key press event is invoked:</p>
<pre class="brush: python; title: ; notranslate">
class App:
...
def on_execute(self):
...
if (event.type == pygame.KEYDOWN):
keys = event.key
...
# check if game over or not?
if self.board.gameOver():
self._running = False;
...
</pre>
<p>Now if we run the game it will directly quit the program once there are no movement available on the board.</p>
<p>To add some spice, we can actually add animation of the movement block when we perform the move or join blocks, we can do it by re-drawing each blocks that got updated. For this we can add new function to draw specific blocks on the Board class:</p>
<pre class="brush: python; title: ; notranslate">
class Board:
...
def drawBlocks(self, x, y, surf):
block_image = pygame.image.load("images\\" + str(self.boards[y][x]) + ".png").convert()
surf.blit(block_image, (10 + (60 * x), 10 + (60 * y)))
pygame.display.flip();
...
</pre>
<p>As for this, we need to call this function on the movement function, so everytime we move the blocks, we will also re-draw it. For example on the move left function we will change it into:</p>
<pre class="brush: python; highlight: [25,26,27,37,38,39]; title: ; notranslate">
def moveLeft(self, surf):
print("Move Left")

# set the isMoved as false
isMoved = False

# for move left we will shift all x from right most to the nearest
# boards that empty (value 0)
for y in range(0,self.y):
# loop from 1 to 3
for x1 in range(1,self.x):
# loop from (x1+1) to 0
# check if current block on the board is &gt; 0
if self.boards[y][x1] &gt; 0:
# loop from x1-1 to 0
currVal = self.boards[y][x1]
for x2 in range((x1-1),-1,-1):
# check if this is 0 or have equal value with the board
if currVal == self.boards[y][x2] and self.boards[y][(x2+1)] == self.boards[y][x2]:
# join this two block
print("Join Block " + str(x2) + "," + str(y) + " with " + str((x2+1)) + "," + str(y))
self.boards[y][x2] = self.boards[y][x2] + currVal
self.boards[y][(x2+1)] = 0
isMoved = True
self.drawBlocks(x2,y,surf)
self.drawBlocks((x2+1),y,surf)
time.sleep (15.0 / 1000.0)
# reset currVal so it will not going to be used to
# perform validation for joining the blocks
currVal = -1
elif self.boards[y][x2] == 0:
# move block to left
print("Move Block " + str(x2) + "," + str(y) + " to " + str((x2+1)) + "," + str(y))
self.boards[y][x2] = currVal
self.boards[y][(x2+1)] = 0
isMoved = True
self.drawBlocks(x2,y,surf)
self.drawBlocks((x2+1),y,surf)
time.sleep (15.0 / 1000.0)
</pre>
<p>Do this for all the movement to make that all movement will be animated. Now you can run again the game, and you can see each block will be animated everytime a move or join is performed.</p>
<p>Well, Python is simple, even this game should be finished less than 1 hours of programming, but this is a good method to refresh or learn something new that you never touch before. In case you interested of the full source code, you can get it on my <a href="https://github.com/billyinferno/Python_2048">Git Hub</a> page.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://billyinferno.wordpress.com/2018/02/03/2048-is-the-easiest-way-to-learn-python/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2129</post-id>
		<media:content url="https://2.gravatar.com/avatar/2e1ce3eb41f17f1a2b83ec2a5c7222c67d220ef642f30b93228e6ea9e065dabe?s=96&#38;d=https%3A%2F%2F2.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=PG" medium="image">
			<media:title type="html">adi martha</media:title>
		</media:content>

		<media:content url="https://billyinferno.wordpress.com/wp-content/uploads/2018/02/py2048_01_board.png" medium="image" />

		<media:content url="https://billyinferno.wordpress.com/wp-content/uploads/2018/02/py2048_02_block_loaded.png" medium="image" />
	</item>
		<item>
		<title>How big is big? You can go ask China!</title>
		<link>https://billyinferno.wordpress.com/2017/10/13/how-big-is-big-you-can-go-ask-china/</link>
					<comments>https://billyinferno.wordpress.com/2017/10/13/how-big-is-big-you-can-go-ask-china/#respond</comments>
		
		<dc:creator><![CDATA[adi martha]]></dc:creator>
		<pubDate>Fri, 13 Oct 2017 14:37:39 +0000</pubDate>
				<category><![CDATA[a pint of milk]]></category>
		<category><![CDATA[education and technology]]></category>
		<category><![CDATA[my mind]]></category>
		<category><![CDATA[my mind, body, and soul]]></category>
		<guid isPermaLink="false">http://billyinferno.wordpress.com/?p=1981</guid>

					<description><![CDATA[Someone told me to go to China? In my defense, &#8220;why not?&#8220;, after all China is not the same country as you seen when you watch Wild China (in case you have Netflix Subscription or got it on the Torrent site). For a few decade, China has their own &#8220;closed&#8221; internet structure which called &#8220;The [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Someone told me to go to China? In my defense, &#8220;<em>why not?</em>&#8220;, after all China is not the same country as you seen when you watch Wild China (in case you have Netflix Subscription or got it on the Torrent site).</p>
<p>For a few decade, China has their own &#8220;<em>closed</em>&#8221; internet structure which called &#8220;<a href="https://en.wikipedia.org/wiki/Great_Firewall" target="_blank" rel="noopener"><em>The Great Firewall of China</em></a>&#8221; a term that coined by Wired Magazine at 1997.</p>
<p>For people during that time, it probably will irk them and see this as a <em>backward things</em>, since there are no openness on their internet. Government is controlling what information that they received, how they connect to each other, etc.</p>
<p>But apparently the wind has change their position, and now China become one of the largest IT Player in the world, and mostly what you found there cannot be found anywhere in the world.</p>
<blockquote><p>Yes, by now, China is stepped up, most of the country in terms of technology adaptability. Especially in terms of mobile payment, and cashless transaction.</p></blockquote>
<p>Actually, when I going to BNI few weeks ago, I found my self in the discussion with some people on BNV Division that asking regarding whether AliPay will change the way how our Debit and Credit Card look?</p>
<blockquote><p>The answer is &#8220;Yes&#8221;.</p></blockquote>
<p>But, if they ask whether it will challenge Visa and Mastercard?</p>
<blockquote><p>The answer is &#8220;No&#8221;.</p></blockquote>
<p>Because as per we seen, China Mobile Payment system is great at their own territories, it not support any international payment, and will not going to be accepted even though you <a href="https://www.alipay.com.sg/personal-faq.html" target="_blank" rel="noopener">using the same Payment System (eg. AliPay China and AliPay Singapore)</a>.</p>
<p>If you asking me why? It probably due the international regulation, for example the transaction should be handled thru all the regulation that comply with SWIFT regulation, and to get this, there are lot of things that need to be done. So for now on, it probably will not going to change the position of Visa and Mastercard as the main player for people who want to perform out-of-country (international) transaction.</p>
<blockquote><p>But don&#8217;t get fool by that, because even thought it only play on the local area, the number given will probably get you a shock.</p></blockquote>
<p>Before that we should understand first, what is the main financial services network that being used in China, because it&#8217;s not Visa nor Mastercard, it was China UnionPay (CUP). The CUP is mostly being used by Chinese Bank only, but even though it was used by Chinese Bank only, it handled about 6 Billion card (yes it&#8217;s Billion with &#8220;B&#8221;), at 2016, and it makes CUP is the largest Global Payment Card in the world as we can see in the graph below:</p>
<p><img data-attachment-id="2031" data-permalink="https://billyinferno.wordpress.com/2017/10/13/how-big-is-big-you-can-go-ask-china/global20payments20card20market20share/" data-orig-file="https://billyinferno.wordpress.com/wp-content/uploads/2017/10/global20payments20card20market20share.png" data-orig-size="700,562" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="global20payments20card20market20share" data-image-description="" data-image-caption="" data-medium-file="https://billyinferno.wordpress.com/wp-content/uploads/2017/10/global20payments20card20market20share.png?w=300" data-large-file="https://billyinferno.wordpress.com/wp-content/uploads/2017/10/global20payments20card20market20share.png?w=580" class="alignnone size-full wp-image-2031 aligncenter" src="https://billyinferno.wordpress.com/wp-content/uploads/2017/10/global20payments20card20market20share.png?w=580" alt="global20payments20card20market20share"   srcset="https://billyinferno.wordpress.com/wp-content/uploads/2017/10/global20payments20card20market20share.png 700w, https://billyinferno.wordpress.com/wp-content/uploads/2017/10/global20payments20card20market20share.png?w=150&amp;h=120 150w, https://billyinferno.wordpress.com/wp-content/uploads/2017/10/global20payments20card20market20share.png?w=300&amp;h=241 300w" sizes="(max-width: 700px) 100vw, 700px" /></p>
<p>Now it probably will make you understand the statement that I wrote before, that &#8220;<span style="text-decoration:underline;">even though it only played in local scope only, the number will gave you a shock!</span>&#8221;</p>
<p>After we understand how big is the scale for the traditional Banking perspective, now let&#8217;s jump up to the newest Banking perspective, which is Mobile Payment.</p>
<blockquote><p>In China, there are 2 big player in the Mobile Payment System, both are AliPay and TenPay (WeChat). To make it easier, we will not going to explain regarding how they compete each other in China, but we will see them as an emerging force that will drove current traditional transaction method from Cash Transaction into Mobile Transaction, and eventually probably will replace the old-yet-reliable Card Transaction.</p></blockquote>
<p>But in case you curios, you can see the share of all Chinese Mobile Payment system in the graph below:</p>
<p><img loading="lazy" data-attachment-id="2046" data-permalink="https://billyinferno.wordpress.com/2017/10/13/how-big-is-big-you-can-go-ask-china/mobile-payment-2/" data-orig-file="https://billyinferno.wordpress.com/wp-content/uploads/2017/10/mobile-payment-2.png" data-orig-size="1478,1266" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="mobile-payment-2" data-image-description="" data-image-caption="" data-medium-file="https://billyinferno.wordpress.com/wp-content/uploads/2017/10/mobile-payment-2.png?w=300" data-large-file="https://billyinferno.wordpress.com/wp-content/uploads/2017/10/mobile-payment-2.png?w=580" class="alignnone size-full wp-image-2046 aligncenter" src="https://billyinferno.wordpress.com/wp-content/uploads/2017/10/mobile-payment-2.png?w=580" alt="mobile-payment-2"   srcset="https://billyinferno.wordpress.com/wp-content/uploads/2017/10/mobile-payment-2.png 1478w, https://billyinferno.wordpress.com/wp-content/uploads/2017/10/mobile-payment-2.png?w=150&amp;h=128 150w, https://billyinferno.wordpress.com/wp-content/uploads/2017/10/mobile-payment-2.png?w=300&amp;h=257 300w, https://billyinferno.wordpress.com/wp-content/uploads/2017/10/mobile-payment-2.png?w=768&amp;h=658 768w, https://billyinferno.wordpress.com/wp-content/uploads/2017/10/mobile-payment-2.png?w=1024&amp;h=877 1024w, https://billyinferno.wordpress.com/wp-content/uploads/2017/10/mobile-payment-2.png?w=1440&amp;h=1233 1440w" sizes="(max-width: 1478px) 100vw, 1478px" /></p>
<p>And the trends of it, getting bigger-and-bigger, which now probably become a standard and behavior in China, as per-data said that the Mobile Payment Transaction in China growth over 380% from year-to-year transaction in 2015 to 2016.</p>
<p>It also supported by the fact that Non-Mobile-Payment (using Desktop, or iPad to become Mobile) is decreasing by half of is transaction from 2015 to 2016. They even predict that at 2019, only merely a <strong>14.9%</strong> transaction will be processed as Non-Mobile-Payment in China, and by the number and the behavior of the people, it probably will become true.</p>
<p><img loading="lazy" data-attachment-id="2062" data-permalink="https://billyinferno.wordpress.com/2017/10/13/how-big-is-big-you-can-go-ask-china/mobile-payment-4/" data-orig-file="https://billyinferno.wordpress.com/wp-content/uploads/2017/10/mobile-payment-4.png" data-orig-size="1240,1168" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="mobile-payment-4" data-image-description="" data-image-caption="" data-medium-file="https://billyinferno.wordpress.com/wp-content/uploads/2017/10/mobile-payment-4.png?w=300" data-large-file="https://billyinferno.wordpress.com/wp-content/uploads/2017/10/mobile-payment-4.png?w=580" class="alignnone size-full wp-image-2062 aligncenter" src="https://billyinferno.wordpress.com/wp-content/uploads/2017/10/mobile-payment-4.png?w=580" alt="mobile-payment-4"   srcset="https://billyinferno.wordpress.com/wp-content/uploads/2017/10/mobile-payment-4.png 1240w, https://billyinferno.wordpress.com/wp-content/uploads/2017/10/mobile-payment-4.png?w=150&amp;h=141 150w, https://billyinferno.wordpress.com/wp-content/uploads/2017/10/mobile-payment-4.png?w=300&amp;h=283 300w, https://billyinferno.wordpress.com/wp-content/uploads/2017/10/mobile-payment-4.png?w=768&amp;h=723 768w, https://billyinferno.wordpress.com/wp-content/uploads/2017/10/mobile-payment-4.png?w=1024&amp;h=965 1024w" sizes="(max-width: 1240px) 100vw, 1240px" /></p>
<p>This is also can be seen by the report and forecast that Cash Transaction began to drove away and replaced by Mobile Transaction. Which can be seen in graph below:</p>
<p><img loading="lazy" data-attachment-id="2080" data-permalink="https://billyinferno.wordpress.com/2017/10/13/how-big-is-big-you-can-go-ask-china/digital-payment-ecosystems-in-china-2017-01/" data-orig-file="https://billyinferno.wordpress.com/wp-content/uploads/2017/10/digital-payment-ecosystems-in-china-2017-01.png" data-orig-size="640,306" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="digital-payment-ecosystems-in-china-2017-01" data-image-description="" data-image-caption="" data-medium-file="https://billyinferno.wordpress.com/wp-content/uploads/2017/10/digital-payment-ecosystems-in-china-2017-01.png?w=300" data-large-file="https://billyinferno.wordpress.com/wp-content/uploads/2017/10/digital-payment-ecosystems-in-china-2017-01.png?w=580" class="alignnone size-full wp-image-2080 aligncenter" src="https://billyinferno.wordpress.com/wp-content/uploads/2017/10/digital-payment-ecosystems-in-china-2017-01.png?w=580" alt="digital-payment-ecosystems-in-china-2017-01"   srcset="https://billyinferno.wordpress.com/wp-content/uploads/2017/10/digital-payment-ecosystems-in-china-2017-01.png 640w, https://billyinferno.wordpress.com/wp-content/uploads/2017/10/digital-payment-ecosystems-in-china-2017-01.png?w=150&amp;h=72 150w, https://billyinferno.wordpress.com/wp-content/uploads/2017/10/digital-payment-ecosystems-in-china-2017-01.png?w=300&amp;h=143 300w" sizes="(max-width: 640px) 100vw, 640px" /></p>
<p>The card transaction position is still strong due the fact that currently the Mobile Payment ecosystem is still only being used in local area only.</p>
<p>And by all that figures, all that numbers, can we predict how much is the total Mobile Payment Transaction processed in China at 2016?</p>
<blockquote><p>It&#8217;s US$ 8.6 Trillion (yes with &#8220;T&#8221;).</p></blockquote>
<p><img loading="lazy" data-attachment-id="2089" data-permalink="https://billyinferno.wordpress.com/2017/10/13/how-big-is-big-you-can-go-ask-china/mobile-payment-7/" data-orig-file="https://billyinferno.wordpress.com/wp-content/uploads/2017/10/mobile-payment-7.png" data-orig-size="1540,1010" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="mobile-payment-7" data-image-description="" data-image-caption="" data-medium-file="https://billyinferno.wordpress.com/wp-content/uploads/2017/10/mobile-payment-7.png?w=300" data-large-file="https://billyinferno.wordpress.com/wp-content/uploads/2017/10/mobile-payment-7.png?w=580" class="alignnone size-full wp-image-2089 aligncenter" src="https://billyinferno.wordpress.com/wp-content/uploads/2017/10/mobile-payment-7.png?w=580" alt="mobile-payment-7"   srcset="https://billyinferno.wordpress.com/wp-content/uploads/2017/10/mobile-payment-7.png 1540w, https://billyinferno.wordpress.com/wp-content/uploads/2017/10/mobile-payment-7.png?w=150&amp;h=98 150w, https://billyinferno.wordpress.com/wp-content/uploads/2017/10/mobile-payment-7.png?w=300&amp;h=197 300w, https://billyinferno.wordpress.com/wp-content/uploads/2017/10/mobile-payment-7.png?w=768&amp;h=504 768w, https://billyinferno.wordpress.com/wp-content/uploads/2017/10/mobile-payment-7.png?w=1024&amp;h=672 1024w, https://billyinferno.wordpress.com/wp-content/uploads/2017/10/mobile-payment-7.png?w=1440&amp;h=944 1440w" sizes="(max-width: 1540px) 100vw, 1540px" /></p>
<p>And by 2019, it will be expected to growth 4 times ($US 30 Trillion, yes with &#8220;T&#8221;). And if we compare this we US Mobile Payment transaction, which recorded only US$ 62 Billion (yes this one with &#8220;B&#8221;), when we put the comparison in the graph it already looks ridiculous.</p>
<p><img loading="lazy" data-attachment-id="2095" data-permalink="https://billyinferno.wordpress.com/2017/10/13/how-big-is-big-you-can-go-ask-china/china-vs-us/" data-orig-file="https://billyinferno.wordpress.com/wp-content/uploads/2017/10/china-vs-us.png" data-orig-size="946,653" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="china-vs-us" data-image-description="" data-image-caption="" data-medium-file="https://billyinferno.wordpress.com/wp-content/uploads/2017/10/china-vs-us.png?w=300" data-large-file="https://billyinferno.wordpress.com/wp-content/uploads/2017/10/china-vs-us.png?w=580" class="alignnone size-full wp-image-2095 aligncenter" src="https://billyinferno.wordpress.com/wp-content/uploads/2017/10/china-vs-us.png?w=580" alt="china-vs-us"   srcset="https://billyinferno.wordpress.com/wp-content/uploads/2017/10/china-vs-us.png 946w, https://billyinferno.wordpress.com/wp-content/uploads/2017/10/china-vs-us.png?w=150&amp;h=104 150w, https://billyinferno.wordpress.com/wp-content/uploads/2017/10/china-vs-us.png?w=300&amp;h=207 300w, https://billyinferno.wordpress.com/wp-content/uploads/2017/10/china-vs-us.png?w=768&amp;h=530 768w" sizes="(max-width: 946px) 100vw, 946px" /></p>
<p>US Mobile Payment transaction cannot even make a line on the graph.</p>
<p>If you ask me, why China Mobile Payment can growth with this massive scale? What makes China different with US and Europe?</p>
<p>For this probably we can go back to the first paragraph that I wrote regarding The Great Firewall of China. Because of the limit access of the information or platform from other country, most Tech Company in China is tailored to create something that can be easily understand and adapt by local, since they wouldn&#8217;t need to worries regarding global trend, nor other country specific patterns that need be obliged, when the perform any innovation, which is some lead to a very good things, such as this Mobile Payment.</p>
<p>But, China is not even held back in any other terms of advanced technology compare to the country that already mature, such as that China is the first one who can <a href="https://www.wsj.com/articles/chinas-latest-leap-forward-isnt-just-greatits-quantum-1471269555" target="_blank" rel="noopener">perform Quantum communication from Space to Earth</a> that will give a boost to the information security.</p>
<p>Using their advance technology in Chip and Microprocessor construction, they now create <a href="https://www.computerworld.com/article/3085483/high-performance-computing/china-builds-world-s-fastest-supercomputer-without-u-s-chips.html" target="_blank" rel="noopener">The Fastest Super Computer in earth</a>, with chips that made locally (where&#8217;s your Xeon now?).</p>
<p>So, if someone told me to become a programmer in China, I would say</p>
<blockquote><p><strong>&#8220;WHY THE F*CK NOT? I&#8217;LL F*CKING TAKE IT!&#8221;</strong></p></blockquote>
<p><span style="color:#ff0000;"><em>NB: No need to read this 4 times just to make your self understand how big is the Mobile Payment Business and technology advanced is China now, in case that you someone who like to read 4 times! *yes-this-is-sarcasm* *inser-wink-emoji-here*</em></span></p>
]]></content:encoded>
					
					<wfw:commentRss>https://billyinferno.wordpress.com/2017/10/13/how-big-is-big-you-can-go-ask-china/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1981</post-id>
		<media:content url="https://2.gravatar.com/avatar/2e1ce3eb41f17f1a2b83ec2a5c7222c67d220ef642f30b93228e6ea9e065dabe?s=96&#38;d=https%3A%2F%2F2.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=PG" medium="image">
			<media:title type="html">adi martha</media:title>
		</media:content>

		<media:content url="https://billyinferno.wordpress.com/wp-content/uploads/2017/10/global20payments20card20market20share.png" medium="image">
			<media:title type="html">global20payments20card20market20share</media:title>
		</media:content>

		<media:content url="https://billyinferno.wordpress.com/wp-content/uploads/2017/10/mobile-payment-2.png" medium="image">
			<media:title type="html">mobile-payment-2</media:title>
		</media:content>

		<media:content url="https://billyinferno.wordpress.com/wp-content/uploads/2017/10/mobile-payment-4.png" medium="image">
			<media:title type="html">mobile-payment-4</media:title>
		</media:content>

		<media:content url="https://billyinferno.wordpress.com/wp-content/uploads/2017/10/digital-payment-ecosystems-in-china-2017-01.png" medium="image">
			<media:title type="html">digital-payment-ecosystems-in-china-2017-01</media:title>
		</media:content>

		<media:content url="https://billyinferno.wordpress.com/wp-content/uploads/2017/10/mobile-payment-7.png" medium="image">
			<media:title type="html">mobile-payment-7</media:title>
		</media:content>

		<media:content url="https://billyinferno.wordpress.com/wp-content/uploads/2017/10/china-vs-us.png" medium="image">
			<media:title type="html">china-vs-us</media:title>
		</media:content>
	</item>
		<item>
		<title>Welcome to S-Commerce!</title>
		<link>https://billyinferno.wordpress.com/2017/10/11/welcome-to-s-commerce/</link>
					<comments>https://billyinferno.wordpress.com/2017/10/11/welcome-to-s-commerce/#respond</comments>
		
		<dc:creator><![CDATA[adi martha]]></dc:creator>
		<pubDate>Wed, 11 Oct 2017 15:26:45 +0000</pubDate>
				<category><![CDATA[a pint of milk]]></category>
		<category><![CDATA[my mind]]></category>
		<category><![CDATA[my mind, body, and soul]]></category>
		<guid isPermaLink="false">http://billyinferno.wordpress.com/?p=1257</guid>

					<description><![CDATA[Note: Before you reading this post! This is an old post (dated January 2016) that completed due too many time spend at home at 2017, so some information probably already too old to be mentioned, and it can also completely rubbish, so roll on at your own risk! Ide ini sebenarnya sudah lama-lama-lama sekali ada [&#8230;]]]></description>
										<content:encoded><![CDATA[<blockquote><p><span style="color:#ff0000;"><em>Note: Before you reading this post!</em></span><br />
<em>This is an old post (dated January 2016) that completed due too many time spend at home at 2017, so some information probably already too old to be mentioned, and it can also completely rubbish, so roll on at your own risk!</em></p></blockquote>
<p>Ide ini sebenarnya sudah lama-lama-lama sekali ada di kepala. mengingat bahwa teknologi yang bersifat &#8220;<em>social</em>&#8221; sudah lama sekali membaur di masyarakat, di mulai dari sebuah teknologi asing, hinggal menjadi sebuah teknologi yang tidak bisa dilepaskan dari masyarakat.</p>
<p>Teknologi &#8220;<em>social</em>&#8221; ini juga mendorong beberapa perubahan <em>significant</em> yang secara tidak langsung membantu manusia dalam satu hal, yaitu:</p>
<blockquote><p>&#8220;Arus akses informasi&#8221;</p></blockquote>
<p>Dengan adanya teknologi &#8220;<em>social</em>&#8221; ini maka kita dapat dengan mudah mengetahui situasi, ataupun kondisi dari sebuah tempat nun jauh disana, tanpa perlu pergi kesana, atau berada disekitar sana.</p>
<p>Hal ini akhirnya menimbulkan sebuah gejala yang disebut-sebut sebagai &#8220;<em>citizen awareness</em>&#8220;, terutama dalam kaitan-kaitannya terhadap ideologi, politik, ekonomi, dan budaya.</p>
<blockquote><p>Masalahnya adalah, <span style="text-decoration:underline;">bukan ini yang ingin saya bahas</span>.</p></blockquote>
<p>Namun secara tidak langsung tulisan ini memiliki inti sari yang sama, bahwa teknologi &#8220;<em>social</em>&#8221; sudah berkembang dari sekedar <em>medium</em> menjadi <em>behavior</em>.</p>
<blockquote><p>Sama halnya seperti yang dilakukan ATM kepada Teller Bank.</p></blockquote>
<p>Dulu, semua transaksi Banking dilayani melalui Teller Bank. penarikan uang, pembayaran tagihan, dll. dan ketika ATM masuk, maka ATM masuk sebagai satu hal yang disebut teknologi tambahan, istilah kerennya &#8220;<em>Banking Channel</em>&#8220;.</p>
<p>Saat itu orang akan sangat enggan untuk menggunakan ATM. Takut nanti uangnya tidak keluar, takut bahwa nanti tagihannya tidak dibayarkan, dll. Ada banyak sekali ketakutan yang mampir kepada nasabah ketika menggunakan ATM, walaupun hampir semua alasannya tidak dapat di masuk akal.</p>
<blockquote><p>Namun seiring berjalannya waktu teknologi ATM dari sekedar &#8220;<em>another medium of Banking</em>&#8220;, bisa berubah menjadi &#8220;<em>Banking Behavior</em>&#8220;.</p></blockquote>
<p>Contoh sederhanya adalah, ada berapa banyak dari anda yang sekarang antri di teller untuk mengambil uang atau sekedar membayar tagihan listrik?</p>
<p>Saya rasa sudah sangat-sangat-sangat jarang sekali. Kecuali kebetulan anda punya gebetan teller <em>*lirik-jauh*</em>, mungkin mirip orang yang sering naik pesawat ketika punya pacar Pramugar<del>a</del>i.</p>
<p>Hal ini lah yang disebuh sebagai &#8220;<em>behavior shifting</em>&#8220;, bahwa semua ketakutan yang dulu ada berubah menjadi kepercayaan (<em>trust</em>), dan akhirnya berubah menjadi kebiasaan (<em>custom</em>), dan akhirnya menjadi perilaku (<em>behavior</em>) dari para nasabah Bank tersebut.</p>
<p>Bahasa kerennya hal ini sering di sebut sebagai &#8220;<em>transition from traditional banking to modern banking</em>&#8220;, dan ketika kita membaca tulisan ini maka ATM sudah bukan lagi menjadi &#8220;<em>modern banking</em>&#8220;, namun sudah turun kasta menjadi &#8220;<em>traditional banking behavior</em>&#8221; atau &#8220;<em>normal banking behavior</em>&#8220;.</p>
<blockquote><p>Lalu apa hubungannya antara &#8220;social&#8221;, &#8220;prilaku&#8221;, dan &#8220;banking&#8221;?</p></blockquote>
<p>Yang jelas mereka bertiga bukan saudara jauh, apalagi kakak adik. hubungannya adalah pada satu hal yang disebut &#8220;<em>interactivity</em>&#8220;.</p>
<p style="text-align:center;"><em>&#8212; this post below is added at 2017 &#8212;</em></p>
<blockquote><p><em>Interactivity</em> itu layaknya seperti lem yang mengikat antara <em>Social Platform</em>, <em>People Behavior</em>, <em>and Banking Custom</em>.</p></blockquote>
<p><em>The more people interact with their social platform/media, the more it will become their behavior</em>, selayaknya pacaran maka mungkin akan susah bagi seseorang saat ini untuk lepas dan tidak bercengkrama di dalam <em>social platform</em> yang mereka miliki (<em>facebook, instagram, whatsapp, etc</em>), <em>thus creating the behavior (or need?) on the people</em>.</p>
<p>Dan dengan semakin maraknya perkembangan <em>Mobile Banking</em> (<em>that probably already exceed the ATM transaction</em>) membuat kebiasaan orang yang dahulu memiliki kebiasaan (<em>Banking Custom</em>) untuk ke ATM melakukan sebuah transaksi financial (eg. bayar tagihan, transfer uang), kini melakukannya hanya melalui Handphone, <span style="text-decoration:underline;"><em>over the Internet</em></span>.</p>
<blockquote><p><em>And both of those things are performed in single devices, your own smartphone!</em></p></blockquote>
<p><em>It&#8217;s 2017</em>, siapa sih yang ga punya smartphone? <em>Things that seems to be held only for several peoples at 2010</em>, sekarang bisa di temukan dimana-mana, bahkan sekarang tukang ojek aja udah pake smartphone, ya kan?</p>
<p>Intensitas <em>interactivity</em> di smartphone anda untuk melakukan <em>social interaction</em> ataupun <em>financial interaction</em> inilah yang menyebabkan berkembangnya sebuah medium baru yang mungkin bisa di sebut sebagai <em>S-Commerce</em> (<em>let&#8217;s stick with the title I created at 2016!</em>), alias <strong>Social Commerce</strong>.</p>
<p>Sebenarnya jika di-tilik <em>Social Commerce</em> ini sudah lama bermain dan sudah lama adanya, dimulai dari situs-situs belanja (eg. Bhinneka), ataupun bermain lewat forum (eg. Kaskus), ataupun internet <em>ad-shortlist</em> semacam CraigList.</p>
<p>Jadi sebenarnya jika dilihat, kita sudah mulai belajar belanja <em>over the Internet</em> sejak dahulu kala, bahkan sebelum era Mobile Banking memiliki penetrasi sebanyak sekarang. Dimulai dari pemanfaatan <em>offline transaction such as Cash on Delivery</em>, ataupun menggunakan system yang sudah ada, misalnya Transfer antar Bank, dimana nanti barangnya di kirimkan melalui <em>courier</em>.</p>
<blockquote><p><em>The problem is there are no interactivity between those 2 process!</em></p></blockquote>
<p>Ketika anda menemukan barang yang ingin anda beli di Internet, misalnya di Forum, yang pertama kali anda lakukan adalah <em>inquiry the items</em>, <em>whether it still available or not</em>? Dan itu cuma bisa dilakukan melalui <em>either post on the thread it self</em>, atau <em>private message the seller</em>.</p>
<p><em>Seller</em> yang dikirimkan pesan, tidak akan langsung mendapatkan notifikasi ketika ada <em>customer</em> yang melakukan <em>inquiry</em>, dan bukan tidak mungkin ketika <em>seller</em> membuka kembali si forum, <em>seller</em> sudah menemukan banyak <em>private message</em> dan <em>post</em> yang di tulis di <em>thread</em> yang dia buat.</p>
<blockquote><p>Pertanyaannya, <em>who you should reply first</em>? <em>and how long you need time to reply it all, and get the response back from it</em>?</p></blockquote>
<p><em>Trust me, it took long time just to process a single transaction using this method</em> (mengenang ketika dulu tahun 2008 berjualan baju via Kaskus).</p>
<p>Dan ketika pada akhirnya <em>seller</em> menemukan <em>buyer</em> yang cocok dengan harga dan kondisi barang tersebut, maka proses selanjutnya adalah melakukan transaksi finansial antara <em>seller</em> dengan <em>buyer</em>.</p>
<p><em>In this case buyer</em> pasti menginginkan sesuatu untuk memastikan bahwa barang yang diterimanya nanti sesuai dengan kondisi yang diberitahukan oleh <em>seller</em>, sedangkan seller juga ingin kepastian bahwa <em>buyer</em> pasti akan membayar barangnya.</p>
<p><em>There are lots of middle ground solution for this problem</em>, misalnya saja penerapan <em>3rd Party Helper (neutral side)</em>, yang bertugas sebagai perantara terhadap transaksi ini, <a href="https://en.wikipedia.org/wiki/History_of_banking#Rome" target="_blank" rel="noopener"><em>which is same like the old classic Bank function during Rome times which is become the 3rd party between investor and lender</em></a>.</p>
<p>Atau menggunakan cara yang lebih <em>sophisticated</em> misalnya melakukan implementasi mendalam terhadap <em>Trust Metric Algorithm</em> yang bertugas untuk menjamin kredibilitas baik dari <em>seller</em> ataupun <em>buyer</em>.</p>
<blockquote><p><em>But alas, the solution is still 2 different process! It takes a lot of time, and for business &#8220;Time is money!&#8221;</em>.</p></blockquote>
<p><em>The solution for this is Social Commerce</em>, <em>it&#8217;s a platform where Social and Commerce come into single platform, in the same medium, at the same device</em>. <em>Where all the inquiry can be responded instantly</em>, <em>and all the financial transaction is performed directly on the same platform</em>. <del>(jadi kaya iklan?)</del></p>
<blockquote><p><em>Example of this should be WeChat, which successfully transform how Chinese people transaction behavior</em>.</p></blockquote>
<p>Sekarang jika kita pergi ke China, hampir semua <em>Merchant</em> melayani pembayaran dengan WeChat, <em>we can add them, ask them, getting response from them, and once okay you can directly pay for them</em>.</p>
<p><em>Or you can go visit them, and pay them also using the same system</em>.</p>
<blockquote><p><em>Now where is your POS God</em>?!</p></blockquote>
<p>Penetrasi <em>WeChat Payment</em> terbilang mudah karena tidak memerlukan <em>investment</em> terhadap barang, <em>all you need is your g*ddamn smartphone, and you good to go</em>!</p>
<p><em>So</em>, <em>will it be easy to implemented to another country such as Indonesia</em>? <em>Probably</em>! <em>There are a big market for Internet Shopping in Indonesia</em>, <em>especially because the Internet penetration is already quite good there</em>, <em>as per summarized by AseanUP</em>:</p>
<p><img loading="lazy" data-attachment-id="1885" data-permalink="https://billyinferno.wordpress.com/2017/10/11/welcome-to-s-commerce/indonesia-digital-numbers-2017/" data-orig-file="https://billyinferno.wordpress.com/wp-content/uploads/2017/10/indonesia-digital-numbers-2017.png" data-orig-size="520,380" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="indonesia-digital-numbers-2017" data-image-description="" data-image-caption="" data-medium-file="https://billyinferno.wordpress.com/wp-content/uploads/2017/10/indonesia-digital-numbers-2017.png?w=300" data-large-file="https://billyinferno.wordpress.com/wp-content/uploads/2017/10/indonesia-digital-numbers-2017.png?w=520" class="alignnone size-full wp-image-1885 aligncenter" src="https://billyinferno.wordpress.com/wp-content/uploads/2017/10/indonesia-digital-numbers-2017.png?w=580" alt="indonesia-digital-numbers-2017"   srcset="https://billyinferno.wordpress.com/wp-content/uploads/2017/10/indonesia-digital-numbers-2017.png 520w, https://billyinferno.wordpress.com/wp-content/uploads/2017/10/indonesia-digital-numbers-2017.png?w=150&amp;h=110 150w, https://billyinferno.wordpress.com/wp-content/uploads/2017/10/indonesia-digital-numbers-2017.png?w=300&amp;h=219 300w" sizes="(max-width: 520px) 100vw, 520px" /></p>
<p><em>Almost half of Indonesia is already have access to the Internet, and 70% of it, is Mobile social users.</em></p>
<p><em>The problem is <strong>how to change the behavior</strong></em>? Terutama jika ternyata dari pihak <em>financial</em> di Indonesia sendiri tidak menyediakan medium yang memudahkan bagi <em>Tech Company</em> untuk berinteraksi dengan Bank.</p>
<p><em>Banking System in Indonesia is always seen as a closed system, that very hard to approach</em>. Namun sebenarnya jikalaupun hal ini tidak di <em>initiate</em> oleh <em>financial institute</em>, sebenarnya ini juga bisa di <em>initiate</em> dari pihak <em>Switching</em> (<em>Artajasa, Link, Prima, I am looking at you, what actually you have done beside connecting those ATM?</em>), <em>which is already have their technology implemented to the Bank</em>.</p>
<p>Problem berikutnya adalah, <strong><em>marketing the solution</em></strong>. Bukan hanya kepada pengguna namun juga kepada penyedia jasa (<em>Tech Company</em>), bahwa solusi yang diberikan tentu saja memberikan dampak yang jauh lebih baik dan mempermudah hidup mereka.</p>
<p>Hal ini sebenarnya bisa saja dengan cara bergandengan tangan dengan <em>Tech Company</em> yang sudah punya brand dan nama baik di Indonesia, misalnya saja Android dan Samsung.</p>
<p>Sekarang kira-kira sudah berapa Bank yang berkerja sama dengan Android ataupun Samsung untuk mengimplementasikan Android Pay dan Samsung Pay di dalam systemnya? bukannya <em>Google already have representative office in Indonesia</em>?</p>
<p>Atau berkerja sama untuk mengembangkan <em>payment via</em> WhatsApp <a href="http://economictimes.indiatimes.com/industry/banking/finance/whatsapp-in-talks-with-sbi-and-npci-for-payments-via-upi/articleshow/59275798.cms" target="_blank" rel="noopener">supaya kita tidak kalah dengan India</a>? Toh Agustus kemarin <a href="https://www.techinasia.com/facebook-new-jakarta-office" target="_blank" rel="noopener">Facebook juga sudah buka <em>representative office</em> nya di Indonesia</a>?</p>
<p><em>There&#8217;s a lot of ways to not only just watching this trend (this is 2017, Tencent already release their Payment API at 2014, and by 2017 they already become the new King in China), just like what the meme told you</em>:</p>
<blockquote><p><em>Improvise</em>. <em>Adapt</em>. <em>Overcome</em>!</p></blockquote>
<p><img loading="lazy" data-attachment-id="1972" data-permalink="https://billyinferno.wordpress.com/2017/10/11/welcome-to-s-commerce/you-improvise-adapt-overcome/" data-orig-file="https://billyinferno.wordpress.com/wp-content/uploads/2017/10/you-improvise-adapt-overcome.jpg" data-orig-size="500,282" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="you-improvise-adapt-overcome" data-image-description="" data-image-caption="" data-medium-file="https://billyinferno.wordpress.com/wp-content/uploads/2017/10/you-improvise-adapt-overcome.jpg?w=300" data-large-file="https://billyinferno.wordpress.com/wp-content/uploads/2017/10/you-improvise-adapt-overcome.jpg?w=500" class="alignnone size-full wp-image-1972 aligncenter" src="https://billyinferno.wordpress.com/wp-content/uploads/2017/10/you-improvise-adapt-overcome.jpg?w=580" alt="you-improvise-adapt-overcome"   srcset="https://billyinferno.wordpress.com/wp-content/uploads/2017/10/you-improvise-adapt-overcome.jpg 500w, https://billyinferno.wordpress.com/wp-content/uploads/2017/10/you-improvise-adapt-overcome.jpg?w=150&amp;h=85 150w, https://billyinferno.wordpress.com/wp-content/uploads/2017/10/you-improvise-adapt-overcome.jpg?w=300&amp;h=169 300w" sizes="(max-width: 500px) 100vw, 500px" /></p>
<p>Atau dulu sering saya bilang juga dalam Bahasa Indonesia, &#8220;ATM&#8221;:</p>
<blockquote><p>Amati. Teliti. Modifikasi!</p></blockquote>
<p><em>At the end</em>, <em>it more like a rant</em>, <em>than a solution</em>. <em>But at least it looks to something that will be approachable in the near future</em>. <em>And while I am still trying to finished this post at 2017</em>, <em>the other side of the world already begin to implement their cashless transaction ecosystem</em>.</p>
<blockquote><p>What the hell are you doing Adi?</p></blockquote>
<p><em>*going back browsing asking answer to the mighty <strong>Google</strong>* *insert-wink-here*</em></p>
]]></content:encoded>
					
					<wfw:commentRss>https://billyinferno.wordpress.com/2017/10/11/welcome-to-s-commerce/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1257</post-id>
		<media:content url="https://2.gravatar.com/avatar/2e1ce3eb41f17f1a2b83ec2a5c7222c67d220ef642f30b93228e6ea9e065dabe?s=96&#38;d=https%3A%2F%2F2.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=PG" medium="image">
			<media:title type="html">adi martha</media:title>
		</media:content>

		<media:content url="https://billyinferno.wordpress.com/wp-content/uploads/2017/10/indonesia-digital-numbers-2017.png" medium="image">
			<media:title type="html">indonesia-digital-numbers-2017</media:title>
		</media:content>

		<media:content url="https://billyinferno.wordpress.com/wp-content/uploads/2017/10/you-improvise-adapt-overcome.jpg" medium="image">
			<media:title type="html">you-improvise-adapt-overcome</media:title>
		</media:content>
	</item>
		<item>
		<title>Crazy Sequence Number Solution</title>
		<link>https://billyinferno.wordpress.com/2017/10/11/crazy-sequence-number-solution/</link>
					<comments>https://billyinferno.wordpress.com/2017/10/11/crazy-sequence-number-solution/#respond</comments>
		
		<dc:creator><![CDATA[adi martha]]></dc:creator>
		<pubDate>Wed, 11 Oct 2017 10:16:53 +0000</pubDate>
				<category><![CDATA[a pint of milk]]></category>
		<category><![CDATA[education and technology]]></category>
		<category><![CDATA[my mind]]></category>
		<category><![CDATA[my mind, body, and soul]]></category>
		<guid isPermaLink="false">http://billyinferno.wordpress.com/?p=1708</guid>

					<description><![CDATA[Probably today is number day, since after finished with my thought with the queue number, I stumble upon another funny article created by Inder J. Taneja (Professor from Santa Catarina University). So, he created several publication that funny, and one of the articled named as &#8220;Crazy Sequential Representation: Numbers from 0 to 11111 in terms [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Probably today is number day, since after finished with my thought with the queue number, I stumble upon another funny article created by Inder J. Taneja (Professor from Santa Catarina University).</p>
<p>So, he created several publication that funny, and one of the articled named as <a href="https://arxiv.org/abs/1302.1479">&#8220;Crazy Sequential Representation: Numbers from 0 to 11111 in terms of Increasing and Decreasing Orders of 1 to 9&#8221;</a>, is very interesting to read.</p>
<p>On that article, he list all the possible number solution for each natural number that can be represented as sequential number in any order (ascending or descending), for example the number: 100 can be represented as: <strong>100 = 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 × 9</strong>.</p>
<p>Then since, I don&#8217;t have any plan to do at home, I think I can create something similar with more simple operator (in his article he support more operator such as ^, and of course the mighty bracket &#8220;(&#8221; and &#8220;)&#8221;). Since I knew it will be hard to include ^ and bracket and for the sake of curiosity only I threw out the idea to support those operator.</p>
<p>Next step, is get a paper to planed out what should I do on the program, and when I reach the paper, I only wrote 3 things:</p>
<ol>
<li>The first operator should be either + or &#8211;</li>
<li>After operator it should be number</li>
<li>After number it can be either operator or number</li>
</ol>
<blockquote><p>Done, finished!</p></blockquote>
<p>So instead of arguing what method is the best, I just dive down to the easiest brute force method, DFS (Depth First Search)! <em>long live brute force</em>!</p>
<p>Creating DFS is simple (<em>just like 1+1 = 2, not 1+3-2 = 2</em>), it just need to understand how the branch move till it reach the deepest level on the left side first, before move the next (<em>right</em>) branch. it sound, scary but it will be simple (<em>NB: my DFS implementation for this program is only 165 lines with 10% of it, is comment, PS: trying to become a better programmer, since probably I am not as smart as people who never wrote comment on their program *you-know-you-will-look-at-your-code-now*</em>), and it approximately took me 50 minutes of code and fiddling in the Visual Studio to finished it (thank you <em>Microsoft</em>).</p>
<p>The easiest way to imagine the DFS can be seen in this graph (thank you <em>Google</em>, thank you <em>Wikipedia</em>):</p>
<p><img loading="lazy" data-attachment-id="1747" data-permalink="https://billyinferno.wordpress.com/2017/10/11/crazy-sequence-number-solution/sorted_binary_tree_preorder/" data-orig-file="https://billyinferno.wordpress.com/wp-content/uploads/2017/10/sorted_binary_tree_preorder.png" data-orig-size="336,287" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="Sorted_binary_tree_preorder" data-image-description="" data-image-caption="" data-medium-file="https://billyinferno.wordpress.com/wp-content/uploads/2017/10/sorted_binary_tree_preorder.png?w=300" data-large-file="https://billyinferno.wordpress.com/wp-content/uploads/2017/10/sorted_binary_tree_preorder.png?w=336" class="alignnone size-full wp-image-1747 aligncenter" src="https://billyinferno.wordpress.com/wp-content/uploads/2017/10/sorted_binary_tree_preorder.png?w=580" alt="Sorted_binary_tree_preorder"   srcset="https://billyinferno.wordpress.com/wp-content/uploads/2017/10/sorted_binary_tree_preorder.png 336w, https://billyinferno.wordpress.com/wp-content/uploads/2017/10/sorted_binary_tree_preorder.png?w=150&amp;h=128 150w, https://billyinferno.wordpress.com/wp-content/uploads/2017/10/sorted_binary_tree_preorder.png?w=300&amp;h=256 300w" sizes="(max-width: 336px) 100vw, 336px" /></p>
<p>So, the program will traverse thru all the node in this order:</p>
<ol>
<li>F &#8211; B &#8211; A</li>
<li>F &#8211; B &#8211; D &#8211; C</li>
<li>F &#8211; B &#8211; D &#8211; E</li>
<li>F &#8211; G &#8211; I &#8211; H</li>
</ol>
<p>and if a solution is found, it will stop there and show you the node that traversed by the program.</p>
<p>the node can be either NUMBER or OPERATOR.</p>
<blockquote><p>see, simple!</p></blockquote>
<p>actually, the hardest part is when you not &#8220;<em>get in touch</em>&#8221; with the language (<em>FYI, created this using C#</em>) for to long. Especially when you try to remember about how and what to do in the code.</p>
<p>For example, simple things such as creating asynchronous task, and update the UI from another thread. It took me some time to realize again how delegate function work on C#.</p>
<p>Once everything sorted out, the program is suddenly working, and of course it will not going to give all the represent number (<em>since not all operator is supported</em>), and can be seen on screen shot below:</p>
<p><img loading="lazy" data-attachment-id="1762" data-permalink="https://billyinferno.wordpress.com/2017/10/11/crazy-sequence-number-solution/test_number_gen_1/" data-orig-file="https://billyinferno.wordpress.com/wp-content/uploads/2017/10/test_number_gen_1.png" data-orig-size="294,133" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="test_number_gen_1" data-image-description="" data-image-caption="" data-medium-file="https://billyinferno.wordpress.com/wp-content/uploads/2017/10/test_number_gen_1.png?w=294" data-large-file="https://billyinferno.wordpress.com/wp-content/uploads/2017/10/test_number_gen_1.png?w=294" class=" size-full wp-image-1762 aligncenter" src="https://billyinferno.wordpress.com/wp-content/uploads/2017/10/test_number_gen_1.png?w=580" alt="test_number_gen_1"   srcset="https://billyinferno.wordpress.com/wp-content/uploads/2017/10/test_number_gen_1.png 294w, https://billyinferno.wordpress.com/wp-content/uploads/2017/10/test_number_gen_1.png?w=150&amp;h=68 150w" sizes="(max-width: 294px) 100vw, 294px" /></p>
<p><img loading="lazy" data-attachment-id="1764" data-permalink="https://billyinferno.wordpress.com/2017/10/11/crazy-sequence-number-solution/test_number_gen_2/" data-orig-file="https://billyinferno.wordpress.com/wp-content/uploads/2017/10/test_number_gen_2.png" data-orig-size="294,133" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="test_number_gen_2" data-image-description="" data-image-caption="" data-medium-file="https://billyinferno.wordpress.com/wp-content/uploads/2017/10/test_number_gen_2.png?w=294" data-large-file="https://billyinferno.wordpress.com/wp-content/uploads/2017/10/test_number_gen_2.png?w=294" class=" size-full wp-image-1764 aligncenter" src="https://billyinferno.wordpress.com/wp-content/uploads/2017/10/test_number_gen_2.png?w=580" alt="test_number_gen_2"   srcset="https://billyinferno.wordpress.com/wp-content/uploads/2017/10/test_number_gen_2.png 294w, https://billyinferno.wordpress.com/wp-content/uploads/2017/10/test_number_gen_2.png?w=150&amp;h=68 150w" sizes="(max-width: 294px) 100vw, 294px" /></p>
<p>Checking the inspect monitor, it took 20%<em>-ish</em> of the CPU and only 17-18 MB of RAM, not bad for a program that created for 50 minutes (<em>what am I expect?</em>).</p>
<p>Then after the program finished, come the conclusion and question:</p>
<blockquote><p>&#8220;Is my program is the most effective way to solve this?&#8221;</p></blockquote>
<p><em>Heck no</em>! there are lot of tree-traversal method (<em>well Google will always going to give you answer regarding this</em>) which prolly given you better performance, and of course adding another operator should be the first priority if I want to enhance the program.</p>
<p>But alas those things, I am quite happy to touch C# again after long-long time not seeing the code, and since &#8220;<strong>Google</strong>&#8221; also helped me a lot, thus I can finished this program. Because in any ways, <span style="text-decoration:underline;">I should give &#8220;<strong>Google</strong>&#8221; credits to all my program</span>.</p>
<blockquote><p>Long Live <strong>&#8220;Google&#8221;</strong> Programmer! <em>*insert-wink-emoji-here*</em></p></blockquote>
<p><em>NB: If you want to get the source, which is probably will not going to take any interest on you, just try to <a href="http://cloud.adimartha.info/index.php/s/sOMHlAlE5RfzpoW">click here</a>, there are no virus (at least I haven&#8217;t add it yet).</em></p>
]]></content:encoded>
					
					<wfw:commentRss>https://billyinferno.wordpress.com/2017/10/11/crazy-sequence-number-solution/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1708</post-id>
		<media:content url="https://2.gravatar.com/avatar/2e1ce3eb41f17f1a2b83ec2a5c7222c67d220ef642f30b93228e6ea9e065dabe?s=96&#38;d=https%3A%2F%2F2.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=PG" medium="image">
			<media:title type="html">adi martha</media:title>
		</media:content>

		<media:content url="https://billyinferno.wordpress.com/wp-content/uploads/2017/10/sorted_binary_tree_preorder.png" medium="image">
			<media:title type="html">Sorted_binary_tree_preorder</media:title>
		</media:content>

		<media:content url="https://billyinferno.wordpress.com/wp-content/uploads/2017/10/test_number_gen_1.png" medium="image">
			<media:title type="html">test_number_gen_1</media:title>
		</media:content>

		<media:content url="https://billyinferno.wordpress.com/wp-content/uploads/2017/10/test_number_gen_2.png" medium="image">
			<media:title type="html">test_number_gen_2</media:title>
		</media:content>
	</item>
		<item>
		<title>Overreacting!</title>
		<link>https://billyinferno.wordpress.com/2017/08/10/overreacting/</link>
					<comments>https://billyinferno.wordpress.com/2017/08/10/overreacting/#respond</comments>
		
		<dc:creator><![CDATA[adi martha]]></dc:creator>
		<pubDate>Thu, 10 Aug 2017 07:33:03 +0000</pubDate>
				<category><![CDATA[missing somewhere!]]></category>
		<guid isPermaLink="false">http://billyinferno.wordpress.com/?p=1485</guid>

					<description><![CDATA[Saya membaca sebuah berita tentang seorang guru yang di penjara karena mencubit anak muridnya, dikarenakan si murid bermain air bekas pel hingga mengenai guru lainnya. Namun tentu yang paling asik dari melihat berita adalah ketika kita membaca comment section-nya yang tentu saja berisi banyak sekali hal-hal setali tiga uang terhadap masalah ini. Salah satunya adalah: [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Saya membaca sebuah berita tentang seorang guru yang di penjara karena mencubit anak muridnya, dikarenakan si murid bermain air bekas pel hingga mengenai guru lainnya.</p>
<p>Namun tentu yang paling asik dari melihat berita adalah ketika kita membaca <i>comment section</i>-nya yang tentu saja berisi banyak sekali hal-hal setali tiga uang terhadap masalah ini. Salah satunya adalah:</p>
<blockquote><p>Murid sekarang manja ya, jaman dulu sih kalo kita salah di sekolah terus lapor ke orang tua, bukannya di bela, tapi malah hukuman kita di tambah! Jaman sekarang mah enak jadi murid, susah jadi guru&#8230;</p></blockquote>
<p>Kurang lebih begitulah bahasa yang selau muncul di bagian komentar.</p>
<p>Jika di tilik mungkin di dalam benak kita sendiri kita bertanya, masa iya cuma nyubit bisa sampai masuk penjara? Itu yang kemarin teriak-teriak minta saham, yang hancurin halte bus way, yang teriak-teriak makar sama benci Pancasila, yang pada nyolong duit rakyat masih ketawa-ketawa kok? Mungkin karena nyuri duit lebih menguntungkan untuk di pelihara di bandingkan guru yang sekedar mencubit muridnya.</p>
<p>Namun jika kita kembalikan ke diri kita sendiri, jika kita adalah orang tua, dan ketika anak kita di cubit oleh guru disekolah, apakah anda akan melakukan hal yang sama atau tidak?</p>
<p>Mungkin saja kita bisa memberikan komentar bahwa si murid manja, si murid kurang ajar, si orang tua lebay, dll. Karena kita tidak di posisi mereka, namun apakah ketika kita ada di posisi mereka kita bisa menerapkan apa yang kita komentari?</p>
<p>Pada dasarnya <i>in theory of human communication</i>&#xA0;ada entropy yang mengatakan bahwa semua manusia itu lebay, semua manusia itu <i>overreacting</i>.</p>
<p>Apalagi sekarang kita hidup di jaman yang serba sederhana, proses informasi tidak sesulit dan tidak serumit dahulu kala.</p>
<blockquote><p>Cukup buka facebook, bam&#8230;semuanya ada! Dari berita satir, berita hoax, berita penting, hingga berita yang tidak penting sama sekali.</p></blockquote>
<p>Namun dengan semakin banyaknya berita yang harus kita pertanyakan terutama jika kita bicara masalah &quot;<i>information theory</i>&quot; maka pertanyaannya adalah:</p>
<blockquote><p><i>How to separate the noise and calculated the expected value from an information.</i></p></blockquote>
<p>Jika di ibaratkan sebagai entity-entity, Claude E. Shannon, dalam salah satu bukunya yang berjudul: <i>A Mathematical Theory of Information</i>, mengatakan bahwa:</p>
<p><i>In information theory, there are 3 entity that involved:</i></p>
<p><a href="https://billyinferno.wordpress.com/wp-content/uploads/2016/05/img_5943.png"><img loading="lazy" src="https://billyinferno.wordpress.com/wp-content/uploads/2016/05/img_5943.png?w=342&#038;h=160" alt="" width="342" height="160" class="alignnone"></a></p>
<ol>
<li><i>Sender/source/transmitter</i></li>
<li><i>Receiver/destination</i></li>
<li><i>Noise</i></li>
</ol>
<p>Dan jika kita bandingkan dengan kehidupan dan arus informasi yang ada saat ini, semua entity itu masih berlaku dan masih relevan. Bukan hanya pada electrical engineering namun juga pada kehidupan nyata.</p>
<blockquote><p>Semua masalah yang dihadapi oleh informasi adalah&quot;<i>noise</i>&quot;.</p></blockquote>
<p>Maka pertanyaan pada information theory kurang lebih berkutat kepada, &quot;<i>how to filter the noise?</i>&quot;</p>
<p>Bagusnya jika kita bicara mengenai <i>information theory</i> dalam bentuk&#xA0;<i>electrical engineering</i>, maka semuanya bisa di hitung, di kalkulasi, dan diselesaikan secara matematika, kasarnya sudah ada metode dan cara hitung yang absah untuk menyelesaikan masalah.</p>
<p>Namun jika kita bicara kehidupan nyata dan korelasinya dengan <i>noise filtering</i>, maka akan susah di cari metode yang paling sahih untuk mengatasi masalah tersebut. Siapa yang akan melakukan filtrasi terhadap semua informasi yang kita terima, siapa yang melakukan verifikasi terhadap informasi yang ada di hadapan kita?</p>
<blockquote><p><i>Hence, we called today as information age!</i></p></blockquote>
<p>Semua berita di facebook, semua berita di koran abal-abal, semua berita abal-abal di koran, baik secara fisik ataupun digital?</p>
<p>Mungkin pada akhirnya kesimpulannya akan sama, kita semua sampai pada jawaban yang sama mengenai pertanyaan di atas, dimana jawabannya adalah:</p>
<blockquote><p><i>Our self!</i></p></blockquote>
<p><i>We should be the one who filter all the information coming to us, whether it was correct, false, knowledgable, or simply just a shitty and rubbish talk.</i></p>
<p>Namun kenyataan memang kadang tidak sesuai dengan ideal, jika kita berkata secara ideal maka semua orang akan mengetahui apa yang mereka baca, dan mengetahui nilai dari informasi yang mereka terima.</p>
<blockquote><p>Kenyataannya<br /><i>not all people knew exactly to judge the weight of an information</i>.</p></blockquote>
<p>Mungkin sudah saatnya selain belajar Agama, Bahasa, dan Matematika, kita belajar mengenai Information Theory sejak dini. Terutama mengetahui: <i>what kind of noise that we should filter from information that we received and perceived.</i></p>
<p>Dan hasil nyata dari informasi tanpa &quot;<i>noise filter</i>&quot; yang baik mengakibatkan banyak gejala pada masyarakat. Salah satu yang paling kentara adalah: &quot;<i>overreacting</i>&quot;.</p>
<p><i>NB: di publish setelah terkurung di draft selama waktu yang susah di tentukan.</i></p>
]]></content:encoded>
					
					<wfw:commentRss>https://billyinferno.wordpress.com/2017/08/10/overreacting/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1485</post-id>
		<media:content url="https://2.gravatar.com/avatar/2e1ce3eb41f17f1a2b83ec2a5c7222c67d220ef642f30b93228e6ea9e065dabe?s=96&#38;d=https%3A%2F%2F2.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=PG" medium="image">
			<media:title type="html">adi martha</media:title>
		</media:content>

		<media:content url="https://billyinferno.wordpress.com/wp-content/uploads/2016/05/img_5943.png" medium="image" />
	</item>
		<item>
		<title>contextual shifting!</title>
		<link>https://billyinferno.wordpress.com/2016/11/06/contextual-shifting/</link>
					<comments>https://billyinferno.wordpress.com/2016/11/06/contextual-shifting/#respond</comments>
		
		<dc:creator><![CDATA[adi martha]]></dc:creator>
		<pubDate>Sun, 06 Nov 2016 14:46:44 +0000</pubDate>
				<category><![CDATA[my mind]]></category>
		<category><![CDATA[my mind, body, and soul]]></category>
		<guid isPermaLink="false">http://billyinferno.wordpress.com/?p=1496</guid>

					<description><![CDATA[akhir-akhir ini terjadi sebuah fenomena yang cukup menarik, jika related search di dalam media sosial di sederhanakan menjadi 2 huruf maka hasil yang akan muncul saat ini pasti dua kata berikut: penistaan pakai dua kata di atas sedang trendi, bahkan lebih trendy daripada drama Korea masa kini. kemunculannya pun begitu sering, bahkan lebih sering daripada [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>akhir-akhir ini terjadi sebuah fenomena yang cukup menarik, jika related search di dalam media sosial di sederhanakan menjadi 2 huruf maka hasil yang akan muncul saat ini pasti dua kata berikut:</p>
<ol>
<li>penistaan</li>
<li>pakai</li>
</ol>
<p>dua kata di atas sedang trendi, bahkan lebih trendy daripada drama Korea masa kini. kemunculannya pun begitu sering, bahkan lebih sering daripada artis-artis Indonesia yang seliweran di acara gossip. semua kalah pamor hanya karena dua kata ini.</p>
<p>jika menggunakan kata-kata ini dijamin maka status anda menjadi Viral, dan dibagikan ke khalayak ramai, dengan bonus komentar-komentar yang akan memenuhi notification handphone anda.</p>
<blockquote><p>sebenaya ketika saya melihat hal ini ada pertanyaan mendasar yang datang pada diri saya. apa arti dari &#8220;penistaan&#8221;, dan apa arti dari &#8220;pakai&#8221; dalam sebuah kalimat.</p></blockquote>
<p>mari pertama kita coba bahas dua kata itu jauh dari sisi politik, mencoba melihat dan mengurai dua kata itu dari sisi bahasa.</p>
<p>yang jadi masalah ketika kita mencoba membahas itu dari sisi bahasa adalah:</p>
<ol>
<li>saya programmer</li>
<li>nilai mata kuliah Bahasa Indonesia saya 6.5 (sekedar lulus)</li>
</ol>
<p>jadi pada intinya, saya lebih mengerti bahasa pemrograman, dibandingkan dengan bahasa yang digunakan oleh para Pemoeda untuk menyatukan bangsa ini, menjadi satu kesatuan yang berlandaskan UUD dan Pancasila, dan saya tidak kompeten untuk mengatakan bahwa apa yang saya tulis berikutnya benar secara tata bahasa. jika ada yang salah, anggap saja saya alpha dan minta maaf terlebih dahulu.</p>
<blockquote><p>kita mulai dari hal yang paling gampang dulu, yaitu &#8220;Penistaan&#8221;.</p></blockquote>
<p><em>first, we should knew that defamation is a verb</em>. apa itu verb? gampangnya <em>verb</em> adalah kata kerja, atau dalam bahasa lebih kerennya, &#8220;<em>it used to described an action</em>&#8220;. kata kerja adalah kata yang secara tidak langsung memperlihatkan <em>&#8220;action&#8221; that happens on a sentence</em>.</p>
<p>misalnya:</p>
<blockquote><p>Saya <strong>mencuci</strong> mobil kemarin sore.</p></blockquote>
<p>dalam hal ini &#8220;<strong>mencuci</strong>&#8221; adalah <em>verb</em> alias kata kerja, karena kata ini menjelaskan apa yang sedang kita kerjakan dalam konteks kalimat di atas.</p>
<p>dikarenakan penistaan adalah sebuah <em>verb</em>, maka bisa dikatakan penistaan adalah sebuah &#8220;<em>action</em>&#8221; atau tindakan yang harus dilakukan seseorang. istilah gampangnya, harus ada tanda bahwa orang itu benar melakukan hal tersebut, dan memang benar hal itu terjadi.</p>
<p>setelah tau sifat dari kata Penistaan atau dalam bahasa gaulnya <em>Defamation</em>, maka kita sekarang coba lihat secara arti dari kata tersebut. menurut Roger LeRoy Miller dalam bukunya Business Law Today, defamation memiliki arti:</p>
<blockquote><p>&#8220;<em>a false statement that harms the reputation of individual person, organisation, business, product, group, government, religion, or nation</em>&#8220;</p></blockquote>
<p>sedangkan menurut Merriam-Webster:</p>
<blockquote><p>&#8220;<em>The act of saying false things in order to make people have a bad opinion of someone or something</em>&#8220;</p></blockquote>
<p>jadi jika dilihat dari intinya, <em>defamation should be a false statement, </em>intinya bahwa <em>statement</em> yang disampaikan adalah salah, <em>in essence that it should hold &#8220;a lie&#8221; that affect the subject it self</em>.</p>
<p>dalam hal ini, subject itu bisa siapa saja.</p>
<p>contoh gampangnya penistaan, misalnya ketika kita mencoba mendekati seorang wanita, namun ternyata ditolak dikarenakan si wanita belum mau pacaran di ingin serius untuk kuliah atau meniti karirnya diperusahaan, karena tidak terima kita bilang kepada orang lain bahwa si wanita tidak mau pacaran, karena &#8220;<em>dia lebih memilih wanita daripada pria</em>&#8220;.</p>
<p><em>that&#8217;s totally defamation</em>. secara tidak langsung kalimat itu sudah terdiri dari dua unsur kuat yang merupakan arti dari penistaan, yaitu: <em>false statement (lie), and harms the reputation (affect the subject)</em>.</p>
<blockquote><p>sekarang kita lanjut ke kata trendy selanjutnya, yaitu: Pakai.</p></blockquote>
<p>berbeda dengan Penistaan, Pakai bisa memiliki dua sifat, baik itu <em>preposition</em> ataupun <em>verb</em>. sifat dari kata ini tergantung dari <em>context</em> kapan kata ini digunakan. misalnya:</p>
<ol>
<li>Saya memakai baju biru.</li>
<li>Saya makan pakai sendok.</li>
</ol>
<p>sebenarnya jika disesuaikan dengan kaidah bahasa kata &#8220;pakai&#8221; pada kalimat kedua bisa diganti menggunakan kata &#8220;dengan&#8221;, karena keduanya memiliki fungsi yang sama pada kalimat kedua. hal ini akan lebih mudah jika kita mencoba mengartikannya ke Bahasa Inggris:</p>
<blockquote><p>I am eating with a spoon.</p></blockquote>
<p><em>well, at least that&#8217;s how google translate going to translate the second phrase</em>. secara tidak langsung google langsung mengganti kata &#8220;pakai&#8221; yang dalam bahasa inggris adalah &#8220;<em>use</em>&#8220;, menjadi &#8220;<em>with</em>&#8221; yang berarti dengan.</p>
<p>masalah utama dari kata pakai yang kedua adalah kaitannya terhadap kalimat akan sangat erat, dimana ketika kita mencoba menghilangkan preposition di dalam sebuah kalimat, maka kalimat itu harus dirubah total secara struktural.</p>
<p>contohnya pada kalimat di atas, jika kita menghilangkan preposition nya, maka kalimatnya akan menjadi:</p>
<blockquote><p>Saya makan sendok</p></blockquote>
<p><em>which is totally wrong, and out of the real context</em>. hal ini lah yang menjadi alasan bahwa perubahan <em>preposition</em> ada baiknya dilakukan secara struktural agar tidak terjadinya contextual shifting terhadap kalimat tersebut.</p>
<p>untuk contoh perubahan struktur ketika kita mencoba menghilangkan preposition, mungkin kita bisa mengambil contoh dari Bahasa Inggris, <em>because we tends to put too many preposition when we using english</em>. contohnya:</p>
<blockquote><p><em>The opinion <strong>of the</strong> manager.</em></p></blockquote>
<p>di dalam kalimat di atas &#8220;of the&#8221; merupakan preposition yang bisa kita hilangkan, namun jika kita hanya menghilang preposition tersebut, maka kalimatnya akan menjadi:</p>
<blockquote><p><em>The opinion manager.</em></p></blockquote>
<p><em>which is wrong!</em> oleh karena itu struktur kalimatnya harus dirubah agar <em>context</em> yang dimiliki kalimat tersebut tidak berubah, dimana setelah <em>preposition</em> &#8220;<em>of the</em>&#8221; dihilangkan dari kalimat, maka seharusnya menjadi:</p>
<blockquote><p><em>The manager&#8217;s opinion.</em></p></blockquote>
<p>dengan ini maka arti kata dari kalimat tersebut tidak akan berubah.</p>
<p>ketika saya menulis ini, muncul sebuah pertanyaan. ketika seorang Ahok menggunakan ayat Al Maidah 51 pada saat pidatonya di Kepulauan Seribu, apakah Ahok bersalah?</p>
<blockquote><p>menurut saya &#8220;iya&#8221;.</p></blockquote>
<p>kenapa? karena pada hakikatnya Ahok tidak memiliki kapasitas untuk melakukan tafsir terhadap ayat itu. misalnya saja melakukan perdebatan apakah arti dari awlia (أولياء) yang dimaksud di dalam ayat tersebut? apakah maksudnya sebagai penuntun keagaman, atau gubernur dan pejabat pemerintahan termasuk di dalamnya?</p>
<p>jika kita taruh kata itu di dalam google translate maka google mengartikannya menjadi &#8220;<em>parents</em>&#8221; <em>or</em> &#8220;<em>custodian</em>&#8220;. apakah Awlia (أولياء) yang disebutkan di Al Maidah 51 sama dengan Wali (والي)? which is memang digunakan untuk memperlihatkan seseorang yang memiliki jabatan di pemerintahan.</p>
<p>Karena jika di tilik dari sejarah maka Wali (والي), keluar dan mulai banyak digunakan pada saat masa Caliphate dan Ottoman Empire berkuasa.</p>
<blockquote><p><em>As per Caliphate can be also described as the successor of Islamic Prophet, Muhammad</em>. apakah bisa jadi kata Wali ini merupakan turunan dari Awlia, sehinga mereka memiliki arti yang sama?</p></blockquote>
<p>saya tidak tahu, karena saya tidak punya kapasitas untuk menelaah dan melakukan tafsir terhadap hal itu.</p>
<p>jika saja yang mengungkapkan hal yang di utarakan oleh Ahok adalah Prof. Quraish Shihab, maka mungkin lain ceritanya, karena itu ungkapkan oleh seseorang yang benar dan memiliki kompetensi terhadap ilmu tafsir.</p>
<p>namun jika di tanya apakah Ahok melakukan penistaan Agama?</p>
<blockquote><p>menurut saya &#8220;tidak&#8221;.</p></blockquote>
<p>kenapa? karena pada kalimat aslinya tidak ada satupun kalimat dari Ahok yang mencederai atau mengatakan bahwa Ayat tersebut salah ataupun bohong, Ahok cuma mengatakan bahwa orang yang menggunakan Ayat itu sebagai landasan terhadap pemilihan pemimpin yang salah. di dalam konteksnya Ahok menyerang orang yang menggunakan Ayat tersebut dan bukan Ayat nya secara langsung.</p>
<p>kenapa saya bisa bilang begitu? hal itu karena Ahok menggunakan <em>preposition</em> di dalam kalimatnya, untuk menjelaskan <em>subject</em> dari kalimat tersebut.</p>
<p>&nbsp;</p>
<p>kebetulan sudah ada yang menjelaskan dengan lengkap (<a href="http://nasional.republika.co.id/berita/nasional/hukum/16/10/08/oeq21v-membedah-sisi-linguistik-kalimat-ahok-soal-almaidah-51">disini</a>).</p>
<blockquote><p>jadi jika di cari kesimpulannya, apakah Ahok bersalah, menurut saya iya (dalam konteks menggunakan hal yang bukan bidang kompetensinya), namun apakah Ahok menistakan Agama Islam? menurut saya tidak.</p></blockquote>
<p>lalu apakah Ahok harus di proses hukum? pertanyaannya kembali kepada apakah ada KUHP yang dilanggar oleh Ahok di dalam hal di atas? jika ada maka harus dan wajib di proses hukum, jika tidak maka harus dan wajib memberikan <em>official press release</em> untuk meminta maaf dan tidak lagi menggunakan hal-hal yang sifatnya bukan kompetensi dari seorang Ahok ketika melakukan pidato.</p>
<p>ketika saya mulai lapar, muncul pertanyaan kedua di kepala saya?</p>
<blockquote><p>lalu si Buni Yani ini bagaimana?</p></blockquote>
<p>mungkin ada baiknya kita mulai dari membaca Pasal 27 ayat (3) UU ITE, saya sudah lapar.</p>
<p><img src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
]]></content:encoded>
					
					<wfw:commentRss>https://billyinferno.wordpress.com/2016/11/06/contextual-shifting/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1496</post-id>
		<media:content url="https://2.gravatar.com/avatar/2e1ce3eb41f17f1a2b83ec2a5c7222c67d220ef642f30b93228e6ea9e065dabe?s=96&#38;d=https%3A%2F%2F2.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=PG" medium="image">
			<media:title type="html">adi martha</media:title>
		</media:content>
	</item>
		<item>
		<title>Worry is a new economy!</title>
		<link>https://billyinferno.wordpress.com/2016/08/08/worry-is-a-new-economy/</link>
					<comments>https://billyinferno.wordpress.com/2016/08/08/worry-is-a-new-economy/#respond</comments>
		
		<dc:creator><![CDATA[adi martha]]></dc:creator>
		<pubDate>Mon, 08 Aug 2016 10:49:11 +0000</pubDate>
				<category><![CDATA[a pint of milk]]></category>
		<category><![CDATA[my mind]]></category>
		<category><![CDATA[my mind, body, and soul]]></category>
		<guid isPermaLink="false">http://billyinferno.wordpress.com/2016/08/08/worry-is-a-new-economy/</guid>

					<description><![CDATA[Matt Haig pernah bilang dalam bukunya bahwa &#8220;sadness is as good as happiness for economy. That actually world doesn&#8217;t build to make you feel anything.&#8220;, karena memang pada dasarnya, it&#8217;s you who determine feel that you want to percieved from the world it self. But looking at the big picture, sebenarnya apa yang di deskripsikan [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Matt Haig pernah bilang dalam bukunya bahwa &#8220;<i>sadness is as good as happiness for economy. That actually world doesn&#8217;t build to make you feel anything.</i>&#8220;, karena memang pada dasarnya, <i>it&#8217;s you who determine feel that you want to percieved from the world it self</i>.</p>
<p><i>But looking at the big picture</i>, sebenarnya apa yang di deskripsikan oleh Matt Haig cukup menarik terutama ketika kita menyandingkan <i>how worry is affecting economy</i>.</p>
<p>Penjelasan sederhananya adalah, ekonomi bergerak karena ada <i>demand</i> yang di butuhkan, ketika ada <i>demand</i> maka secara tidak langsung <i>supply</i> akan meningkat untuk memenuhi <i>demand</i>. <i>In simpler way we can say balance between supply and demand is one things that create economy</i>.</p>
<blockquote><p>Jadi secara sederhana kita bisa bilang, <i>by creating demand we also creating supply, hence we creating economy</i>!</p></blockquote>
<p>Pertanyaannya adalah, <i>how to create a demand? How to effectively influence people so they &#8220;demand&#8221; something?</i></p>
<blockquote><p>Worry!!</p></blockquote>
<p>Sederhana sekali, contohnya: bagaimana cara anda menjual <i>body lotion</i> atau <i>moisturizer</i> kepada orang? <i>Make them worry about ageing, about skin problem. And once they worried regarding the &#8220;problem&#8221;, then they will demand for moisturizer, and when they try once, give another one with remark &#8220;more effective&#8221;, and the cycle will continue</i>.</p>
<p><i>And since this is affecting your behaviour, your way of thinking, your nature. It means that this method is also effective for &#8220;all-kind&#8221; of economy</i>.</p>
<p><i>Either it goes to politic, or selling some goods! Worry is the new economy, the driven to create demands</i>.</p>
<blockquote><p>Pertanyaan yang keluar berikutnya adalah, <i>is it good</i>?</p></blockquote>
<p>Jawaban dari pertanyaan di atas akan sangat klise, &#8220;<i>depends</i>&#8220;.</p>
<p><i>Worry is one of human nature that shouldn&#8217;t be removed, awareness is one key element for us to keep alive</i>, ingat bahwa tidak ada salahnya untuk apriori ataupun <i>worry</i> terhadap dunia ini.</p>
<p>Yang terpenting adalah &#8220;<i>control</i>&#8220;.</p>
<p><i>Calmness is things that really hard to find this day</i>. Semua orang sibuk ketakutan bahkan menempatkan ketakutan sebagai prioritas utama dan lupa dengan logika yang mereka punya.</p>
<p>Contoh mudahnya, <i>how people easily got fooled by some &#8220;rubish news&#8221;, like how Pokémon Go is actually means &#8220;I am Jews!&#8221;. That is worry beyond logic</i>!</p>
<p><i>And people driven with that level of worry,</i>&nbsp;akan mudah sekali untuk terkena <i>thought implant</i>, dan ketika hal itu digunakan sebagai komoditas ekonomi, disitu ketika <i>worry</i> berubah menjadi hal yang berbahaya for <i>driving the economy</i>.</p>
<blockquote><p>Oleh karena itu dengan belajar untuk <i>calm</i>, belajar untuk<i> perceived the things as a whole is kind of revolution in act</i>.</p></blockquote>
<p><i>Being able to percieved the world as it is, as to control when to worry, when to happy, when to sad, when to strive, when to let go, which will lead you to things called &#8220;comfortable&#8221;</i>.</p>
<p><i>And once you comfortable with your life, then you realize that &#8220;things that matter the most is how is your perspective regarding the world, not the others!&#8221;</i>.</p>
<p>Selamat menenangkan diri&#8230;<img src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/1f60a.png" alt="😊" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
]]></content:encoded>
					
					<wfw:commentRss>https://billyinferno.wordpress.com/2016/08/08/worry-is-a-new-economy/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1489</post-id>
		<media:content url="https://2.gravatar.com/avatar/2e1ce3eb41f17f1a2b83ec2a5c7222c67d220ef642f30b93228e6ea9e065dabe?s=96&#38;d=https%3A%2F%2F2.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=PG" medium="image">
			<media:title type="html">adi martha</media:title>
		</media:content>
	</item>
		<item>
		<title>Measuring Information</title>
		<link>https://billyinferno.wordpress.com/2016/05/23/measuring-information/</link>
					<comments>https://billyinferno.wordpress.com/2016/05/23/measuring-information/#respond</comments>
		
		<dc:creator><![CDATA[adi martha]]></dc:creator>
		<pubDate>Mon, 23 May 2016 14:44:21 +0000</pubDate>
				<category><![CDATA[a pint of milk]]></category>
		<category><![CDATA[my mind]]></category>
		<category><![CDATA[my mind, body, and soul]]></category>
		<guid isPermaLink="false">http://billyinferno.wordpress.com/?p=1483</guid>

					<description><![CDATA[Sebenarnya ketika menuliskan judul di atas, saya sedikit banyak merasa kalau judulnya kurang &#8220;heboh&#8221;, walaupun sampai saat ini belum pernah ditemukan rumus yang bisa menunjukan sebarapa &#8220;heboh&#8221; sebuah judul secara science, oleh karena itu mari kita mulai post ini dengan sebuah pertanyaan abstract dari Nyquist pada tahun 1920. &#8220;what is the factor that affecting the [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Sebenarnya ketika menuliskan judul di atas, saya sedikit banyak merasa kalau judulnya kurang &#8220;heboh&#8221;, walaupun sampai saat ini belum pernah ditemukan rumus yang bisa menunjukan sebarapa &#8220;heboh&#8221; sebuah judul secara science, oleh karena itu mari kita mulai post ini dengan sebuah pertanyaan abstract dari Nyquist pada tahun 1920.</p>
<blockquote><p>&#8220;<em>what is the factor that affecting the speed of telegraph?</em>&#8220;</p></blockquote>
<p>bagi <em>engineer</em> terutama <em>communication engineer</em> pada tahun 1920, maka pertanyaan itu akan sangat-sangat susah sekali di jawab, hal itu dikarenakan masih belum ada &#8220;<em>scale</em>&#8221; yang bisa digunakan for <em>measuring information, which is caused it&#8217;s very hard to determine the fee when transmitting the telegraph</em>.</p>
<p>pertanyaan ini bisa dijawab oleh seorang Hartley, 8 tahun setelah pertanyaan itu di lontarkan oleh Nyquist. dalam prakteknya Hartley menggunakan metody constructive tree ketika menentukan berapa &#8220;biaya&#8221; yang diperlukan untuk mengirimkan sebuah informasi.</p>
<p>contoh sederhanaya, ada 2 orang yang ingin mengirimkan informasi secara bersamaan:</p>
<ol>
<li>orang pertama akan mengirimkan 10 jumlah hasil koin flip (either head or tail), ke temannya yang kebetulan berada di negara bagian lain.</li>
<li>orang kedua akan mengirimkan 10 jumlah hasil lemparan dadu, ke temannya yang juga kebetulan berada di negara bagian lain.</li>
</ol>
<blockquote><p><em>since both of the person will sending a different kind of data, how to measures the weight of the information that need to be transmitted, so we can charge the fee correctly to the both person, with fair and square.</em></p></blockquote>
<p>Hartley mengatakan bahwa pada dasarnya telegraph memiliki dua buah kondisi yaitu &#8220;pulse&#8221; or &#8220;without pulse&#8221;, atau istilah gampang &#8220;on&#8221; atau &#8220;off&#8221;, atau mungkin lebih sederhana lagi &#8220;iya&#8221; atau &#8220;tidak&#8221;.</p>
<blockquote><p>dengan menggunakan dasar itu Hartley berkata, bahwa &#8220;<em>weight of the information can be counted by how many question that need to be asked for one symbol</em>&#8220;.</p></blockquote>
<p>contoh gampangnya, untuk orang pertama kita cukup menanyakan 1 buah pertanyaan untuk tau hasil flip dari koing yang akan dikirimkan.</p>
<blockquote><p>&#8220;<em>is it head?</em>&#8220;</p></blockquote>
<p>dikarenakan jawaban yang dibutuhkan hanya &#8220;iya&#8221; atau &#8220;tidak&#8221;. sehingga dapat disimpulkan bahwa kita cukup mengajukan 1 buah pertanyaan dari setiap symbol yang akan dikirimkan, dikarenakan orang pertama ingin mengirimkan 10 buah hasil coin flip, maka secara tidak langsung: <em>weight of information that need to be sent out is 10</em>.</p>
<p>sekarang ke kasus orang kedua, dimana dia ingin mengirimkan hasil lemparan dadu kepada temannya yang berada di negara bagian berbeda. maka sama halnya seperti coin flip di atas, &#8220;<em>how many question that we need to ask for the dice roll?</em>&#8220;.</p>
<p>anggap saja misalnya hasil lemparan dadunya mendapatkan hasil 5, maka kita menyusun pertanyaannya dengan membuat sebuah constructive tree untuk mempermudah melakukan perhitungan.</p>
<p>kita tahu bahwa jumlah angka di dalam dadu adalah 6, untuk itu kita bisa membagi dua dadu tersebut menjadi</p>
<p style="text-align:center;"><strong>1</strong> <strong>2</strong> <strong>3</strong> | <strong>4</strong> <strong>5</strong> <strong>6</strong></p>
<p>pertanyaan pertama adalah: apakah nilai lemparan dadunya lebih besar dari 3? dikarenakan hasil lemparannya 5, maka jawabannya adalah &#8220;ya&#8221;, dengan ini si penerima tahu bahwa hasil lemparan antara 4, 5, atau 6.</p>
<p>sama halnya dengan pertanyaan pertama, kita bisa menanyakan pertanyaan kedua dengan cara membagi sisa bilangan dadu tersebut menjadi dua lagi, yaitu:</p>
<p style="text-align:center;"><strong>4</strong> | <strong>5</strong> <strong>6</strong></p>
<p>pertanyaan kedua adalah: apakah nilai lemparan dadunya lebih besar dari 4? tentu saja jawabannya adalah &#8220;iya&#8221;, yang membuat kita tahu bahwa angka hasil lemparannya antara 5, atau 6.</p>
<p>dan sama dengan pertanyaan kedua ataupun ketiga, maka kita bisa membangun pertanyaan ketiga dengan cara membagi dua sisa bilangan yang ada, yaitu:</p>
<p style="text-align:center;"><strong>5</strong> | <strong>6</strong></p>
<p>sehingga pertanyaan ketiga adalah: apakah nilai lemparan dadunya 5? dan tentu saja jawabannya &#8220;iya&#8221;.</p>
<p>dari simulasi di atas kita dapat menyimpulkan bahwa dengan mengirimkan &#8220;iya&#8221; sebanyak 3 kali, kita bisa mengetahui angka yang dihasilkan oleh lemparan dadu, dan dari semua kombinasi yang memungkinkan dapat disimpulkan bahwa jumlah pertanyaan maksimal yang perlu di tanyakan dalam konteks di atas adalah 3 kali.</p>
<p>dengan mengetahui bahwa jumlah maksimal jawaban adalah 2 (&#8220;iya&#8221; atau &#8220;tidak&#8221;), dan jumlah maksimal dari pertanyaan adalah 3, maka bagaimana caranya menghitung <em>average weight of the question that need to be asked for one symbol?</em></p>
<blockquote><p>rumusnya adalah:  <em><strong>2<sup>x</sup></strong> = <strong>N</strong></em></p></blockquote>
<p>berapakah nilai exponent X yang dibutuhkan untuk mendapatkan N symbol, dalam konteks di atas maka N adalah 6 buah, dikarenakan dadu tersebut memiliki 6 buah symbol yang dapat di pilih.</p>
<blockquote><p>rumus di atas dapat di sederhanakan menjadi: <em><strong>X = </strong><strong>Log<sub>2</sub>(N)</strong></em></p></blockquote>
<p>di mana jika kita gunakan pertanyaan kedua, maka akan di dapatkan nilai <strong>X = 2.59</strong>. dimana berarti, tiap symbol yang dikirimkan memiliki &#8220;<em>weight</em>&#8221; sebesar 2.59 pertanyaan. dengan mengetahui weight, maka weight of information yang dibutuhkan untuk mengirimkan 10 buah hasil lemparan dadu adalah: <strong>10 * 2.59 = 25.9</strong>.</p>
<p>dikarenakan data yang dikirimkan menggunakan format Binary, maka &#8220;weight of information&#8221; ini di singkat menjadi sesuatu hal yang sering sekali kita dengan saat ini:</p>
<blockquote><p><strong>&#8220;bits&#8221;.</strong></p></blockquote>
<p>yang di atas itu artikel sulitnya, sengaja saya tulis walaupun sebenarnya tujuan saya menulis artikel ini untuk hal yang berbeda dengan apa yang di uraikan di atas. sebenarnya ketika saya membaca hasil penelitian yang dilakukan oleh Hartley, pikiran saya bertanya:</p>
<blockquote><p>&#8220;<em>how we calculating the weight of news?</em>&#8220;</p></blockquote>
<p>seperti kita tahu, bahwa hampir di semua negara&#8221;<em>news</em>&#8221; adalah sebuah komiditi, &#8220;<em>news</em>&#8221; itu sebuah <em>profit generator</em> terbaik yang bisa dimiliki oleh sebuah negara, karena pada dasarnya kita bisa mengontrol keinginan dan arus masyarakat dengan berita-berita yang beredar di masyarakat.</p>
<blockquote><p>entah berita itu benar, atau tidak, teruji ataupun tidak, fakta ataupun tidak, itu semua nomor dua. pertanyaan yang pertama adalah: &#8220;untuk kepentingan siapa berita tersebut harus keluar?&#8221;</p></blockquote>
<p>weight of the news it self is not depends on how &#8220;<em>trustable</em>&#8221; is the news it self, it more on &#8220;<em>who&#8217;s got the impact of the news? either it&#8217;s a negative or positive impact!</em>&#8220;.</p>
<p>contoh gampangnya di dalam pemilu Jakarta, dimana kubunya terbagi dengan jelas menjadi 2 pihak:</p>
<ol>
<li>Kubu Ahok</li>
<li>Kubu Asal Bukan Ahok</li>
</ol>
<blockquote><p>kebetulan saya memiliki KTP jakarta dan berada pada kubu, &#8220;asal kerjanya bener&#8221;.</p></blockquote>
<p>sikap saya bukan pada posisi netral, karena pada akhirnya saya harus memilih, namun yang saya pilih tidak mesti harus si &#8220;A&#8221;, harus si &#8220;B&#8221;, namun saya akan memilih yang menurut saya bisa berkerja dengan baik dan membuat Jakarta lebih baik.</p>
<p>lucunya adalah ketika kita melihat bagaimana berita-berita yang muncul dari 2 buah kubu tersebut.</p>
<blockquote><p>dari kubu Ahok, berita-berita yang muncul adalah bagaimana seorang Ahok membentuk pasukan oranye yang membantu membersihkan kali-kali yang kotor, jalan yang banjir, taman yang rusak, dan menjaga kota Jakarta agar tetap terawat, bersih, dan rapi.</p>
<p>dari kubu non Ahok, berita-berita yang muncul penuh dengan Ayat, Kitab Suci, dan tuduhan korupsi yang disematkan kepada Ahok. terutama kasus reklamasi dan RS Sumber Waras yang terus bergaung.</p></blockquote>
<p>pertanyaannya adalah, mana yang akan anda percaya?</p>
<blockquote><p>jika anda di kubu &#8220;A&#8221;, maka anda tentu percaya dengan berita pasukan oranye.</p>
<p>jika anda di kubu &#8220;B&#8221;, maka anda tentu percaya dengan berita Ahok tersangka korupsi.</p></blockquote>
<p>saya suka mendengar pembahasan mereka berdua, dan sama-sama memiliki logika bahwa mereka yang paling benar yang mungkin saja mereka benar, mungkin saja mereka salah. karena pada dasarnya informasi sama halnya seperti di ungkapkan Hartley, <em>are based on two things only &#8220;yes&#8221; or &#8220;no&#8221;</em>. namun dalam situasi Kubu &#8220;A&#8221; dan Kubu &#8220;B&#8221; semuanya berbasis pada &#8220;<em>Yes</em>&#8220;, tidak ada &#8220;<em>No</em>&#8220;.</p>
<blockquote><p>apalagi ketika logika pun tidak dipedulikan ketika mengungkapkan sebuah informasi karena yang penting &#8220;YES&#8221;, <em>either it&#8217;s true or false, right or wrong, doesn&#8217;t matter</em>, yang paling penting adalah anda ada di kubu mana, &#8220;A&#8221; atau &#8220;B&#8221;?!</p></blockquote>
<p>ketika saya melihat debat <em>argument</em> seperti itu, maka saya bertanya pada diri saya sendiri:</p>
<blockquote><p>&#8220;<em>how does Indonesia people weight their information/news?</em>&#8220;</p></blockquote>
<p>hingga pada akhirnya semua kubu, membutakan logika, dan menyingkirkan akal? terutama yang akal yang sehat? <em>that&#8217;s amaze me to the point that I even cannot thinking about their logic during reasoning, whether they always omit their reasoning? or they actually too logical to be comprehend with the reasoning? it was hard to determine.</em></p>
<blockquote><p>misalnya saja ada yang berkata, &#8220;<em>tidak kenapa pemimpin Korupsi, yang penting satu Agama.</em>&#8220;</p></blockquote>
<p><em>for me, it seems like ridiculous, why even you bother to appoint evil people just because you have same religion as him?</em> atau mungkin ketika ada yang cinta Ahok sampai menuliskan pesan:</p>
<blockquote><p>&#8220;saya muslim dan saya pilih Ahok!&#8221;</p></blockquote>
<p><em>that&#8217;s amaze me! A LOT!</em> dari situ saya mendapatkan sebuah kesimpulan, bahwa <em>to add weight to  your information in Indonesia, &#8220;Religion&#8221; is the best commodity!</em></p>
<p>saya merasa bahwa berita dengan bentuk &#8220;Agama&#8221; di belakangnya, semua argumen yang berbentuk &#8220;Agama&#8221; di belakangnya adalah komoditas terbaik untuk mengangkat &#8220;nilai&#8221; sebuah berita di Indonesia. <em>just add any religion reasoning and it will be easy to make people impress, and omit their logic or comprehend their reasoning</em>.</p>
<p>tidak usah jauh, bahkan di Bali pun saya sering juga melihat berita yang mengangkat pesan dan kesan untuk &#8220;membangkitkan&#8221; Hindu dengan cara mulai menggerakan ekonomi masyarakat dengan hanya melakukan transaksi ekonomi dengan sesama orang Hindu saja.</p>
<blockquote><p>padahal hukum ekonomi tidak pernah mengenal Agama, dan tidak pernah pilih-pilih Agama.</p></blockquote>
<p>walaupun pada prinsip dasarnya <em>classic economy</em> memiliki kesamaan dengan Agama, namun hal itu mari kita bahas pada pembahasan lainnya, di post lainnya, saat saya sedang malas dikarenakan tidak tahu harus mengerjakan apa.</p>
<p>kesimpulannya, &#8220;<em>apapun kubunya, Agama bumbunya!</em>&#8220;. <img src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>&nbsp;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://billyinferno.wordpress.com/2016/05/23/measuring-information/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1483</post-id>
		<media:content url="https://2.gravatar.com/avatar/2e1ce3eb41f17f1a2b83ec2a5c7222c67d220ef642f30b93228e6ea9e065dabe?s=96&#38;d=https%3A%2F%2F2.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=PG" medium="image">
			<media:title type="html">adi martha</media:title>
		</media:content>
	</item>
		<item>
		<title>compromising prince (or queen) charming&#8230;</title>
		<link>https://billyinferno.wordpress.com/2016/02/14/compromising-prince-or-queen-charming/</link>
					<comments>https://billyinferno.wordpress.com/2016/02/14/compromising-prince-or-queen-charming/#respond</comments>
		
		<dc:creator><![CDATA[adi martha]]></dc:creator>
		<pubDate>Sun, 14 Feb 2016 19:13:54 +0000</pubDate>
				<category><![CDATA[a pint of milk]]></category>
		<category><![CDATA[love is always in the air]]></category>
		<category><![CDATA[my mind]]></category>
		<category><![CDATA[my mind, body, and soul]]></category>
		<category><![CDATA[my soul]]></category>
		<guid isPermaLink="false">http://billyinferno.wordpress.com/?p=1405</guid>

					<description><![CDATA[if you looking for your prince/queen charming, sebenarnya bisa dilihat dari dua buah sisi yang tidak bisa dilepaskan satu sama lain, yaitu: idealis realistis perbedaan yang dihasilkan dari dua metode di atas bisa dikatakan sangat-sangat berbeda dan bertolak belakang. jika idealis menggambarkan bahwa the charming one akan selalu sempurna, maka realistis akan menggambarkan bahwa the [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>if you looking for your prince/queen charming, sebenarnya bisa dilihat dari dua buah sisi yang tidak bisa dilepaskan satu sama lain, yaitu:</p>
<ul>
<li>idealis</li>
<li>realistis</li>
</ul>
<p>perbedaan yang dihasilkan dari dua metode di atas bisa dikatakan sangat-sangat berbeda dan bertolak belakang.</p>
<p>jika idealis menggambarkan bahwa the charming one akan selalu sempurna, maka realistis akan menggambarkan bahwa the charming one memiliki kriteria untuk menjadi sempurna.</p>
<blockquote><p>perbedaanya hanya pada &#8220;akan selalu&#8221;, dan &#8220;memiliki kriteria&#8221;.</p></blockquote>
<p>jika ditilik dari nilai romantis, maka idealis akan benar-benar, sangat romantis. terutama karena pandangan idealis terhadap <em>the charming one in always beyond your expectation. it&#8217;s perfect!</em></p>
<p>salah satu kata-kata yang mudah menjelaskan &#8220;idealis&#8221; adalah:</p>
<blockquote><p>I love you because it&#8217;s YOU!</p></blockquote>
<p>kata-kata di atas akan sangat romantis sekali, namun akan sulit sekali digambarkan atau diuraikan, diakibatkan semua yang ada di atas sebenarnya lebih dekat dengan metafora.</p>
<p>sedangkan di dalam sisi &#8220;realistis&#8221;, maka kita akan sering menemui point, seperti berikut ini:</p>
<p>pria yang cocok dan memiliki kualitas adalah pria yang memiliki kriteria:</p>
<ul>
<li>berani</li>
<li>murah hati</li>
<li>lembut (penuh kasih sayang)</li>
<li>memberikan kepastian</li>
</ul>
<p>itu adalah cara pandang realistis, karena mereka berpikir bahwa untuk mencapai tingkat the charming one, maka ada parameter yang harus di tempuh dan dimiliki dari setiap individu.</p>
<p>pada dasarnya, jika kita melihat dari penjelasan di atas, ada sebuah kesimpulan yang bisa di ambil:</p>
<blockquote><p>&#8220;ideally not all people can become the charming one, but realistically all people can become the charming one!&#8221;</p></blockquote>
<p>secara cara pandang ideal, maka jumlah the charming one akan terbatas dan subjective. dimana pada akhirnya apakah anda termasuk the charming one, tergantung dari cara pandang dan penilain dari si dia, jika dia tidak memasukan anda dalam list the charming one, <em>that&#8217;s it&#8230;done, finished</em>!</p>
<p>namun secara sudut pandang realistis, maka jumlah the charming one akan memiliki batasan &#8220;N&#8221;, dimana &#8220;N&#8221; ini adalah jumlah manusia yang ada di muka bumi ini, dimana dalam hal ini menjelaskan bahwa semua orang bisa menjadi the charming one, <em>as long as they fall into all the criteria of the charming one</em>.</p>
<p>kadang ketika kita mencari cinta, mencari the charming one di dalam hidup kita, kita hanya memandang dari satu sisi, bahwa:</p>
<blockquote><p>&#8220;I should pick the best!&#8221;</p></blockquote>
<p>tidak salah memang, bahkan ada baiknya seperti itu, baik anda memandang the charming one dari sisi idealis ataupun realistis. namun pada akhirnya bukan berarti dengan <em>stick within our view or criteria will help us find the &#8220;best&#8221; one</em>.</p>
<blockquote><p>karena pada akhirnya, <em>we dealing with human, which is not perfect</em>!</p></blockquote>
<p>ya, pada akhirnya the charming one, tetap seorang manusia. <em>and being human, there&#8217;s only one thing that we cannot got</em>, &#8220;<em>perfection</em>&#8220;.</p>
<p>ketika berusah mengejar &#8220;perfection&#8221;, maka secara tidak langsung kita menekan dan membuat constraint di dalam diri kita sendiri, seakan mengekang diri kita sendiri untuk tidak melakukan hal-hal yang jatuh di luar sudut pandang ataupun kriteria the charming one.</p>
<blockquote><p><em>at the end, we didn&#8217;t become human&#8230;since we only following &#8220;list&#8221;</em></p></blockquote>
<p>pertanyaan berikutnya adalah, apakah ketika kita mengikuti semua sudut pandang, ataupun kriteria itu kita bisa menjadi lebih baik? apakah partner kita akan makin sayang dengan kita? apakah itu akan meningkatkan kualitas hidup kita?</p>
<p>mungkin iya, mungkin tidak!</p>
<p>karena pada akhirnya yang bisa membuat manusia itu bahagia atau tidak, bukan masalah seberapa banyak dia sebenarnya bisa terlihat baik bagi orang lain, bukan sebarapa banyak dia bisa menyenangkan orang lain, bukan seberapa banyak orang lain iri dengan dirinya.</p>
<blockquote><p>manusia bisa bahagia jika dia sudah bisa &#8220;<em>compromise</em>&#8221; terhadap dirinya sendiri.</p></blockquote>
<p><em>compromise</em> disini bukan berarti &#8220;pasrah&#8221;, ataupun &#8220;mengurangi&#8221;, namun lebih kepada sadar bahwa, &#8220;<em>we bound to be fail and learn</em>&#8220;. pada dasarnya kita semua diciptakan untuk bisa salah. menyadari kesalahan, dan mengakui kesalahan kita sendiri akan membuat kita menjadi lebih bahagia, dan ketika kita bisa lebih bahagia maka kita akan mengetahui solusi dari kesalahan kita.</p>
<p>begitu juga dengan the charming one. mungkin anda masih sibuk mengejar dia yang begitu sempurna, dia yang memiliki kriteria sempurna yang anda inginkan, namun pertanyaannya adalah:</p>
<blockquote><p>&#8220;<em>how perfect are you?</em>&#8220;</p></blockquote>
<p>dengan sadar bahwa kita juga tidak &#8220;sempurna&#8221;, maka secara tidak langsung kita tidak akan begitu &#8220;strict&#8221; terhadap semua yang kita pikirkan mengenai the charming one. dengan itu pula kita sadar, bahwa yang perlu kita cari bukanlah the charming one, namun:</p>
<blockquote><p><strong><em>the happy one&#8230;</em></strong></p></blockquote>
<p><em>we didn&#8217;t really compromise the criteria or how we see the charming one, we only compromise that even the charming one also a human, so we should treat them as a human being too</em>.</p>
<p>dan itu semua baru bisa dilakukan jika anda sudah bahagia dengan diri anda sendiri, dan bahagia dengan partner yang mungkin sekarang ada jauh di sana, di sebelah anda, atau sedang menunggu untuk di cari oleh anda.</p>
<p>selamat berbahagia&#8230;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://billyinferno.wordpress.com/2016/02/14/compromising-prince-or-queen-charming/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1405</post-id>
		<media:content url="https://2.gravatar.com/avatar/2e1ce3eb41f17f1a2b83ec2a5c7222c67d220ef642f30b93228e6ea9e065dabe?s=96&#38;d=https%3A%2F%2F2.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=PG" medium="image">
			<media:title type="html">adi martha</media:title>
		</media:content>
	</item>
		<item>
		<title>NIC Teaming</title>
		<link>https://billyinferno.wordpress.com/2016/01/25/nic-teaming/</link>
					<comments>https://billyinferno.wordpress.com/2016/01/25/nic-teaming/#respond</comments>
		
		<dc:creator><![CDATA[adi martha]]></dc:creator>
		<pubDate>Mon, 25 Jan 2016 12:25:59 +0000</pubDate>
				<category><![CDATA[a pint of milk]]></category>
		<category><![CDATA[education and technology]]></category>
		<category><![CDATA[my body]]></category>
		<category><![CDATA[my mind]]></category>
		<category><![CDATA[my mind, body, and soul]]></category>
		<guid isPermaLink="false">http://billyinferno.wordpress.com/?p=1362</guid>

					<description><![CDATA[Beberapa hari ini saya sibuk merancang ulang network yang saya gunakan di Apartment, utamanya karena wireless router AC sudah mudah dan murah sekali di dapat, dan tentu saja melihat performancenya membuat saya benar-benar tertarik untuk melakukan upgrade terhadap Router yang saya gunakan di apartment. namun sebelum melakukan pembelian router, satu hal yang saya lakukan pertama [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Beberapa hari ini saya sibuk merancang ulang network yang saya gunakan di Apartment, utamanya karena wireless router AC sudah mudah dan murah sekali di dapat, dan tentu saja melihat performancenya membuat saya benar-benar tertarik untuk melakukan upgrade terhadap Router yang saya gunakan di apartment.</p>
<blockquote><p>namun sebelum melakukan pembelian router, satu hal yang saya lakukan pertama kali adalah &#8220;NIC Teaming&#8221;.</p></blockquote>
<p>dikarenakan motherboard desktop saya memiliki fitur NIC Teaming, maka saya membeli lagi sebuah cable cat5e dan melakukan teaming di komputer saya tersebut, dengan maksud dan tujuan menambah bandwidth dari si komputer.</p>
<p>di kepala saya:</p>
<blockquote><p>&#8220;more bandwidth&#8221; = &#8220;more speed&#8221;</p></blockquote>
<p>which is ternyata sangat salah sekali.</p>
<p>NIC Teaming, ataupun Link Aggregation sebenarnya tidak bisa menambah kecepatan dari network anda. throughput yang anda miliki memang akan bertambah menjadi dua kali lipat dengan NIC Teaming, namun bukan berarti anda bisa mendapatkan kecepatan dua kali lipat ketika mengakses data di dalam network.</p>
<p>hal ini saya buktikan dengan melakukan Disk Mark pada NAS saya, baik ketika menggunakan satu buat NIC, ataupun menggunakan NIC Teaming.</p>
<blockquote><p>hasilnya sangat mengejutkan, single NIC memiliki hasil yang jauh lebih baik di bandingkan dengan menggunakan NIC teaming.</p></blockquote>
<p>lalu berarti NIC Teaming secara tidak langsung bisa dikatakan &#8220;pointless&#8221; donk?</p>
<p>itu pertanyaan yang pertama kali muncul di kepala saya, namun sebenarnya NIC Teaming tidak pointless if used for the right purpose. masalahnya, saya menggunakan NIC teaming not in the right purpose.</p>
<p>keinginan saya untuk menambah throughput sebenarnya dapat dengan mudah di penuhi dengan mengganti semua router saya menjadi Gigabit router, secara otomatis throughput saya di network akan naik 10 kali lipat, which is secara tidak langsung Read and Write saya di NAS akan meningkat 10 kali lipat juga dengan logika sederhana.</p>
<blockquote><p>jadi sebenarnya jika tujuan kita menambah throughput, maka NIC teaming bukanlah solusi.</p></blockquote>
<p>so what&#8217;s the purpose of NIC teaming?</p>
<p>jadi sebenarnya tujuan utama dari NIC teaming adalah &#8220;load balancing&#8221;, oleh karena itu NIC teaming lebih cocok di gunakan oleh server, dikarenakan dengan menggunakan NIC teaming maka beban kerja server dapat dialihkan ke dua buah NIC, which is menghasilkan throughput yang lebih lancar dan lebih baik ketika server di access bersamaan.</p>
<p>selain itu NIC teaming juga bagus digunakan sebagai fail safe jika ternyata salah satu LAN yang digunakan down atau bermasalah.</p>
<blockquote><p>jadi, penggunakan NIC teaming pada PC desktop bisa dikatakan sebenarnya &#8220;pointless&#8221;, karena PC desktop lebih sering sebagai &#8220;end user&#8221; atau &#8220;client&#8221; dibandingkan dengan Server. NIC teaming akan jauh lebih bermanfaat jika digunakan pada hal yang bersifat &#8220;supplier&#8221; terhadap data, misalnya saja kedua NAS saya yang berfungsi sebagai cloud storage, dan juga media server untuk semua file-file video saya, dan ketika itu baru saya bisa merasakan manfaat dari NIC Teaming.</p></blockquote>
<p>kesimpulannya? tidak ada yang rugi disini. NIC teaming was good, siapa tau nanti motherboard ini akan saya gunakan sebagai salah satu http atau service server yang akan saya gunakan untuk aplikasi saya? sehingga nanti saya tidak perlu membeli shared hosting untuk aplikasi saya?</p>
<p>namun pada dasarnya, tidak ada pelajaran yang tidak berguna&#8230;namun sebelum anda melakukan NIC teaming, ensure what result that actually you want to achieve? expanding throughput or doing fail safe and load balancing?</p>
]]></content:encoded>
					
					<wfw:commentRss>https://billyinferno.wordpress.com/2016/01/25/nic-teaming/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1362</post-id>
		<media:content url="https://2.gravatar.com/avatar/2e1ce3eb41f17f1a2b83ec2a5c7222c67d220ef642f30b93228e6ea9e065dabe?s=96&#38;d=https%3A%2F%2F2.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=PG" medium="image">
			<media:title type="html">adi martha</media:title>
		</media:content>
	</item>
	</channel>
</rss>
