With so many sites measuring programming language popularity, here’s the coolness, not popularity ranking of languages ranking by me. This is my PERSONAL opinion.
1. Ruby – need I say more? 😉
2. Objective-C
3. Go
4. C, not C++
5. Coffeescript – yes, I said it, ok?
6. Haskell
7. R
8. Swift
If you ever had the misfortune of working with a disassembler or a decompiler such as IDA, then you’d know that it can be painful. If this is the case, then take a look at Hopper. It’s for Mac and Linux, but more for Mac than anything else. The price is $89 for personal use and you don’t have to shell out crazy $$$ like, well, you know.
This creates a tunnel that binds remote TCP port 8088 to local TCP port 3000.
-R flag is for remote binding which tell the remote server to send TCP traffic on port 8088 to my machine. This is basically reverse of -L which binds the local machine’s port to remote.
8088: specifies the port on remote server. Therefore, following command on remote server will give a result assuming that I’m running a Rails app on port 3000.
remote_server$ curl localhost:8088
localhost is the host, obviously my local machine where the traffic will bind to.
:3000 is the local port you want to bind the traffic to.
-N tells ssh to not execute a remote command. Should always use this if we’re just tunneling.
& makes it run in background.
install socat if not installed on remote server
This is the definition from socat.
Socat is a command line based utility that establishes two bidirectional byte streams and transfers data
between them
For Ubuntu, remote_server$ sudo apt-get install socat will do.
run socat to relay public traffic
On remote server, expose a public port and then route the traffic to local port that’s bound to my local machine.