Digitalization - What is it?
· β˜• 3 min read · πŸ€– Naresh Mehta

Before I start writing on Digitization/Digitalization, maybe we should spend a little time in exploring the alternative “Analogization”! Now I have made up that word and probably the more appropriate word might be “Materialization”[1][2] but comparing the past/existing with the upcoming/future will give a perspective and provide a context for my thoughts.

As human beings, we have been generating information right from the start of our existence and materializing it as physical objects. These physical objects were hard to manage, cross-reference, study & derive from. With the new age technologies, we are now at a stage where we can convert all the physical form of materializing information into digital bits & bytes that can be read, stored, coded and decoded by computers (Digitization).


Compile Gargoyle for Netgear R6220
· β˜• 3 min read · πŸ€– Naresh Mehta

Netgear R6220 router an AC1200 dual-band router with very impressive specs. It was awarded the best router in 2016 and now in 2019, I still think it is a very good router. It has a 2 core Mediatek MT7621 (MIPS) processor with 128 MB RAM & 128 MB ROM i.e. ample space with some good processing power. Below you can see the impressive specs. BTW: I got this for almost 15 USD which was a steal!


Compile Gargoyle for Netgear R6220
· β˜• 3 min read · πŸ€– Naresh Mehta

I recently got a Netgear R6220 router, an AC1200 dual-band router with very impressive specs. It was awarded the best router in 2016 and now in 2019, I still think it is a very good router. It has a 2 core Mediatek MT7621 (MIPS) processor with 128 MB RAM & 128 MB ROM i.e. ample space with some good processing power. Below you can see the impressive specs. BTW: I got this for almost 15 USD which was a steal!


To Docker or to Vagrant
· β˜• 2 min read · πŸ€– Naresh Mehta

To Docker or to Vagrant, an eternal struggle for a dev-ops / smart people (like me!) who wants to automate stuff is a big life and death question! No seriously, I mean there are just 2 camps of people, one is hardcore docker supporters who want docker everywhere (without realizing that docker is not a full virtualization solution but uses Linux kernel’s namespaces and cgroups functionality. So what does it mean? Well for starters, anything that requires mounting operations inside the docker container, for instance, requires special privilegedΒ access and these have the possibility to change your actual host filesystem (eg: mounting filesystems inside the container will mount it indirectly on your host as well and rest is history. It is not just mount operations, simple things like socket access, changes to locale or local-gen will not work inside docker containers without passing special access privilege flags while running the docker container.


Update Anaconda Navigator
· β˜• 3 min read · πŸ€– Naresh Mehta

Everybody using Python would nowadays be using Anaconda instead of just plain old python installed. And if you aren’t, my recommendation is to use it. Why may you ask? Because with python comes a lot of packages and each such package comes with a host load of dependenciesΒ and it is difficult & time-consuming to resolve those dependencies manually. Also, anaconda allows one to create multiple environments (basically environment containers for package isolation). So let’s say you need package1 for some type of work and package2 for some other type of work. But package2 inherently depends on a different version of package1. Now if you have the same environment, you will have conflicts but creating different isolated environment containers helps the use case.


Remote control your Linux Workstation (Efficiently)
· β˜• 4 min read · πŸ€– Naresh Mehta

There are many different solutions to remote control your Linux workstation but most of them are not effective. For example, one can always ssh into the workstation and forward X. Well, this kind of works but has several drawbacks; the major one being that all the processes you started with your ssh session will be killed when you loose your SSH session. I call nohup, screen, etc. as bypass methods because they essentially try to give you a workaround solution instead of actually solving it. And if you are like me who keeps logging in and out and starting/stopping scripts, I am pretty sure you will forget to use those just like me and login after a good night sleep to find out that your compile script got terminated because you forgot to screen it! Also, SSH with X forwarding typically needs an X-Server on your host machine and can be a PIA to setup if you are on Windows. Yes, yes, we can all use MobaXTerm but hey, believe me, X-server is heavy in terms of resource usage on Windows. Also automatic file changes are not detected with that solution.


Tensorflow mnist_deep.py OOM error when running on GPU!
· β˜• 3 min read · πŸ€– Naresh Mehta

I know you are interested in #MachineLearning and your first instinct is to use #TensorFlow (of course since it is backed by #Google) and you will probably find a lot of support with queries. The best part is that the available #Docker container will help you experiment and it simply runs out of the box. Look at my article on getting started with Tensorflow. Soon you will get bored by the amazingly slow executing speeds on CPU and will be thirsty to run it on your GPU because:


Automate Your Twitter with a BOT!
· β˜• 3 min read · πŸ€– Naresh Mehta

We all have Twitter accounts and we all tweet stuff. But sometimes, we all suffer from information overload. And we all need to get more followers right? So one of the things we can do is automate Twitter posts using a tweet bot. I am using nodejsΒ as my framework (simply because it works for webapps pretty good). You can search on the web to understand how to install nodejs and npm. Use the latest version and it should work fine. I am also using a Twitter API client for nodejs known as Twit. Twit is a very simple library that wraps all the twitter APIs in easy to use function calls. The code is pretty straight forward as can be seen below.