Yahoo! Mail IMAP Download Limit Issue

I recently realised that Mail.app on my Mac doesn't show more than 10000 messages in Yahoo! Inbox. I thought, it could be issue with Mail.app, and I configued Thunderbird to download Yahoo! mails, and even Thunderbird couldn't download more than 10000 messages.

I searched around to learn if YahoO! has changed something; indeed they have. It seems with their regular two-way sync IMAP you can only download 10000 messages in Inbox (or per folder) using third-party mail software (Mail.app, Thunderbird, etc.).

Yahoo! provides a way to export messages (one way) via a different IMAP.

We need to change the IMAP server to export.imap.mail.yahoo.com; and we can download all messages. You can learn more about this here.

Stay Safe

The 2020 hasn’t started well, our world is going through a pandemic caused by a novel coronavirus (COVID-19).

People across the globe are suffering in many ways; many have died, many others are infected, thousands are under isolation, many thousands are quarantined, and many millions are under lockdown.

Everyone appears so small in front of this virus; from the powerful and developed countries to developing nations with poor population of billions; from richest to poorest.

In this time, every country is looking at other countries for help and support; every human being is counting on another human being for help and support (social distancing and other measures to contain the virus, charity, food, and so on.)

The issues we have been fighting over for decades have become non issues during this time when whole world is trying to fight this common enemy.

However, there are a few (media or politicians or people) who are still doing what they were doing - communalising, spreading hatred, creating enmities between communities, and so on. It appears that they have sold their souls to the satan, and there is no humanity left in them.

We (humans) need to learn a lot from this crisis. We have been bad to the nature and with each other. We have caused so much damage.

We should learn to live in harmony with each other, and the nature; learn to care for each life on this planet, learn to make sure no one is hungry, or thirsty; learn to remove disparities; learn to respect wildlife; learn to respect everyone and everything.

That’s the way we avoid future pandemic if we survive this one.

I hope that this virus is contained before it takes any more lives directly or indirectly (economic aspects of lockdowns).

Stay safe everyone.

Hello from 2019!

The year 2019 is about to end. I haven't written in this space for over an year. I thought, I will write a short entry to say "hello" to anyone who still visits this blog.

Isn't it shame I got spoiled by twitter and stopped blogging here? You know, the irony? It is that I don't even follow twitter anymore, and only time I tweet is to complain about a product and service :-)

Time dilutes everything -- we can't laugh same way on same joke over and again; hence we can't keep crying over same issues over and again.

I have accepted things -- wrote many entries about hardship of doing software/it business from smaller cities, and made peace with it, perhaps found a way to deal with things. As it's said, necessity is the mother of invention.

Anyway, I have been spending most of my time building a business for a narrow vertical - helping Zendesk customers take their self-service offering (Help Center, Knowledge Base) to next level.

A part of my day goes in talking to customers, and helping them with help of my team. Then rest of time my team and I spend building things using html, css, and javascript with a mix of Zendesk Curlybar (Handlebar derivative) templating language.

Had I ever imagined I would find myself devoting most of my time over years (at least 4 now -- since I got involved) for something that's technologically this trivial compared to what I have done in past, and can still do?

Why do I it then? I do it because I realise that even a simple products (made using a simple recipe and with simpler ingredients) brings smiles and a lot of happiness to thousands of users (mostly non technical) everyday. It's that purpose that drives us, and personally keeps me happier than ever. We walk extra mile to help our customers beyond those lines of thinking if it should cost extra or not; we don't even talk about that most of the time.

We have thousand and thousands of happy customers, and we have got tons of testimonials over the years. When someone is able to build what they envision on top of our product, and then they celebrate by printing the work on cake -- that makes our day.

Diziana Theme printed on Cake Customised Diziana Drogo Theme printed on a cake.

Whatever (work) time I am left with, I spend learning and practicing new stuff; managing a fleet of servers and services. Once in a while, there is 1-4 weeks busy time when I am building some (micro) service and integration for other on going projects in the company. I love these short bursts where I push myself to actually deliver things using latest and greatest (stable) tech-stack under a lot of time pressure. I have learnt so much, and helps me feel relevant even when I am aging like my Macbook :-)

It's not about me anymore; it's about them (team, customers, company -- all people who are positively affected).

Don’t just scratch the surface

We tend to get in a comfort zone after scratching the surface, i.e. barely learning about anything.

The little confidence that comes from scratching the surface is good but we don't need to just settle there; we need to keep scratching below the surface.

I have interviewed and worked-with many people over the years; people who have had different educational degrees (bachelor of technology, bachelor of science, master of computer application, etc.).

I realised few knew in depth about any topic; and most only touched the surface. I intentionally didn't use the word scratching because I found they didn't even do that.

Simon Sinek correctly says that this is the age where we lack patience, and want instant gratification for many reasons.

Isn't it easier to google a problem and get results with quick solutions, e.g. one from Stack Exchange family sites (StackOverflow)?

That's useful but not always. If we want to build our career in anything we need to work harder than that.

Most people end up copying code from those green ticked answers. AFAIK, the green tick means the answer is accepted by the person who asked the question?

That means, the answer might not objectively be acceptable in all situations or by everyone?

If one spends some time critically reading & thinking entire thread, some learning (applicable in similar future situations) can be expected to happen.

I believe, StackOverflow and similar sites are very useful provided it's used to enhance learning process, and weigh different options/opinions about a problem.

It takes years to get good at something. There would be some technologies that might not last for years, but there would be many (specially web standards or other standards) that would be there in better forms in years to come.

We can only create or contribute anything useful if we keep learning in systematic manner.

Once we get used to it (systematic manner: discipline, focus, getting below the surface), a momentum is built and it only requires little force to learn new versions of standards/tools/language, and apply effectively.

It's important that beginners spend time learning various jargons, concepts, and fundamentals; and keep reading and practicing everyday (follow a book or a good course - and complete it); take every opportunity to get deeper at the subject in the hand.

Our career is not limited to work hours, hence our learning should keep happening all the time we can manage beyond work hours. I am sure we all can manage enough to shine.

We can't expect to use time at work to learn basics or read books or practice; a good professional won't do that.

A good professional practices and tries to be ready to perform whenever required. Like many other, our field of work requires professionalism and craftsmanship.

Let's say, you are requested to work on an existing project that is being done in JavaScript for frontend (using some framework) and backend (most of stuff - API, workers, etc.).

Assuming you never worked on JavaScript, how would you start contributing to the project as soon as possible?

The answer deserves a long post I will write soon. Meanwhile why don't you share your experience or opinions?


This post was written using WordPress mobile client. Please let me know if you find any typos.

Hiring is hard

Ok, I know I shouldn't generalise things like that.

I will stick to my case: Hiring is hard in Kanpur. Do you know I moved back to this city ten years back? I guess it was April 30 or May 1 2008.

Among many of my failures the biggest one has been - not being able to build or sustain kind of team I wanted. See, it's my fault there

I can't even find good HTML/CSS guys here. Or am I failing to reach out and connect to them? Got any better ideas, I am all ears.

I tend to hire people who would value working in Kanpur. For example, someone pursuing B.A, or B.Sc. degree, or someone who has strong reasons to be in Kanpur. I am trying to be patient while they spend ages to learn things. Patience is virtue.

MacBook Pro 2017 - Keyboard & Trackpad issues

I have started using a Apple MacBook Pro 2017 (15 inch) around two weeks back.

I have been little unproductive since then because of keyboard and trackpad issues:

  • Keyboard isn't as good as we have one in MacBook Pros from 2011. I don't feel the feedback from keys, and my typing accuracy has been very poor for some reason.
  • Trackpad doesn't allow me to use single finger (tap + tap pressed) dragging of file without drag-lock. The dragging stops the moment I press any key on keyboard, e.g. to switch window where I want to drop the file.

I don't want to use dragging with drag-lock or using three fingers. I don't want to reconfigure all other things to use four finger gestures.

Unlearning something is painful and frustrating. I am happy to learn new things if I think those are better than old ones. I don't think that's the case here.

I will update this post if I find some other issues.

Been a while

Hope you all are doing well. I know some of you still visit this space to check what I am up to.

It has been a while since I posted anything here. I am now to let everyone know that I am still around.

I think of writing sometimes but then I go blank. With growing age, I have started feeling I don't know anything.

Anything I think of writing has already been written, or perhaps not but I think like that. What value my writing will offer? Wouldn't it add more noise to already noisy internet causing information overload?

I might be wrong. I guess, I can write something that might be useful to someone. I will try to.

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