Talk: Unix Chat program
Tuesday, February 19, 2013


Chat and communication is an interesting topic, and a challenging problem back in the 80s when computers first entered the consumer market.

There wasn't such thing as inter-system operability. In short, if you were using a Mac, there is no way you can talk to another person on Windows. (since the internet/email wasn't really there yet) Alright this is a bad example, let me write a short summary of what it's like back then.

You have something called a mainframe, or workstation. Computers are really expensive then, so multiple users would share 1 computer. (imagine multiple users logged into your computer and using it at the same time, but not directly affecting each other) Each user has a screen that connects to the computer, and they could execute commands to it. Of course, the computation powered is shared among the number of users. And the wonderful Operating System is called Unix. 
(Windows/Mac OS are created afterwards for user-friendliness)

During the era that doesn't have internet, how would you chat with another user on the same computer?
Introducing, Talk.
(such a creative name)

Read more »

Labels: , , , , , , ,


Geek: SSH Tunneling fun
Wednesday, January 30, 2013

I have a home VPN set up at home. Which is obviously the elegant, and secure way of connecting to my home network.

I'm pretty sure I mentioned about SSH tunneling sometime ago, how it's considered as a "poor man's VPN". What it does is simply create an SSH connection, then tell my computer "Hey, here's a secure connection, please throw whatever packets you have at it."

The end result is something similar to a SOCKS5 proxy, which is technically what it is.

What I experimented today in school is doing VNC over SSH, which technically isn't very difficult if you're on Linux, but it's a little more hairy on Windows. Thankfully there are already tons of guides out there so it really isn't that hard.

However, as it's still under the advanced section, I shall draw a diagram, to help myself understand.


The BLUE refers to my SSH connection to 1 of my routers. Here, I could have set up a tunnel that I could push my web traffic through. (a single port)
The GREEN is the interesting part. I am using the blue connection to tell the router, "Hey, I need to talk to that computer at home, set up a link between a port on my home computer, and a port on my laptop." (but the router doesn't know it's doing that)
The ORANGE refers to the actual path of the traffic.

I would point to the defined port on my locahost, and it will be redirected to my computer at home as it is "linked". However, my green connection is still encapsulated within my blue connection. So it's kind of like a tunnel within a tunnel.

And with that, I would've finish setting up a VNC connection to my home computer through a SSH tunnel. I tried it with FTP but I screwed something up and kept getting request time-outs. I'll fix it tomorrow though.

Yes, there is a practical application. I did a test run on my FYP project using this link in school. The end.

Labels: , , , , , ,


Geek rant: Network level up!
Sunday, December 16, 2012



After 2~3 days of continuous tinkering with my network and computer. I have final-fuckingly create a setup where I can access anything from the internet. Here are the services that I've set up for myself.


  1. Music streaming server
  2. (S)FTP File server
  3. HTTP File server
  4. SSH tunneling
  5. Home VPN


That's pretty much all the connectivity that I need for the moment. There is still VM streaming through browser and other more technical things that I haven't quite figure out yet. If you remember me being frustrated about my home network, I've fixed that as well, I can finally pass through all traffic to and from the internet without any problems.

So, all those services, what are they and what can I do with it?

Read more »

Labels: , , , , , ,