Review of movie Project Almanac (2015)

I like science fiction movie, especially related to time travelling. Watched Project Almanac (2015), and there are quite a lot of interesting points.


Firstly, unlike Back to the Future (1985), time travellers going back will not meet the time travellers selves, this can be seen when the protagonist and the friends solve Quinn’s chemistry problem. Secondly, unlike Time Traveler’s Wife (2009), travelling to the past can change the future; yet in Time Traveler’s Wife the timeline is fixed, there is only one, single, timeline.

So, Project Almanac has a different time travelling concept. Let me list down the features:

  1. When the time travellers going to the past, they will change the future/present. And they can meet past self, which was not happened in the past of the time travellers. (like Back to the Future)
  2. When the time travellers going to the past again, they will not meet the time travellers selves. (unlike Back to the Future)
  3. But, if a time traveller goes to the past “again”, he will see other time travellers, but not meeting the time traveller self. (As in the case of David tries to change the conversation with Jessie.)
  4. After the time travellers make the changes at the past, when they are going back to the present, they have no memory for what is happened for the time from the back to present, yet there is “another self” doing something in between the past and present. And when they are coming back to the present, they are replacing this “another self”. (This can be seen after David makes the changes for the conversation with Jessie, and going back to his present.)

Interestingly, at the end of the movie, there are two identical cameras. This makes me immediately asked the first question, why? Because I never thought that David and the friends are using his father’s camera to record all the events. Therefore, the movie using the footage method is different from Cloverfield (2008), which is only one camera view. But, the footage at the end which shows that David and Christina found the two cameras must not be the same footage for all the time travelling events.

Okay. Now let me explain the movie in my own way so that it makes more sense, because there are somethings which do not really make sense. Firstly, let me name the David in the movie at the beginning until disappearing as David2. David2 discovered that himself appears in his 7-year-old birthday party. Let me name this “himself” as the David1. It is impossible that David1 and David2 are identical, just like the case past Quinn seeing present Quinn. David1 brings the key chain and wears the same cloth as David2 at going to the past at the end. And let me name David2’s past David at the end as David3. Hence, there are three Davids.

So, David1 go to David2’s time, to “fix something”. But it is impossible that David1 did the same thing as David2, else David2 will find the two cameras as David3. That means, David1 “fix[ed] something”, but different from David2, that is why no camera left. Consequently, David2 can find the time machine. Then, because of the time machine, David2 supposes have gone through everything similar to David1, that is why they dressed same and brought the key chain. But at the end, David2 destroyed the time machine, and left the camera to David3.

David3 at the end has a conversation with Jessie and he knows what Jessie wants to say. The only reason is that David3 already watched the video in the camera passed by David2.

So, this is an open ending. Whether David3 is going to do the same time travelling as David2 and left the camera to David4? I believe David3 will have a very different experience from David2 and David1, because he has the video that shows failure from David2. David2 failed because David1 doesn’t really “fix something”, unless David1 is purposely fixing the problem in order to produce David2. Then this will be more interesting.

Hence, the possible sequence is {1, 2, 3, …} or {1, 2, 1, 2, …}. Just enjoy the movie with your own imagination.

Arch Linux, Sabayon, Gentoo

Arch Linux

I am an Arch Linux user, and I tried Arch Linux since March 2011. So far, Arch Linux works fine in almost everything. However, sometimes there are some issues which I face.

  1. Upgrading some libraries especially glibc, may cause Java related software cannot work, because these Java packages is not updated yet. Besides that, library like “icu” also causes LibreOffice cannot work sometimes.
  2. Sometimes, the latest software with new file format may not be supported in other computers. Similarly, some latest features does not work on other computers. For instance, when using PHP, in the later version we can write a statement such “$item = myFunc()[0];” where myFunc() is a function returning an array, and I want to access the first element immediately. By uploading such PHP script to the web hosting, because of the older version of PHP on the web hosting server, this statement does not work. That is, the best is not the best.
  3. Bluetooth problem. This is quite a long term problem. Pairing with bluetooth device is not smooth. I cannot mount the ObexFTP on the Android phone. Yet, there was no problem at all during the early time when I just using Arch Linux. Furthermore, I never successfully receive the file sent by phone through the bluetooth. Thirdly, sending the file to the phone through the bluetooth does not work with “blueman”, but only with “gnome-bluetooth”.
  4. Missed upgrades. I have one netbook, which is installed with Arch Linux but seldom used. When I want to use it, this requires a “great” upgrade. Sometimes this requires some manual configurations. Besides that, sometimes I need to download more than 1G size of packages for the upgrade. Thus, I will copy the cached packages from the frequently used computer to this old laptop. However, since it is a great leap, some dependencies are missing. This can be solved by checking the dependencies with “testdb”. Yet, the process is not easy. Because I experienced once which the upgrade caused the OS unbootable, due to the changes of systemd.

However, there are some advantages that I like about Arch Linux, which make me reluctant to look for alternative.

  1. AUR and PKGBUILD. This allows me to make my own packages easily and share to AUR. Then using the pacman helper such as yaourt to install all the packages by resolving the dependencies on AUR. To simplify it, this AUR and PKGBUILD allows me to extend my custom packages easily, far more easier than Debian package manager.
  2. Again, package manager rules. To use a distro, we must learn to use the package manager. Learning other software is not learning Linux, but learning the software themselves. The beauty of pacman is the simplicity. The categories of the packages also as simple as “core”, “extra”, and “community”. Searching, installing, uninstalling, cleaning, listing installed packages, listing files owned, and so on, are easily be used through the pacman command.
  3. Rolling release. Because of this, I no need to upgrade and see a surprising yet useless feature.
  4. Latest software. This is a double-edged sword. Latest with the new and useful feature, which may not be supported everywhere.
  5. Wiki, comprehensive instructions to configure the system.

So, why don’t I try out other distros which may have these features and yet more stable (in the sense of non-latest software)? So, I firstly tried Sabayon.


I tried Sabayon, since it is based on Gentoo, another rolling release distro. Yet, Sabayon is different from Gentoo, because the package manager, Entropy, will download the pre-compiled packages; Gentoo requires to compile the packages (except the packages like firefox-bin and libreoffice-bin).

I tried Sabayon with VirtualBox. Installed, yet I failed to upgrade. This is because the virtual hard disk is not enough, and my actual harddisk free space is also not enough. Thus, I gave it up.

The installation is easy, as it is using the GUI installation. However, I always wondering, after installation, I still need to do a lot of customisations. There is no much different from minimal installation then customisation and GUI installation then a lot of customisation.


So, because of not enough disk space, I installed Gentoo on VirtualBox. The official handbook, I personally found that it is not very clear, especially emerge-webrsync and “emerge –sync”. Because of network connection interrupted, I cannot update the Gentoo. Then this caused a lot of troubles.

Besides that, since I am using Arch Linux, I did not know that Gentoo is using OpenRC instead of systemd. Thus, in the make.conf file, I added the systemd and try to install systemd as written in the official handbook. As a result, emerge produces dependency hell. And because I lack of knowledge about “emerge” usage, I did not know how to resolve all of these problems.

As a result, I tried again, re-install Gentoo, and learn more about emerge. Now I have successfully installed the desktop environment, Xfce4. There are more things to go, especially “overlay”. Because I have some software that I must use, which are not provided in the repositories.

Now, one disadvantage I found about Gentoo, is the compilation time of the packages. This is because compilation requires quite a lot of time and also high CPU usage. I wondering how much time I need if my laptop is not very powerful. Is it worth to compile these packages? Does these cached packages require more disk space than pre-compiled, or just similar? Or Sabayon may be more suitable for me, because no need compilation with Entropy?

Reasons to install and not to install Arch Linux


I am Arch Linux fan. Recently, I discovered a distro, Fuduntu, which stated that it is optimised for laptop and netbook use. This increases my interest due to battery draining problem for my old netbook. Though my old netbook was installed with Arch Linux using LXDE, the battery can only last for only 1 hour. That is why, I think I am going to switch to Fuduntu. However, after installation of Fuduntu, then I found some problems like missing the packages FreeFileSync and VisualBoyAdvance, and also failed to install Wine because of dependencies error. This made me regret to uninstall Arch Linux from my netbook, because installing Arch Linux is really exhaustive.

When I wanted to re-install Arch Linux to my netbook, to made it easy, I tried to install ArchBang. However, at the unsquashfs stage, there was something like kernel panic. Finally, I give up ArchBang and install in the proper way with Arch Linux.

I found that Fuduntu contains a package Jupiter Applet. So, I tried to install it in my netbook hopefully make the battery last longer.

I always think which distro is better. Now, I have some conclusions why I am Arch Linux supporter. The following are the reasons to install and not to install Arch Linux.

Reasons not to install Arch Linux

  • Your computer does not work.
  • You don’t like command-line, or you don’t have good typing skill, or you hate typing.
  • You have the problem with network connection. You don’t have wired network connection, and the wireless device is incompatible to the Arch Linux installation LiveCD, make you impossible to install Arch Linux.
  • You don’t know any or only know little about commands such as: cd, mount, pwd, ls, less, cat, nano, vi, …
  • You don’t want to spend any time to customize your OS.
  • You don’t want to waste your time to install.
  • You don’t want to waste your time learn to install.
  • You only want GUI installation.
  • You want something pleasant to see after installation, such as beautiful wallpaper, cute icons, awesome cursors, interesting boot splash, user friendly themes, attractive animation effects, etc.

Reasons to install Arch Linux

  • You don’t have any problems with the reasons above.
  • You want to use the latest packages as soon as they are released.
  • You want to try out a lot of packages, such as Ubuntu One, FreeFileSync, XnViewMP, …
  • You want to try out different DE (desktop environment) or WM (windows manager) with only one OS: Xfce4, GNOME3, KDE, LXDE, OpenBox, and may be other experimental DEs.
  • *You want to create your own packages easily from any source.
  • You want your computer OS has a lot of possibilities to do anything.
  • You want to learn more about Linux or computer.

Yes, create own packages (refers to *). I tried to create debian packages before. Comparing to makepkg and PKGBUILD, it is too troublesome. The beauty of Arch Linux is simplifying a lot of works. Not in the way that simplifies the works for the end users by complicating the works of the developers. It makes the developers’ work much more easy, to deploy the packages, no need spending too much time on the GUI, because most of the things are bash scripts. For the end users, what they need is to read the documents and follow some commands. Yet the commands are also simplified just like installing the packages with makepkg, installing the OS with pacstrap.

KOEI Romance of the Three Kingdoms and the real world

I like to play KOEI’s game, especially Romance of the Three Kingdoms (San Goku Shi). It is related to the real world management.

When playing the game, we need to first build a kingdom. Then, the player should found that, if the kingdom has only one character (officer), the kingdom can do nothing, because each character can do only one task (or limited tasks) for each month. Even the character has maximum status values: intelligence 100, war 100, politic 100, charisma 100, though the character is useful, the kingdom itself is useless. Thus, the player needs to recruit more officers to work for the kingdom.

For recruiting the officers, there is a problem. It is difficult to recruit good officer. Because some of the good officer is already work for other kingdom. Simply recruiting any officer also has a problem, especially there are some useless officers. Recruiting these useless officers does not help much in a small kingdom. This is because they cannot work for the kingdom, they cannot contribute anything. Yet, the kingdom need to pay for the officers every month.

To increase the income of a kingdom, the kingdom must have lands, then the officers need to develop the land for economic growth to earn money seasonally; or to develop the land for farming to increase the food supply for every year. Therefore, in order to make a kingdom strong, the kingdom must develop to get the income. Yet, the features of the land is also important, because some of the lands are not fertile. This is exactly same as the real world, that is why some of the country are rich of resources, yet the other not.

One of the feature of San Goku Shi I like is the compatibility value of each character. This is a hidden value, one can only see it with the character editor in Power-up Kit. The value range is from 0 to 149. When the two characters has the compatibility values which are close, they are easily to get together, and 0 is close to 149 as a cycle. So, Cao Cao is 25, Liu Bei is 75, and Sun Quan is 125. Their innate enemies are the value Yuan Shao (almost 100), Dong Zhuo (almost 0), and Liu Biao (almost 50). Therefore, a kingdom will always has a group of people which has similar compatibility value. This is exactly same as the real world, that is why people are normally divided into groups with the similar characteristic.

Therefore, a kingdom, not only needs the lands for the resource, good officers to work, and also the opportunities. They are important factors: 天(时)、地(利)、人(合).  With these factors, the player can build a strong kingdom.







Blog about Linux Mint

There is quite a long time that I do not submit any post. Today, I would like to talk about my experience of using Linux Mint.

Ubuntu, the number 1 open source OS (based on what I know from, I used it and I liked it. Because it has about 37000 precompiled packages (Wikipedia). Ubuntu is based on Debian, one of the major distribution just like Red Hat. Then, number 2 is Linux Mint. Linux Mint is based on Ubuntu. That means, from Debian to Ubuntu, from Ubuntu to Linux Mint. One might think that, the parent is better than the child, just like C is better than C++. But if you try to use C++, then you might like it as you like C.

Linux Mint is very similar to Ubuntu. The great differences are: 1) Linux Mint focuses on usability, and 2) it is community-driven. The ISO file is larger than Ubuntu, because it is not restricted to FLOSS. Therefore, the installation ISO file contains Sun Java and Adobe Flash (and others). After the installation, one needs not to download these packages. This is one of the feature I prefer more than Ubuntu.

The next thing I prefer more on Linux Mint is the GNOME panel (I personally prefer GNOME more than KDE). Linux Mint uses one panel at the bottom by default; yet Ubuntu uses two panels on top and bottom by default. Though they are customizable, I feel the design of Linux Mint is really better for me, because using two panels uses quite a lot of space for the applications’ window. Linux Mint panel’s main menu is similar to Windows’ start menu, which will be more familiar to the Windows users (like me).

The next thing I like, which both Linux Mint and Ubuntu have, is the Wubi (Windows-based Ubuntu Installer). However, Linux Mint called it Mint4Win. This is a really great feature. For example, since my computer has two partitions, one is Windows 7 and the other one is Recovery partition. I afraid installing Linux Mint or Ubuntu by creating more partitions will make an unrecoverable issue in future. Using Mint4Win, the partitions are remained. Yet one can still enjoy playing with Linux.

Besides that, one can also play with the LiveCD/DVD/USB with Linux Mint. But I found that Linux Mint does not provide syslinux as Ubuntu. So, I made the LiveUSB by my own. Though there is an error message during the boot as following:

vesamenu.c32: not a COM32R image

But one can continue booting by typing “live” then enter. This will run the command based on the syslinux.cfg file.

Try Linux Mint, and you might like it~