Category: Software Development

  • Php’s performance improvements — HHVM, JIT, and ‘Hack’

    Facebook deprecated HipHop for PHP, a PHP to C++ translator (trans-compiler) which they had been using since Feb 2010 in favour of HipHop Virtual Machine (HHVM), in 2013. HHVM is a PHP interpreter that uses just-in-time(JIT) compilation techniques. Or to put it another way, HHVM is a virtual machine that compiles PHP bytecode to native instructions at runtime. HHVM now…

  • Native Vs Hybrid Mobile Apps

    I was recently checking how the Hybrid App frameworks compare to Native iOS or Android Apps.  Here are my observations on few Phonegap Apps that I tried on my phone: The size of Phonegap Apps is big: an app that should have been less than 10MB has a 40-50MB installer. The Apps take longer to…

  • github is not git

    Git is a free and open source distributed version control system that can handle small to very large projects. It’s mostly used to keep the history of your source code. Github is a company that provides an online git hosting service, used by some projects to keep their source code. There are several companies like…

  • Navigating large codebases and contributing to Open Source

    (I wrote the following as an email to a someone who asked me for advice. So it’s verbose and written with a personal tone.) I. Setup your system and build the project code Pick any good Integrated Development Environment (IDE). I like VS Code. You can work on any langauge in VSCode be it C++,…

  • Python for beginners

    Learning Python took me about a month, and I’ve several years of C++ programming experience. I would consider that much time ok for experienced programmers. For beginners though, learning new programming languages (in a useful manner) is not usually as casual as many people would tend to suggest on the internet. Computer systems need a…

  • “Language X for Y developer” tutorials are useless

    The idea of the polyglot/full-stack developer is pushing all the web developers to continually learn new languages and you might come across a few tutorials on the lines of ‘Python for C++ programmers’ or ‘Go for Java developers’. I don’t think these tutorials are the best way to pick a new language. The premise of…