10 Steps to Install Redis in Windows


Redis does not officially support Windows, but there are multiple ways to get you started in working with this great product. The redis.io website talks about cloning the source from the Microsoft Open Technologies Github site and building it yourself.

In the next section, I’ll show you in 10 steps how to have a working Redis installation.

Redis is an open source (BSD licensed), in-memory data structure store, used as database, cache and message broker. It supports data structures such as strings, hashes, lists, sets,sorted sets with range queries, bitmaps, hyperloglogs and geospatial indexes with radius queries. Redis has built-in replication, Lua scripting, LRU eviction, transactions and different levels of on-disk persistence, and provides high availability via Redis Sentinel and automatic partitioning with Redis Cluster

Reference: http://redis.io

These recommendations are for development purposes only.  There are tons of information for deploying Redis in production.


  1. Windows OS (Can be Server or Desktop – I’ve tried this using Windows 10)
  2. Visual Studio (I’ve tried this using Visual Studio 2015)
  3. A bit of knowledge on Nuget


  1. Open up Visual Studio
  2. Create a Console Application (or any project which will allow you to install a Nuget package)
  3. Once your solution has fully loaded, click on the Tools menu, drill in to the Nuget Package Manager and click on the Package Manager Console.
  4. Inside the Package Manager Console, type the command Install-Package Redis-64 in the PM> prompt and hit the Enter key.
  5. Once the installation is complete, right-click on your Solution and click on the Open Folder in File Explorer.
  6. Inside the file explorer you will see the packages folder. Drill in until you see the tools folder.
  7. Copy the tools folder and paste it to the top most folder of your system drive. If you have more than one drive or volume, use the additional volume instead.
  8. Rename the tools folder to redis.
  9. Drill in the redis folder you just renamed to and you will see all of the binaries you will need to start redis.
  10. Install redis-server as a service. The instructions are in the Windows Service Documentation Word document.

RIP Ian Murdock #Debian Founder

Today is a sad day not only for the Open Source Community but for the whole humanity as well. Ian Murdock is the founder of Debian, the greatest Linux distribution ever.

I still recall the very first time I slide in my Debian Hamm cd  to install Linux back in the late 90’s. Dpkg was the package manager back then and I remember struggling with it.

From that point on, my view of the operating system has changed and my Linux education started.

Python virtualenv

During my first few weeks of learning Python, I ran into the concept of virtualenv which most experts school of thought suggest is the best way of developing with Python.

Virtualenv provides you with a sandbox which keeps your global Python installation pristine. The step is real simple. You just need to have virtualenv installed in your system and you’re good to go.

This command will create a venv directory in your current path. Inside you will find 3 sub-directories: bin, include and lib. The bin folder will have your Python executable.

The first thing you have to do is to activate that executable. You can do this in 2 ways:

If you wanted to use Python 3 instead, you can use the –python option and supply with the Python3 value or you can provide the actual Python3 executable, depending on the version which you have:

That’s all she wrote.

Git, big boss.

When I was starting my career in web development, the source code control we were using was Visual Source Safe. Partly because it was the easiest to use that we could find.

Shortly after finding out the limitations of Visual Source Safe, we switched to Visual SVN. The developers were happy making the switch. We were happy campers like the minions but something was still missing.

That’s when TFS took our attention. Our team was growing and so was the cost of licensing our developers with SVN. I was also learning new developers we bring on board are not keen with SVN but guess what? TFS.

So we were happy again, but something was still missing. We got caught up with the creating branches crossroad with TFS. It was more painful than standing on one leg and watching the Chicago Bears loose against the Packers.

Then Gru came along. And with that I meant Git. We found Big Boss!

Git just felt so natural for everyone in our team. We were using it like there’s no tomorrow. We have our senior developers playing the role of masters committing those critical changes to the master branch.

Creating branches was so fast developers were committing to them before the ink dry. Merging changes were also trivial. The features I love the most are cherry picking and switching branches.

In the production servers, our team moved away from creating backup files for rolling back. Staging changes before applying to production paved the way for stable environments.

I think development shops should have a solid source code control management process. Git should be part of the tools you should be evaluating if you don’t have one yet.

In the next post, I’ll share with you some best practices we use in-house to avoid some of the pitfalls of using Git.

If you made it this far, I’d like to share with you the .gitconfig we use heavily in our shop to improve productivity.

Here’s what I love the most:

This code compares the current branch log with the remote origin master branch. Great for comparing differences in the commits.

Enjoy. Hit me up with your comments.

Dig now Curl

You’re a developer yeah or an engineer maybe?  If you answer yes to any of this, you’ve probably used dig or it’s web equivalent Digwebinterface.com.  And if you are into examining HTTP headers, you’ve probably used curl as well.

Wouldn’t it be nice if there’s also a web interface to help you examine headers of your web applications? Let me be the first to tell you that there’s a new site called curlwebinterface.com which actually allows you to do that.

I hope you find this tidbit of information helpful. Enjoy.

Nginx.conf reverse proxy sample configuration

Here’s an example of the nginx configuration I normally use. It includes HTTP headers which are pretty helpful when deploying web servers.

Get Docker and WordPress up in minutes

So almost everyone I know of is working on getting their solution onto Docker. I will not be talking about Docker in here today; there are tons of blogs and published content around that subject.

What I will be talking about is how to fire-up a WordPress website in minutes using Docker.


  1. You will need a linux server – I use nothing but Ubuntu 14.04 LTS
  2. You will need to have docker-compose installed in your system. If you don’t have it, you can install it using pip:
  3. You will need to have a docker-compose file. I’ve included mine in here for your reference:
    image: wordpress
    container_name: wordpress
    hostname: wordpress
    - mysql:mysql
    - "8080:80"
    image: mariadb
    MYSQL_ROOT_PASSWORD: a_sophisticated_password_here
    image: nginx
    container_name: nginx
    hostname: nginx
    - ./nginx:/etc/nginx
    - "80:80"
    - wordpress:wordpress
  4. If you notice, in my nginx section I’ve added a volumes line. What this does is I’m telling the container to map my nginx directory relative to the current path in the host to the container’s /etc/nginx directory. What my nginx directory contains is just the default files/directories of the nginx image. I just copied them to the host so I can modify it directly. You don’t really have to do this it’s just my preference.
  5. You should modify your nginx configuration related to your new wordpress website.
  6. Once you have everything setup, just run the following command:
    $ docker-compose up
  7. This will start up the process of pulling all of the images you have defined in your docker configuration file. Once all images are up, the containers will be started.
  8. Once you validated that everything is working, it’s time to start the docker containers in the background. Exit your current session by hitting Ctrl-C.
  9. Start docker-compose again in background mode:
    $ docker-compose up -d
  10. And that’s all she wrote.

I hope you learn something from this and try spinning some docker images on your own. My recommendation, try to spin up a MediaWiki website.

Hit me up with your comments.

Hello you!

Hello and welcome. I have started writing again. I will be sharing whatever I think is useful for humanity – to be read as developers. I have started putting my thoughts on paper/wiki and I thought why not start writing again.

So here we are.

Posting from my Blackberry

This is just a sample post using email to post to blogger.

Important News:

Visual Studio.net 2008 RTM has been released
MVC Framework for ASP.net to be released next week according to Scott G.
LINQ (Language Query Language) has been released as part of .Net Framework 3.5

Sent via BlackBerry from T-Mobile