Monday, January 15, 2018

Creating Bootable USB OS Installer

This is an old stuff but I decided to write this as this is one of indispensable  utility for me for a long time.
It allows you to have multiple OS installer in an USB flashdisk. Although you can have several Android and Linux installer in one flashdisk, it only allowed 1 version of Windows.
The official site:

Watch out with the language, since this app is originally French, but overall is very good.

For easier method of install (Ubuntu derived / PPA) you can use:
$ sudo apt-add-repository 'deb all main' 
$ wget -q -O - | sudo apt-key add - 
$ sudo apt-get update
$ sudo apt-get install multisystem


Compressing PDF File using (ghost)script

Dealing with Big PDF File can be pain in the a** especially when using slow internet connection or limited space on server.
Thus I've come across script on make things easier. Here's the script:
$ ghostscript -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook -dNOPAUSE -dQUIET -dBATCH -sOutputFile=output.pdf input.pdf

You can get more explanation at:

You might also want to check on pdftk and pdfchain on extracting and combining pdf

Wednesday, April 22, 2015

Access Microsoft Onedrive in Linux

Onedrive is a personal cloud storage from Microsoft (similar to Google Drive or Dropbox). It gave you fair amount of space to put your (un)important stuff on-line and have your mobile device access it later on.
Based on these instructions I'm able to connect to Microsoft Onedrive from Linux Mint 17 using onedrive-d . I use them with slight modifications as follow,
  1. The first step to installing onedrive-d is to open a terminal window and clone the source code from git using the following command:
    git clone
  2. If you don’t have “git” installed, you can install it with the command:
    sudo apt-get install git
  3. Now change directory into the onedrive-d folder:
    cd onedrive-d
  4. Run the installation script:
    sudo ./
  5. After installation you should run:
    sudo onedrive-pref
  6. Answer with default values. In the end you have ~/OneDrive folder (at your home folder)
  7. To activate run:
    sudo onedrive-d start
Now you can access Onedrive as your local folder

Wednesday, April 1, 2015

A Reason to Move

Not Into Linux Yet? Gaming hold you back? Here's a reason to move to Linux,

Humble Indie Bundle 14
The Humble Indie Bundle is back with 7 cross-platform games available DRM-free and on Steam!

Oh, did I tell you before for other reasons? Here's a few other:
  • The OS is free
  • Relatively secure, virus-free compared to W*****s. You can read this for reference
  • You're tired of hard disk defrags,  antivirus updates, wait (ages) while OS updates, always need restarting for stabilty
  • Came with essential apps (internet, office), free
  • Games are staying strong (,,
  • Hunger for new challenges or fulfilling any curiosity on computing
  • or any of you can add more to the list?

Change of Name

Changed my blog name to reflect more of the content. I don't play that much though, but still am.

Wednesday, March 25, 2015

Internet Connection Sharing on Linux Mint 17.1

I've read,  tried and failed several times on this. At first I thought it might be a snap using howtos tutorials scatter around internet. But it turn out to be no general solution to this. The keywords are gateway, ip masquarade, and off course, Internet Connection Sharing on Linux.

Here's a working solution that works using Linux Mint 17.1 and these configuration/setup
  1. You have cable/ADSL internet connection that need to be shared to a closed network at home/office.  
  2. A small server with 2 network cards, one connected to the cable/ADSL router/modem and one to the home/office network
  3. Have a working connection from server that you can connect to router/modem in one connection and internal network for another (you can use ping to their addresses respectively)  
  4. Here's my sample of ifconfig result from the server:

    eth0      Link encap:Ethernet  HWaddr xx:xx:e3:2f:dc:87 
              inet addr:  Bcast:  Mask:
              inet6 addr: fe80::dafe:e3ff:fe2f:dc87/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:28325 errors:0 dropped:12 overruns:0 frame:0
              TX packets:17926 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:24606975 (24.6 MB)  TX bytes:2362173 (2.3 MB)

    eth1      Link encap:Ethernet  HWaddr xx:xx:a6:ee:88:66 
              inet addr:  Bcast:  Mask:
              inet6 addr: fe80::5604:a6ff:feee:8866/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:131 errors:0 dropped:0 overruns:0 carrier:1
              collisions:0 txqueuelen:1000
              RX bytes:0 (0.0 B)  TX bytes:23258 (23.2 KB)

    lo        Link encap:Local Loopback 
              inet addr:  Mask:
              inet6 addr: ::1/128 Scope:Host
              UP LOOPBACK RUNNING  MTU:65536  Metric:1
              RX packets:1331 errors:0 dropped:0 overruns:0 frame:0
              TX packets:1331 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0
              RX bytes:123928 (123.9 KB)  TX bytes:123928 (123.9 KB)

    eth0 is for internet connection and eth1 for intranet connection 
  5. Tested using Mint 17.1 MATE-64 as server and Mint 17.1 Cinnamon-64 as client
OK, for short here's how to set it
On the server
  1. Create a script as adminitrator called ishare

    $ sudo vi /usr/local/bin/ishare

    The WAN interface (eth0) can be replaced according to your network interface (should be the one connected to the internet)

    ## Internet connection sharing script
    sysctl -w net.ipv4.ip_forward=1
    sysctl -p
    iptables -X
    iptables -F
    iptables -t nat -X
    iptables -t nat -F
    iptables -I INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
    iptables -I FORWARD  -m state --state RELATED,ESTABLISHED -j ACCEPT
    iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE

  2. Save the above script to /usr/local/bin/ishare, and then change the executable bit by the following command.

    $ sudo chmod +x /usr/local/bin/ishare

  3. If you want the script executed every startup, you can register the script to /etc/rc.local.
    Open /etc/rc.local, before statement "exit 0", add the following line:


    Had a few notes on etc/sysctl.conf , whether to set the net.ipv4.ip_forward=1
    manually or the script will handle it. I'll update it after I retest it (I'm also planning on test it on Zentyal server).
For  the client you have to connect to internal network using the same segment and set the ip manually within the ip range
e.g in my case, this is the setup

gateway: #using servers internal ip address
dns: #using google dns
Be sure to check the original reference if you stumbled upon troubles. Also, I haven't include any advanced rules on firewall settings to it so be advised.


Friday, February 6, 2015

Skip It to 2015

Oh well, many things happenned while I'm recovering from my retinal damage in 2012 and my life; that I'll skip writing those and summarize what happened in between. 

Alright here we go:
  • Steam already in Linux after my last post, also created Linux Debian based OS: SteamOS. 
  • Many game sites are selling Linux titles, Notably Steam, Humble Bundle and GOG
  • Windows AAA Games (read: expensive and with DRM) already reached Linux by game sites; Indies even more. 
  • Steam Machines (SteamOS based 'console') also emerging
  • I'm using a used PC from my former office with Intel Core 3GHz with added Nvidia 430GT for gaming.
  • Still using Linux Mint (Now is version 17 LTS based) and Windows 7 (yes, I admit it, since I got it bundled with my used PC)
  • Leaving almost all paid software, thanks to Linux Mint and PortableApps
  • Using Android based mobile phone (RIP PalmOS)
  • Even speedier internet connection (creating some internet addiction to cope with :( )
  • Huge library of discounted and free games mainly from Steam, GOG and Humble Bundle
  • acquiring for 'web presence' or simply experimenting

Boy, that's a lot :)