Syamsul's Blog

A place to breathe

Monday, December 31, 2018

New Tech, faster, but same

Recently there are 2 programming languages that is trying to take over the Internet:

1. Typescript
2. Dart

Both languages share the same idea in that it is trying to "enhance" Javascript. In actual fact, it does have some characters to replace Javascript as the king of the Internet language.

But funnily enough, both compiles into Javascript, and then get translated by browsers. I think the future would be for the internet to have less defined widgets, and more for empty canvas loading and run it over some sort of graphics library.

This is basically the idea that game developers has always been familiar with, no matter what programming language, widgeteries, UI behaviors, etc.

It would be interesting to see the development of the 2 languages and see what they solve.

Happy New Year 2019!

Hi viewers

I would like to wish Happy New Year 2019 !
Wish you well, and happy holidays

Friday, August 24, 2018

Expressing Emotions : Machines v. Humans

Finally I have breathing space to catch my blog. As if I'm so busy!
As a matter of fact, I am.

Well, for the most part, i'm spending time talking to machines and people. There are differences between the two - machines don't understand your emotions, although I know some of you might be attached to your own machines as if they're alive. Please lah. Don't do that.

People on the other hand, understand emotions. However, some people don't express their emotions in words or body languages. Sometimes, they show it through actions as well. These are the things you can never experience if you talk to machines.

By talking to machines, I don't mean that I talk to my family or friends over the phone or Internet. I mean, by writing programming languages or some actions such as issuing commands, or just pressing restart button.

Ok, so what's a big deal? Well, wouldn't it be nice if the machines can understand your emotions such that when you're interacting with the machines, you trick yourself as if you're talking to a human being?

Yea. That's the stuff of the computer world right now. A lot of effort technology companies do to achieve this. Somehow humans are now more comfortable talking to machines like Alexa and Google Home than actually go over dinner with friends. So the IT space just ride the waves.

I mean, really? Do we really need it? That machines takes over human in terms of communications?
I predict that in the next few years, the machines could actually do reasonably well at that. I mean, look at what has it gobbled:
1. Alarm clock - better.
2. Letters - fast and cheap ( except receiving saman and bills, I don't get letters from my friends anymore. I wish I have).
3. Commerce.

Ok i don't need to go on and on.

However, what machines lacks are actually actions. Stuff like mechatronics and connects to its AI brains. I just don't think we can achieve things like human does when it comes to expressing their emotions through actions. This is the only thing that I think robots can't easily emulate for the next few hundred years.

That means, humans can survive as ... well, human being.
For the next hundreds of years.








Thursday, April 19, 2018

Surviving 2018

Hola

Welcome to 2018. Many things happening and I don't even have time to type !. Well, majority of the things are just learning. Many tech, and also non-tech.

One of the major decisions that  I have to make is to switch to Android from iPhone. This is a huge decision, but actually an easy one.

First of all, my beloved iPhone is still iPhone 4S. That's right my friend. The best phone ever. And the main issue is it keep dropping calls. Well after few years (about 5 years) using, I guess it's time.

Second, to purchase another iPhone is just too expensive. I was thinking of buying iPhone X but I figured that the price tag is just too much. So I decided to purchase a Samsung J+, which sadly, I misplaced it after a few days of purchase. Anyways, I'm still searching for it and hopefully will find it somewhere.

Another new cool discovery after Python is Phaser - a new game engine developed by Photon Storm. I mean, I manage to compile and got into my Phone with ease. The good news is it's running Javascript ! So I don't have to learn new things. Writing game in C++ is just too much. I mean, I'm not going to release a Quake here!

A sad new thing about gadgets is actually there's not much of a new thing. I remember when iPhone was released and we just can't wait for an SDK. Those days.. good times.

I'm toying of an idea of creating my own phone. But naaah.. too much effort for this. Too many phones that are good in the market anyway. Samsung,Oppo, Vivo, Xiaomi ... just choose.

But I think Javascript and Python has got some synergy there for many applications including app on the phones.. it's just that no one really package it in a nice way that they could work together seamlessly.

We'll see. Anyone got free time ? ;)




Wednesday, July 19, 2017

Using Angular Generator

Using Angular Generator is easy.

Since I like to work locally, I use "--save-dev" option. if you want to install it globally, replace "--save-dev" with "-g"

Here the steps.

1. npm install grunt-cli bower yo generator-karma generator-angular --save-dev
2. yo angular
3. npm install grunt-karma karma karma-phantomjs-launcher karma-jasmine karma-core jasmine-core phantomjs-prebuilt --save-dev

Now you should be able to run grunt:

> grunt
> grunt serve

It is now published on http://localhost:9000

Enjoy!

Monday, February 20, 2017

The all powerful Shebang

When you write scripts, often times, you'll see the following line at the top:

#!/usr/bin/python 

Now what is this?

This line allows you to run your script as the executable, without invoking the interpreter. For example, if I write a python script called blabla.py, I will need to run it this way:

%> python blabla.py 

change the permission and add the shebang line, will allow you to run it this way:

%> chmod +x blabla.py
%> ./blabla.py 

if you want to run it in the background, then call the no hangup:
%> nohup ./blabla.py 

It will run itself doing its thing. Time to go to sleep while waiting for it to finish.

Wednesday, February 15, 2017

Changing NPM default module folders

When you install NPM on Linux, it will install into the root location by default. Often times, it could cause trouble if you want to modify the node_modules. 

To know where the node_modules are going to be installed globally: 

%> npm config get prefix
/usr

Now, I don't want to play around with the '/usr' permission because it is a standard OS directory. Trying to modify some stuff for node and have to deal with the top root directories is just not worth it. 

Now, change the NPM prefix: 

%> npm config set prefix=$HOME/.node_modules_global

so test it now: 
%> npm config get prefix

You should see that it list :
/path/to/home/.node_modules_global 

Change the path inside your .bash_profile: 
%> export PATH="$HOME/.node_modules_global/bin:$PATH

OK, now update your environment: 
%> source .bash_profile

Try installing an NPM just to check whether the global works: 
%> npm install npm --global
%> npm --version 

You should see your version changes from previously because it is now getting the latest npm.



About Me

I'm currently a software engineer. My specific interest is games and networking. I'm running software company called Nusantara Software.