Some strange thoughts

Just about anything

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

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.