A place to breathe

Sunday, October 18, 2020

The Three Nasi Lemak Team

Most of you Amazon/AWS fans have heard of 2 pizza teams. Well, for those of you who haven't, basically is a guide that a team should consists no more than what you can feed with 2 pizzas.. somewhere around 10-12 people.

For me, the 2 pizza team is not suitable for startup. This is because:

1. We do not have 10-12 people working with us in the beginning, especially at the conceptual level. Most of our teams are 1,2, or 3 people. If we get lucky, we get our family, friends, neighbors, or even pets such as fish and cats to help us out to do our startup activities.

2. Second, pizza is too expensive. Especially in this part of the country where buying pizza is a luxury thing. On average, you need to spend about RM 30 per pizza. This is just too much money to spend for a small team of 1 or 2 for lunch.

3. Third, we don't need to buy 2 pizza. We can only buy 1... for 3 people.

Ok. Enough of that. Let's see why we need a small team, and a small budget to feed the small team. And that is always scalable and works even if you have bigger teams.

1. A startup need minimum 1 person to start, which is the founder. For him, he can write a program, debug, test, release and maintain. Everything with just on his bare hands, a decent laptop and access to the cloud computing. Of course, this is a rare case. But normally, a typical startup starts with 2-3 people bouncing ideas, - the co-founders. Do you really need 2 pizza boxes for lunch ? Not really. Maybe 1 is enough. Or why not try buying nasi lemak for each three of you?

2. I think the best way to write software is to collaborate with your friends. I found joy and amusement when learning from each other. But how many people that you usually collaborate efficiently ? I would say between 2-3 people. Yes, even in large software, most of the time, the contributors are few. The rest are either doing some support work, juniors you need to train, testers, document writers, etc.

2. If all we need is about 2-3 people to write good software at minimum, why not making it a rule? A simple rule that states that, a minimum working software is between 3 people : 2 people working on development, 1 person on everything else - ranging from UI feedback, hiring part timers, managing finances, doing advertising, documentation.. etc. The third person can also write the code, maybe end-to-end tests automation.

I call this rule, The Three Nasi Lemak Team rule. A team that can be fed with only 3 nasi lemak (usually , we can consume nasi lemak during breakfast, because during lunch, we're busy coding).

It's small enough team to run a startup, cheap enough to buy food (a typical nasi lemak costing you not more than RM 3, but it could go as low as RM 1). It fits a startup who just getting started.

At startup time, we just can't be spending too much on Pizzas.

Friday, May 1, 2020

AngularDart

I used to work in Angular 1.x . Not particularly pleasing, but it is one nice web development that allow us to do some form of JS-binding that make your website looks cool.

When Google came along, they introduce Angular 2 (and subsequent madness of release versions), which is a much improved version of Angular 1.x. What's not nice is that, your Angular 1.x app now no longer compatible with Angular 2. To migrate them, suffice to say, it's a pain.It's possible, but you might not want to do it. The effort is just monstrous.

OK, I still stick with Angular. But there's a new kid on the block called React, which is gaining traction. A lot of people like it, but I still don't quite appreciate it simply because I don't like coding my HTML/CSS into the JS file itself. I thought it's not very portable in case React doesn't see the light of the day one day.

Recently I got a hand of React, I kind of got a hang of it. Starting to like it myself. And then I also found a new development called AngularDart.

I was thinking AngularDart is the same like Angular but it's not.  They have some of their quirks. I am still getting along. I will post a few more things if I found it interesting.

Friday, April 24, 2020

Express JS tutorial

Hello Developers

I would like to share how to build a Node JS backend server that is the simplest. It is called ExpressJS.

1. Download Node JS (https://nodejs.org/en/)
2. Make sure you have a command line. If you are on Windows, I recommend you use Git Bash
(https://git-scm.com/downloads)
3. Download your favorite editor (Visual Studio/Sublime, etc)
4. Download a command called "Curl"here https://curl.haxx.se/
5. Create a directory where you want your server to reside anywhere in your computer. with command line, you type "mkdir "
6. Go to your directory - "cd "
7. Now, if you've installed node correctly, you should be able to type "node" in your terminal. If you got an error, make sure that the Path is set correctly. You can set it either in your .bash_profile (Linux/Mac) or Environment variables (Windows)
8. Create initial node files by running "npm init"
9. Create a file called server.js "server.js"
10. Copy and paste the following code into server.js

const express = require('express');
const app = express();

app.get('/', (req, res) => {
res.send({
message: "hello, world"
});
});

app.listen(5000, () => console.log(`Node server listening to port ${5000}`));
 

11. Modify your package.json to use node script to run:

"main": "server.js",
"scripts": {
"start": "node server.js",
"test": "test"
},

12. Now, run your server : npm start
13. You can test your server by running curl command : "curl -X GET http://localhost:5000/"
$ curl -X GET http://localhost:5000/
{"message":"hello, world"}

Now you're done!. You can write your own API server from now on.
Good luck !

Wednesday, May 8, 2019

Postgres Dump on windows 10

Recently I've been trying to do all my development on Windows 10. Fortunately, Windows Power Shell has been really cool and I kind of like it.

If you use Postgres for some reason, you might be wondering how the heck you want to dump the SQL database using PgAdmin 4.

Well, sorry to say, there hasn't been luck for me, and probably for you too.

Now, go ahead and launch your windows power shell, and type this:

PS C:\Program Files\PostgreSQL\11\bin> ./pg_dump.exe -U postgres -t   your_table_name your_database_name >> ~/my_table.sql 

You will find your SQL dump in the my_table.sql.

Have fun ! 

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.








About Me

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