Category Archives: Technology

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: 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.

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.

What I am up to?

This is how my 2014 passed, or what I am up to:

  • riding my motorcycle a lot
  • hacking electronics and IoT using OSHW
  • dockerising things (apps, services)
  • playing with Apache Mesos, and ecosystem around it
  • hacking projects using Javascript (framework, toolchain, node.js, ES6 way of doing things) and web-standards (HTML5, CSS3, components, etc)
  • got Google’s Widevine certification (as required in one of projects). Personally, I like non DRM’d content 🙂
  • built a Chromecast app using dash.js, modular Widevine DRM with node.js based proxy service for licensing, and Java for content encryption and packaging
  • been reading a lot of stuff through hackernews
  • helped and built stuff: QRizq, Diziana, 99doodles, IndieReign and other projects
  • not having meetings (waste of time)
  • not interviewing candidates who are not worth anyone’s time. [should do another post: sad and bad state of technical education in India]
  • bunch of other things I can’t recall

Did you notice that I have been mostly playing (or having fun)? On other side of it, I have also been thinking what’s nex; I think, I have figured that out.

At present, I am still involved with couple of projects mentioned above. I have also taken up a couple of interesting consulting assignments around technologies mentioned above along-with my old love (flash/actionscript).

MOOCs: Massive Open Online Courses

MOOC is known to everyone these days. I am enrolled in some of the courses on Coursera, Edx, Udacity, Stanford, and others most of the time. I sometimes look at Khan Academy’s lessons/courses as well. We are living in a time which has made learning things so much easier compared to what we have a decade back or earlier.

Anyway this post of mine is not about reiterating facts and benefits of MOOCs. I rather want to talk about an idea which I found in my notes written many years back.

Yesterday, I found an old note (written during Feb/Mar 2006) on my Yahoo! Notepad. I think, I wanted to present this idea in an upcoming BarCamp Bangalore. I couldn’t give my talk because I fell sick on the day BarCamp happened.

Following is what I found:

While I was sleeping, I dreamt about my school days and I woke up suddenly in the middle of night. I started thinking, how cool those days were.

Since I was also thinking about some idea for BarCamp before sleeping, something struck my mind…
How podcasting/videocasting can be used in education (school, colleges, training institutes etc) combined with the philosophy of open-source, knowledge-sharing.

For example, in a school a teacher is teaching Maths/Physics…if the entire session is recorded (audio/video) and uploaded to some site (like Yahoo! Podcasts, Odeo, YouTube etc)…Not only students from the same class, who were present or absent but also students from other schools, students from remote villages/small-towns with decent internet connectivity can benefit…

This requires, schools to be more open and willing to share the knowledge and adopt the technology in this fashion. Technically, it is quite feasible, my prototype requires following:-

* Broadband connection
* Account on YouTube!, Y! Podcast or on Odeo account
* An high-res webcam and a microphone..
* A web application written in Macromedia Flash/Flash Media server to do the entire recording, locally…

What I expect that someone comes with a Web 2.0 app like Odeo, where you can do publishing with their API in real-time as well as should be able to upload pre-recorded content. At present, Odeo, Y! Podcast etc lack publishing API…which is I think is important…

I like the idea of Odeo channels, if it’s little more improved it can be like a TV channel…

I think, such things have great importance and we should really start thinking that how can we improve society, education and system with the best use of technology….

IndieReign – Discover a world of independent film and have fun doing it

My team and I have been working on bunch of products/services for last 3-4 years.


IndieReign is the one, we have been mostly focused on, and took care entire engineering and technical architecture.

It is a platform for indie filmmakers to promote, distribute and monetize content. It is actually more than that.

IndieReign runs on open-source software stack (for everything including video transcoding) with exception of Adobe Flash Player (used for video playback), and Amazon’s cloud.

Please share your feedback.