Using TUN/TAP in go or how to write VPN

For some reason I needed to write my own VPN… I choosed golang and most of coding was done in 3 hours, next 3 hours was adding some features. But now I want to show how easy is to write some “vpn” (example is unencrypted tunnel, not realy vpn) in go for linux. P.S.: if you want to see final result of my 6+ hours of work (decentralized, encrypted and so on), please visit github.com/kanocz/lcvpn.

Changing tab switch shortcuts in LiteIDE

If you’re using LiteIde for golang development you may see that shortcuts for tab change (Ctrl+Tab and Ctrl+Shift+Tab) can’t be changed via settings. For somebody (like me) it’s a big usability problem – I have Ctrl+PgUp and Ctrl+PgDown in all other applications. But small change of code and recompilation helps as allways :) --- a/liteidex/src/liteapp/editormanager.cpp +++ b/liteidex/src/liteapp/editormanager.cpp @@ -270,9 +270,9 @@ bool EditorManager::eventFilter(QObject *target, QEvent *event) if (event->type() == QEvent::KeyPress)

C vs php vs hhvm vs go simple benchmark

Last time i do many thing starting from small utilities and up to big projects in golang. And many friends ask me why… first time i just said that golang is simple and cool :) But now i decided to do simple benchmark to show why… So, used interpreters/compilers: PHP: $ php --version PHP 5.6.4-4ubuntu6 (cli) (built: Apr 17 2015 15:47:51) Copyright (c) 1997-2014 The PHP Group Zend Engine v2.6.0, Copyright (c) 1998-2014 Zend Technologies with Zend OPcache v7.0.4-dev, Copyright (c) 1999-2014, by Zend Technologies HHVM: $ hhvm --version HipHop VM 3.7.2 (rel) Compiler: tags/HHVM-3.7.2-0-gfc9f29b2799933d8215faaadfa83de722df64e26 Repo schema: 34f16546e395aed44ad434467b6f96c89b0d8a8b C: $ gcc --version gcc (Ubuntu 4.9.2-10ubuntu13) 4.9.2 Copyright (C) 2014 Free Software Foundation, Inc.