Python’s “Beautiful Heart”

Woogh!!! Maybe that words that will ‘spit out’ from your mind after try IDLE, the Python GUI, and also the Python Command Prompt. It’s so interesting to learn with, really! If you have the Mark Summerfield’s book, titled “Programming in Python 3, A Complete Introduction to the Python Language”, it will be said Python’s “Beautiful Heart”. I guess that’s why Summerfield wrote that words on the book, only guess.

First at all, you can do arithmetic operation on the IDLE. Don’t believe it? Look at the figure below.
the Python GUI (IDLE)

IDLE provides some facilities to the user, one of them is the ability to enter Python expressions to see the results directly. And that’s it! IDLE is so easy to use for experimenting a small pieces of Python code. Again, look at the figure below.
The Python GUI (IDLE)

Besides that, you also can do a simple operation using statement, such as if, while, etc. It’s makes you do an experiments with Python comes easily. Of course, it’s save your time much more. That’s it! Hope inspire you to learn Python. Hehe…

Keep in touch with! 🙂

The Complexity between Mandarin and Madurese and it’s Impact

Today I’m gonna analyze the different between two languages that I mastered at, there is Mandarin and Madurese. Actually my Mandarin not really so good. But it’s ok lah! (dial: Jinglish). What is Jinglish? Jinglish is Javanese English. Haha… I get this idea while I was talking on the phone with my Mom using Madurese, and one of my friend hear and just amazed. Soon he asked me: “what language is that?”.

The Complexity of that Two Languages?
Nah, this will be my main area to review. As we know so far, Mandarin is one of the important language in the world right now. But it’s very different that Madurese is one of the languages that just commonly used in Madura Island, and it’s surrounding areas. The thing that makes both are similar according to my observation is, Mandarin have 4 tones (shēngdiào 声调) with 1 neutral tones, and Madurese don’t have tones, but at least have 5 words that have a similar sound, but different accentuation. And what makes Madurese special is there are 3 level of languages, Ja’-iya (the coarsest level, used between a young people), Enggi-enten (the medium level), and Enggi-bunthen (the refined level, used to the people that older than us). This is just the same with Javanese, Balinese, and some others.

And if you teach Madurese to the person that not entirely native from Madurese or it’s surrounding areas that speaks Madurese, like Pasuruan, Jember, etc., or in the others word that the person never learn Madurese, it is so hard to produce the right accentuation (aspirate). It’s quite different if you teach Mandarin to the person that completely never learn Mandarin. They will be easier to learn Mandarin rather than Madurese. And what is the advantages from learn Madurese for them?? It’s not widely spoken in the world! And, oh ya, ‘Mandarin’ is not recognized in China. They called Mandarin as Zhōngwén [中文] or Hànyǔ [汉语] or Pǔtōnghuà [普通话].

Let me give an example. In Mandarin, they have 4 tones, that is first tone – high level, second tone – rising, third tone – falling rising, and fourth tone – falling, 1 neutral tones. Look at the table below.

Tones Pinyin Simplified Char. Meaning
High-level (1st tone) mother
Rising (2nd tone) hemp
Falling-rising (3rd tone) horse
Falling (4th tone) scold
Neutral (5th tone) ma ‘interrogative mark’

Ok, now let’s we make a sentence based on that figure.

妈妈骑马,马慢,妈妈骂马 (māma qí mǎ, mǎ màn, māma mà mǎ)
Meaning: Mother is riding a horse, but the horse is slowly running, then the mother is scolding the horse.

If you want to hear the sentence, just go to Google Translate, choose the ‘From’ by Chinese, and ‘To’ by English or others according to your language. Then, copy that character above, paste in the field of Google Translate, click translate. Then click listen to the button above the field you paste the character.

Now, let’s we have an example in Madurese.

Badha baddhana baddha’ baddha babana
Meaning: There is a compact (the place for powder in package), the bottom is torn.

Ha, that’s the different between Mandarin and Madurese. In Madurese, you need to master at stressed up the word (aspirate) and the accent. In Mandarin, you need to master at tones and of course the accent to make you speaks really like the Chinese speak. Hehe…

One thing, the way of pronouncing the language between Madurese and Chinese Cantonese (one of the dialect in Chinese language) is the same! They prefer to strengthen the upper throat to produce a sound that really makes they are truly the native speaker.

The Impact?
I don’t have observation to know more about the impact. But, both have toughness, have a high work-ethic. My hypothesis for the impact that affected by the complexity of the language is, more complex a language, more success the people. Why? The language affected the character of the people. But why the Madurese is lagging far behind the Chinese?.

Proud to be Chinese that lived in surrounding of Madurese people in Madura Island, Indonesia. ^^

Mator sakalangkong!

NB: I write this article just for fun, that one of my main interest is learning languages and cultures.

Designing System for Gate Displays (Intro Part)

It’s easy but hard, and it’s hard but easy. That’s pretty confusing statement that occurs while I am decided to make a simple system for Gate Display (GD) that usually placed at airport or others transportation’s terminal. It is one of my interest to involved with a company that create a system for airlines/airport.

Data Flow for the System
Gate Displays' Diagram

The database of the airport should be collect the database from airlines, that contain flight schedule to and from the airport. Then, the GD will display the most recent flight at the airport with status that could be change depend on the flight condition, like ‘boarding’, ‘on time’, ‘delayed’, etc. The ATC (Air Traffic Control) will have authorized to change it. Just a simple flow to develop the system here, but it will be harder to develop the real system. But, that is the chance! I will be ready to engaged with. ^^

Keep in touch with! 🙂

… to be continue – Part I-Make a Database for Airlines’ Flight Schedule…

Big O Notation (Intro)

I heard this notation while I’m reading the Google Interview Question after I am received an e-mail from Google that my internship application getting noticed to them. Sometimes, it’s called Big Oh Notation. After reading some article, I’m getting understand what it’s use for.

How efficient is an algorithm?

That’s exactly what the statement that should keep in our minds about the Big O Notation. Let me give an example for you. Let we take one of the basic sorting algorithm, is Bubble Sort. If the item on the right is the smaller than the item on the left, then swap the position. So, the item on the right is larger than the item on the left. That is Bubble Sort. Look at the example below.

This is a jumbled number that need to be placed on the right order. The method that implemented at this kind of sort is comparing the two neighboring items. Okay, let’s finish it. The first step is comparing the first two items (first pass). The first item is 3, and the second item is 4. Which one is the smallest? The answer is 3, the left item. So, if the left item is smaller than the right item, we don’t have to do something to this condition. It’s mean, no swap required.

Then, we comparing the second item and the third item. Is that the left item, 4 is smaller than the right item, 5? Yes! So, no swap required.

Next, is that 2 bigger than 5? No, so we swap them.

The final step on the first step, is that 5 smaller than 1? No, so we swap them.

Hurray! The first pass finished! But wait, there is 4 more pass’ to finish. The next pass I will just show the figure without any explanation because the explanation main point is the same with the explanation above, right? ^^

Pass 2

Pass 3

Pass 4

Okey, the jumbled number has take the right position. So we called it now, the sequential number from 1 to 5. But, the system will not stop until all of the pass finished well, although the jumbled number has become a sequential. This is the only way the system know that the number has sorted well, especially if we are using Bubble Sort. Ok, next.

Pass 5

Haaa, finish! The number has been sorted well. Agree with me? ^^
But what do you think about that kind of sort? It will be not very efficient if the algorithm must sorting the large number of items. Bubble Sort is just efficient to the tiny number of items.

The Bubble Sort take n2 to complete, where n is the number of items in the list. Don’t believe that? Just count the number of the figure above, minus 1 (the original figure didn’t need to count). The notation should be like this: O(n2). That’s the worst case scenario. It can be optimized by, detect if any of the pass has been well sorted the list, then stop it. The notation for the best case is: O(n). This only required pass through the list once, and finish. That’s mean, the number of the list has been sorted.

Okay, that’s it. I need to improve the knowledge of this notation. If there is any reader that master already at this notation, please can you let me share the knowledge each other. ^^ … Thanks for reading! 🙂

NB: To watch the visual-demonstration of the step, click here.

Have Fun with Facegen Modeller

Awesome… That’s the first word that came on my mind after I’m trying the program.

Although this is just a simple and open-source application for modelling a face, It’s got my first impression that modelling a face is a difficult task to do. You can download it free at Facegen (click here).

Today I’m using my recently pictures to do the experiment. Haha… Look at the picture below:

You have to take your pictures as much as three poses, one facing left, one facing forward, and one facing right. Just like a prisoner, right? But the pictures above is not a prisoner, keep in mind that the person above is an expert-developer. ^^

Below is the picture of the application. There are so many model you can experiment with. But I prefer to use my own pictures to do it. You can load your-self pictures by using PhotoFit tab. If you are using the free version, there is a text found on your forehead while you using this application. It’s meaning is Singular Inversion.

OK, below is the result if you using your own pictures as a model. You can adding some age to him, just like in the right side photo (below), you can make your face like an European, African, or the others race at the Race Morphing. You can shaping your brow, cheekbones, chin, eyes, faces, mouth, and the others. And you can find your genetic, just by one button click. It is awesome, isn’t it?

Just try your-self and feel the excitement. 🙂

PHP Tutorial: 10 ways to make a traveler timetable

Hi there, today I wanna share something about PHP. And it’s about, how to joining the redundant header-text become one, like often used in timetable, usually in airlines for the flight or ship schedule. Look at the figure below:

Firstly, let’s make a database. Note the figure above, there are 6 variables, that is: Departure Place, Arrival Place, Frequency, Departure Time, Arrival Time, and Flight Number. Execute query below on your database (use your phpmyadmin):
FlightNo varchar(10) NOT NULL,
Departure varchar(20) NOT NULL,
Arrival varchar(20) NOT NULL,
DepTime varchar(5) NOT NULL,
ArrTime varchar(5) NOT NULL,
Frequency varchar(7) NOT NULL,

Insert some schedule to the database (look at the figure). Then, here we go! ^^

Get all of your data from ‘timetbl’ table, try this code:
print("<table cellspacing="0" cellpadding="0" border="1">
<td width="20px">&nbsp;</td>
<td width="50px">Frequency</td>
<td width="60px">Dep. Time</td>
<td width="60px">Arr. Time</td>
<td width="100px">Flight No.</td>

$connection = mysql_connect(MYSQL_DB_SERVER, MYSQL_DB_USER, MYSQL_DB_PASSWORD);
$database = mysql_select_db("MYSQL_DATABASE", $connection);

//2. getting data from the ‘timetbl’ table
// Note that it must order by Departure and Arrival,
// in order to make the algorithm more simple.
$getdata = "SELECT FlightNo, Departure, Arrival, DepTime, ArrTime, Frequency " .
"FROM timetbl ORDER BY Departure ASC, Arrival ASC, DepTime ASC";
$execute = mysql_query($getdata, $connection);

//3. create a counter for the data
$count = "0";

//4. move it to temporary variable
while($result = mysql_fetch_array($execute)) {
//5. Add the value of the counter as the data have been added

//The sequence of the number 0-5 accordance
//with the getdata query sequence above
$FlightNo = $result[0];
$Departure = $result[1];
$Arrival = $result[2];
$DepTime = $result[3];
$ArrTime = $result[4];
$Frequency = $result[5];

//6. Create a mark to show there is no redundant
// data for departure have been showed before
if($count == ‘1’) {
$dep_temp = $Departure;
$dep_prev = "";
} else {
$dep_prev = $dep_temp;
$dep_temp = $Departure;
//7. Print the departure information
if($Departure != $dep_prev) {
$count_dep = "0";
print("<tr><td colspan="5">$Departure</td></tr>");
} else $count_dep++;

//8. Create a mark to show there is no redundant
// data for arrival have been showed before
if($count == ‘1’ || $count_dep == "0") {
$arr_temp = $Arrival;
$arr_prev = "";
} else {
$arr_prev = $arr_temp;
$arr_temp = $Arrival;
//9. Print the arrival information
if($Arrival != $arr_temp || $Arrival != $arr_prev) {
print("<tr><td>&nbsp;</td><td colspan="4">$Arrival</td></tr>");

//10. Show the supporting information, Frequency, Departure Time,
// Arrival Time, and Flight Number


Don’f forget to change MYSQL_DB_SERVER, MYSQL_DB_USER, MYSQL_DB_PASSWORD, MYSQL_DATABASE with yours configuration, e.g. (sequentially), admin, admin, mydatabase. Or, you can create a new file, named config.php to separate the configuration from your page. You can add css file to the page. ^^

Finally, there is 10 ways to make a better timetable. If you have any questions, do not hesitate to comment on the box provide below or send me an e-mail. Okey? Hopefully this article useful. Cu next time in the next code.

Hello world!

Eureka!! ^^
Welcome to my first blog, pal! After having over 5 months freeze time since I bought my first hosting and domain, July 2010, I just using my time for learning PHP programming. And then, bye for temp. Haha… It’s has been a busy semester I’ve ever passed.

Today, before i really starting my first writing about programming, i wanna share about “8 parts and its gates” we have to do in order to be an expert-programmer (err, I’m not an expert yet, but I’d like to and will!), this just about my opinion after I hearing a live-streaming, a sermon from a Pastor at CHC-S’pore today (7/1). Whoops? the pastor talking about to be an expert-programmer? Of course not!. The opinion below is my others’ side paradigm from the sermon. Mmm, doesn’t we have to see others’ side from every activities in our life, does it?

Okay, here we go.

Briefly, the first part to going with is “THE WORLD”. What does it mean? It’s mean, WE! Now, we’ve born in this world. I think it has clear enough for us, right? hehe… And if we’ve in here, so there is a gate called “REVELATION”. That’s speak about talents God gave us. It’s depends on us want to grow it up or conversely, “ingraining” it. And, if we want to grow it up, we get into the second part, called “THE TALENT”. Here, all of us should find our self-talent. All of us born to be a winner. You’re a WINNER!. It’s about our commitment. Yes! That’s the gate for this part to entering the next part, “COMMITMENT”. Commit to one or more (if you can) talent based on your abilities.

Then, “THE SELF-ABILITY” is about your commitment you’ve commited before. Then “THE SERVANTHOOD”, learn it in focus. After that “THE MINISTRY”, after you learn it, implement it!.

Woo, after “THE MINISTRY”, it’s about make the world better by your act, is it awesome for you?. That is, “THE LEADERSHIP”. It’s about develop our softskill, besides hardskill. It’s important for us to balance both. It’s also about enterpreneurship. In fact, our nation have lack of enterpreneur. So, starting by you, and me, build employment opportunities. And, “THE GOVERNMENT”, govern it wisely!.

Lastly, “THE VISIONARY”. After you’ve passed that all, you know, a good leader is a visionary. Don’t forget to have your visionary from the beginning, and until you’ve become a leader, still have a visionary.

Wow, it’s hard enough for me to write a blog or something, because I “can’t” writing well. Yeah, it’s a good achievement of my life… Haha ^^v . We should never stop learn. There is a proverb from Chinese: 活到老,学到老!(huódàolǎo, xuédàolǎo), it’s literal meaning: Life until old, learn until old!

~ Become a “melody” to make a better world!