Author Archives: Abdul Qabiz

Docker Global Mentor Week 2016 – Kanpur

Docker Mentor Week 2016 - Kanpur

I have not been blogging quite often but you must have guessed from my posts that I love Docker. It’s beautiful piece of technology which comes with a lot of great tooling for developers, devops and infrastructure administrators.

I am Docker Kanpur Meetup Group organiser. We are organising Docker Global Mentor Week in Kanpur on November 18, 2016.

If you are from Kanpur or around (Lucknow, Unnao, etc.), please do join the meetup group, and participate in this and future events. It’s lot of learning, and fun to be at meetups.

For your convenience, I am embedding event information below even though it’s available on meetup page. RSVP is must, and we only have space for 20 people. Please confirm it on meetup page.

I look forward to meeting you at the event. Let’s make it fun and successful.


Join us for our Kanpur edition of the Docker Global Mentor Week!

Docker Global Mentor Week is your opportunity to #learndocker. Right now, Docker is working on self paced online labs that will be available through LearnDot. One lab will be for beginners and one lab will be for intermediate users. Docker mentors will be on hand at this event to help you as you work through the self paced materials.

Are you an advanced user? We strongly encourage Docker users of all skill levels to attend! We need a network of mentors who understand the Docker platform to answer any questions that newcomers may have. Click here to sign up as a mentor.

Agenda: November 18, 2016

  • 16:00 – Doors Open
  • 16:15 – Welcome message, presentation of Docker & snacks
  • 16:30 to 18:30 – Select and work through self-paced lab
  • 18:30 – Socializing

As we get closer to the event, we will share more information including materials on how to prepare for the training.

Pre-Event Set-up

At the training, you will need to bring your own computer. Before you go to a mentoring event, there are some steps you should do some preparation to get your work environment ready. This will help get ready for the tutorial, and also save on bandwidth at the event venue. Here are the steps:

Set-up Docker on your machine

For Linux users, we need you to install Docker engine and Docker compose. Make sure you have Docker compose version 1.6 or higher by running docker-compose version from the command prompt.

For Mac users, install Docker for Mac or if you have an older Mac, Docker Toolbox.

For Windows users, if you have Windows 10 pro install Docker for Windows, otherwise install Docker Toolbox.

If you are a Docker for Windows user and want to try the new Windows containers, you need to have fully updated your machine. To prepare to use Windows containers,

Go through the setup steps in the Windows Container lab.

In Powershell run
docker pull microsoft/windowsservercore:latest
This will take awhile, but it is essential you do this before going to the venue. The Windows base image is a 3 gig download.

If you’re new to Docker, pre-pull the docker images for the very basic tutorial
  • docker pull hello-world
  • docker pull alpine
  • docker pull seqvence/static-site
To run the application and participate in the rest of the training, pre-pull these images
  • docker pull microsoft/dotnet:1.0.0-preview1
  • docker pull node:5.11.0-slim
  • docker pull python:2.7-alpine
  • docker pull redis:alpine
  • docker pull postgres:9.4
For the orchestration part, you will want to pre-build the demo app by running the following steps
  • git clone git://github.com/jpetazzo/orchestration-workshop
  • cd orchestration-workshop/dockercoins
  • docker-compose build

Venue:

Allies Interactive
18/179, 3rd Floor
Above Karur Vyasya Bank,
Next to Hotel Geet or Akashdeep,
The Mall (Phoobagh), Kanpur-01
Phone: +91 512 2351352

Docker PaaS and Resources

I found about this public Trello board which offers curated list of Docker PaaS systems (public, private), deployment tools, and many other related resources.

During last couple of years, I have tried most of Docker PaaS (private self-hosted) for development and some production load (microservices).

I have enjoyed using following, and continue to use them for various things (development, production):

I hope to share my experiences, and examples (projects, services — running in production) soon.

Docker Awesome

I love these *-awesome projects on Github.

The Docker Awesome is all about Docker and it’s ecosystem. Hundreds of curated links help you understand Docker, and it’s fast growing ecosystem.

If you think something is missing there, go ahead and add to README.md or send a PR to github.com/veggiemonk/awesome-docker/

BTW! There is another awesome project which curates links of all other awesome projects: https://github.com/sindresorhus/awesome :-)

Docker: Second Birthday

Docker is one of the hottest technologies; I started with it’s first release not too long back, however, in Docker world it feels like Docker has been around for a long time.

What a paradigm shift we have witnessed: a few technologies get that kind of attention, momentum, growth, and community in such a short time (24 months).

Today, we use Docker to develop, test, ship, integrate, deploy, and run apps/services. Docker has solved developer (devops) usability problems; it’s hard to go back and do things without Docker.

Haven’t heard of Docker, or didn’t find time to try it out? Start with following links.

What’s new with Docker? Look at following links:

  • Docker Compose (docker-compose, formerly known as fig)

    Compose is a tool for defining and running complex applications with Docker. With Compose, you define a multi-container application in a single file, then spin your application up in a single command which does everything that needs to be done to get it running.

  • Docker Machine (docker-machine)

    Machine makes it really easy to create Docker hosts on your computer, on cloud providers and inside your own datacenter. It creates servers, installs Docker on them, then configures the Docker client to talk to them.

  • Docker Swarm (swarm)

    Docker Swarm is native clustering for Docker. It turns a pool of Docker hosts into a single, virtual host.Swarm serves the standard Docker API, so any tool which already communicates with a Docker daemon can use Swarm to transparently scale to multiple hosts: Dokku, Compose, Krane, Flynn, Deis, DockerUI, Shipyard, Drone, Jenkins… and, of course, the Docker client itself.

ICT Simulation App

During my time (2003-2004) at Tata Interactive, I built ICT design and cost simulation tool (in Adobe Flash) for BECTA.

Though the original website has been decommissioned, however, I found the app (SWF) on web.archive.org.

I converted this Flash app (SWF) to HTML5 using Google’s Swiffy, and the output looks good (except the file size is large due to embedded images).

The original app can be seen below (requires Adobe Flash Player):

Get Adobe Flash Player.!– [if !IE]>–>

Docker: Automatically Restarting Containers

As a Docker beginner, I always wondered, how to automatically restart container os or system boot?

Thankfully, Docker 1.2 introduced restart policies (which makes sure even linked containers are started in expected order).  The --restart=always flag/value can be passed to ensure automatic restart of containers.

docker run --restart=always redis

Read more about Docker Restart Policies, or other methods.

Github: Forking and Contributing Workflow

I stick to following workflow while contributing to open-source projects on Github:

  1. Fork <user>/<repo> to abdul/<repo>
  2. git clone [email protected]:abdul/<repo>.git
  3. git remote add upstream [email protected]:<user>/<repo>.git
  4. git checkout -b <topic_branch>
  5. Fix, Add or Change things (code, documentation, etc.)
  6. git add <files>
  7. git commit -m <commit-message>
  8. Repeat #5 , #6 & #7
  9. git pull --rebase upstream master
  10. Resolve any conflicts, if required
  11. Squash Commits, e.g. squashing last three commits:
    • git rebase -i HEAD~3
  12. git push origin <topic_branch>
  13. Go to github.com/abdul/<repo>
  14. Create a Pull Request [Github is smart enough to detect a change in forked repo, and offer you to compare and create pull-request]
  15. Discuss changes in PR, and Fix things in branch as required.

The Psychology of Doing Nothing

I ended up on YouTube, via hacker-news or somewhere else, to watch a lecture which made me realise what I have been going through.

Please watch the following lecture on \”The Psychology of Doing Nothing\” by Professor Helga Drummond. You can also read the transcript if you don’t want to watch whole video.

Toptal

I recently came to know about Toptal. I am impressed and happy to see that some of the top developers of world are contributing and making difference through Toptal’s platform. I want to be among them for only one reason:

  • I want to work on (and contribute to some of) the best, useful and challenging projects with possibility to collaborate with some of the top/best developers/designers of the world.

NodeSchool

NodeSchool is a fully community driven effort and is 100% open source. This means that anyone can use the NodeSchool materials and/or host an event.

I have set up NodeSchool Kanpur chapter, and I hope to organise (with help of like minded people) a couple of workshops on Node.js (and web-development ecosystem around it).

I am looking for mentors and co-organisers, if you are interested, let’s have a conversion.

Data Visualisation

Infographics have become things of everyday. Data is more meaningful when it’s visually displayed.

Some links, you might find useful:

Please share links (in comments) to any interesting and inspiring articles or videos or apps. I would put those in above list.

Netflix in India?

Netflix is not accessible in India due to licensing and other reasons.

A lot of people (including expats) want to access Netflix, Hulu and other services in India (or other geo-blocked or geo-fenced territories).

Thanks to Unotelly for their DNS/VPN service which enables watching/consuming geo-blocked content including Netflix’s.

I have used Unotelly for couple of years. Trust me, it is convenient and better use of time to go for Unotelly when you really want to watch some shows and films.

Wondering, why couldn’t I build my own system to do that?

Just so you know, as a geek, I have successfully set up and run my own VPS (with SNI/non-SNI DNS Proxy and VPN), but not everyone can or prefers to do that. The goal was to watch some shows and films, but I got drifted away while building my own system, and ended up spending a lot of time (and money – vps fee) in setting things up than watching shows/films.

I think, Netflix would be officially launched in India in couple of years. For those who can’t wait, why not use Unotelly?

Phabricator

Phabricator (pronounced like the word fabricator) is a suite of web applications which make it easier to build software, particularly when working with teams. Phabricator is largely based on Facebook’s internal tools.

It has been more than three years since I have been using Phabricator (self-hosted) at work. It is one of the open-source projects which has inspired me a lot. I have seen it grow over these years; every day it gets better. Thanks to hundreds of open-source developers for their contribution.

Want to see how to develop elegant and sophisticated software, even with a poor programming languages like PHP? Look at Phabricator’s source-code and tools (built using PHP), you would be awestruck.

Want to play with Phabricator without installing? Have a look at PhorePlay (Phabricator hosting service), which offers free Phabricator hosting (with multiple instances) up to five users.  I think, that’s good enough for most of us (small teams).

Phabricator’s core team is working to launch Phacility (Phabricator Hosting). I think, it has potential to become something like Github (useful and essential service) one day.