Tuesday, October 28, 2008

Counting Down on Intrepid Ibex


I just can't wait :-D

Monday, October 27, 2008

Extracting Similarity Between Two (Text) Files

When you need to compare difference between two files, you have diff.
When you need to find similarity between such files, as far as I know, you need to devise your own script.
This is my oneliner script for such need (assuming files to be compared named file-01 & file-02):

for ((i=1;i<=$(wc -l file-01|awk '{print $1}');i+=1)); do grep $(awk -v a=$i 'NR==a' file-01) file-02 ; done

Ugly, but working...

Monday, October 13, 2008

The Reason

If I know the answer of "Why",
I believe I'll better understand the question of "How"

I need to know why I want to be rich, before seeking the way to be richer
I need to know why I want to be free, before breaking anything that hold me back
I need to know why I want to be happy, before pursuing the happiness itself

But, is it wise to seek the reason of being right, while I am still pursuing the very question of what is truth?

Tuesday, February 05, 2008

Reverse Proxy with Apache

Sometimes, when we need to configure network devices within LAN (via http), we need to do it on site due to private addressing. While making the devices directly accessible from the Internet is a big no-no, there is another way to connect remotely and securely: Reverse HTTP Proxy (with Apache).

Apache has proxy-related modules to enable this operation. To get it working, you need to enable this modules:
- proxy
- proxy_http

Using Ubuntu 7.10, this modules can be loaded simply by typing:

sudo a2enmod proxy
sudo a2enmod proxy_http
sudo /etc/init.d/apache2 restart

To forward any http request to your internal address, you need to add the destination url into your virtual host configuration, i.e:

sudo nano /etc/apache2/sites-available/yourvirtualhostconfig

then add this line:

ProxyPass /your-public-url/ http://your-private-address

enable your site by typing:

sudo a2ensite yourvirtualhostconfig
sudo /etc/init.d/apache2/restart

By default, in Ubuntu 7.10 all proxy access are denied. Therefore, you
need to white list your address into the proxy.conf file

sudo nano /etc/apache2/mods-available/proxy.conf

change the config to allow your source address i.e:

<Proxy *>
AddDefaultCharset off
Order deny,allow
Deny from all
Allow from 203.153.240.197
</Proxy>

Then reload the configurations

sudo a2enmod proxy
sudo /etc/init.d/apache2 restart

That's it folks. Enjoy working on your devices remotely, securely.
(It is not so secure as the traffic is not encrypted. What I mean by
secure, is that I can hide the private address from any port scan.
Therefore, what is deemed secure by me, is not necessarily secure by
your definition. This is MY blog, so no complain!!!)