Pocket

I try to stay offline for fixed times during the day and often prepare myself up for it. Having things to read is one of the important things to it. Feedly allows to keep track of all the reading sources that I have, while I am online. Some articles need more time and focus to be well understood, and I often end up ‘Saving them for Later.’

Pocket is an app that helps manage articles that you wish to read later. You can save articles, videos or pretty much anything into Pocket and view them later. The best thing about Pocket is that on mobile devices, it allows offline reading - i.e., without the need for an internet connection.

Pocket has apps and browser extensions for a variety of platforms making it easy to save articles that you find interesting. You can save to pocket while on your laptop or your mobile devices and have it available for later reading. Feedly integrates with Pocket and allows to save articles for future reading straight to Pocket. I am using the free version of Pocketand it works perfectly for me. But if you are interested in more advanced features you can upgrade to the Premium version.

Don’t miss out on that article that you want to read (later), Get Pocket!

The beginning of a good habit is the elimination of an excuse.
And The beginning of a bad habit is the finding of an excuse

The ability to pick on something and to make a habit of it is something that is always helpful. This skill helps to create new habits and also let go off old ones that are not doing any good to you. Part of letting of bad old habits might be creating new ones. When I wrote about Couch to Half Marathon, some of my readers asked how to keep up with the plan. How to do ‘Couch to Street’; just getting out there.

Motivation is what gets you started. Habit is what keeps you going

How Habits Work

To form new habits, it is important that we understand how habits work.

a simple neurological loop at the core of every habit, a loop that consists of three parts: A cue, a routine and a reward.

As Charles Duhigg points out in his book, Power Of Habits (recommended read) the formula for changing habits differs from habit and persons. So it is more about using a framework to understand how habits work and experimenting on changing it. Changing a habit does take time and is not an easy one, but with a process in place, it is doable with time and effort.

Cue-Routine-Reward Habit Loop

To break a bad habit one needs to identify it first. It could be anything from spending too much time on social media, eating unhealthy food, smoking, drinking, etc. Identifying that you have a habit and it’s not good for you to continue with it is important. You can only change something once you identify it.

Once you recognize the habit, find out what is the trigger for the habit. Is it a particular place, people, time, etc. It might be hard to find the specific cue that triggers the habit, so note down everything that you find applicable. Then work on to isolate the cue by monitoring the habit over a couple of days. Wire up the cue that triggers the habit to perform some other action. Create that plan in advance and have some way to remind yourself of it. If your cue is time-based or location based, then you can use your smartphone to pop-up a reminder. If not try to find ways to keep yourself reminded to perform the new plan. It feels hard in the beginning but stick to the plan, and in time you will be able to change your habit. I recommend you to read the book Power of Habits to understand this subject better.

Mini Habits and Short Term Goals

To start creating new habits, I have found setting smaller goals to target daily works better. I began writing at least one line every day to be consistent in blogging, running at least once a week to establish an exercise routine, eat at least one meal healthy, etc. Time-based cues help to enforce such new behavior. Setting aside a specific time as per the desired frequency to perform the activity makes sure that you do not skip doing it. Also, remember to keep the action as simple as possible so that you do not procrastinate when the time comes.

Like if it is running that you are planning to start it could be - Every Saturday at 6 am I will wear my running shoes and get out of my house. When the time comes, this is such a simple task that you have set for yourself, and you are more likely to do it. Once you have taken the pain of putting the shoes and getting out of the couch, you are more likely to run for at least five minutes.

Break your goals into small and achievable mini goals. These mini goals are often referred to as Most Important Tasks (MIT), Big Rocks etc. The key is to break them down into smaller achievable mini-goals and setting a cue to trigger the activity.

Motivation and Its Role

Very often we get motivated to start new activities and begin with great enthusiasm. In the beginning, we feel a spike in energy and see things happening. But soon you hit a point where you feel nothing is moving and you feel it a burden to continue. This stage is referred to as plateau - a state of little or no change following a period of activity or progress. You soon see your motivation levels dropping and justifying to yourself how little or no benefit your actions have. Eventually, you find yourself losing entire interest in the activity and start looking for new motivation spikes. This has happened to me many times.

Motivation is what gets you started.Habit is what keeps you going.

I have found this to be entirely true. We need the motivation to help us to get started with new activities and set new goals. But motivation alone cannot help us go all the way and achieve what we want. Before jump-starting with the idea give it a good thought to check if it is worth your time spent. If not park the idea to your Someday Maybe list (as referred to in GTD).

Once you have decided to pursue the idea, break it into smaller pieces and set achievable ‘mini goals.’ Set dedicated time at regular intervals for achieving these mini-goals. Most important is in having some ‘me time’ to get towards these goals. Like for me I have found that mornings work best for me and created a Morning Routine. To make sure that I make the best of my time I try to work in Pomodoro’s and inspect and adapt the process often.

Tracking and Feedback

Tracking is an important part of habit formation. Once you have set your goals and mini habits also find ways to track your progress. Inspect and Adapt is the fundamental principle behind Agile Processes. Habit formation is nothing but being agile, keeping the end goal in mind, adjusting the way you reach there. Find ways and tools to track progress on the habits that you are trying to form.

I prefer automatic tracking with least manual entry, so the tracking happens in the background. But at times you will have to resort to manual methods as well. Make sure you have a time set aside daily to capture the information. Having a review of the data obtained once every week or two and taking adjustment actions is equally important. Some of the tracking tools that I use are Rescue Time, Garmin Forerunner 630 and a few manual ones. I [review my progress every week] and try to incorporate feedback into the upcoming week.

All it takes to start a new habit is a moment - The moment where you decide on the new habit. The rest is process!

Eating Healthy, Exercise, Blogging, Waking up Early, Reducing time spent on Social Media, Reading and Creating Videos (looking to give this up) are some of the habits that I have formed following these techniques. The ability to decide on something and getting it to done is the most important of all. Once you have mastered the skill of forming new habits, it boils down to choosing good habits and wiring that into your life. I have heard about the 21-Day rule of habit formation and similar myths. But I think all it takes to start a new habit is a moment - The moment where you decide on the new habit. The rest is process!

References:

Do you want a one stop reading place to stay current and updated with posts from various blogs of your interest?

Feedly is a news aggregator application that compiles news feeds from a variety of online sources

Feedly is what you are looking for. You can subscribe to the sites and news sources that you want to follow and Feedly shows that as a combined list for you.

News sources can be grouped into custom collections to group similar categories of information. Feedly offers a clean and minimalist reading experience, removing all the ads and other elements that create clutter. You can save articles to be read later, mark as favorite, share articles and a lot more.

Feedly

Feedly has apps and browser plugins for a broad range of platforms and provides a uniform experience across devices. Currently, I am on the free version of the application, and it has a limit of 100 feeds. The pro version provides a lot more features if you are interested.

Get a one stop reading place, Get Feedly!

https://pixabay.com/en/data-security-keyboard-computer-1590455/

First things first; Check if any of your accounts on the web has been compromised in the various data breaches. All you need is enter your email address in haveibeenpwned, and it tells you the rest.

My email did show up on multiple breaches, and there is nothing much that you can do about it anyways. The problem with data breaches is not confined just to the site that got breached but also with other sites if you have reused your passwords. The best that we can do is to use different passwords for each account that we create and never reuse them across sites. Also, remember to use ‘stronger’ passwords. So what makes a password stronger? - The one that you cannot remember.

A Password manager assists in generating, storing, and retrieving complex passwords from an encrypted database

Password Managers allows keeping all your passwords in a single strongly encrypted location. This manager itself is protected by a password - the master password!. The master password is the only password that you need to remember, so make sure you get this really strong!

There are different password managers out there, both paid and free. Personally, I use 1Password and love the experience that it has across all my devices. Initially, I was worried to have my passwords (password since I was mostly reusing the same one) on a cloud store with an external service. But with all these data breaches that I was part of and having realized that not having one is worse than having it in the cloud. Password managers don’t have to be perfect, they just have to be better than not having one. Having a password manager does not prevent your from being part of data breaches, but at least it protects your accounts elsewhere as you have not reused the password.

So if you still remember your passwords or reuse them, go set yourself up with a password manager!

Todoist Templates

Todoist Templates is a simple way to create tasks for any of your recurring activities. Be it blogging, cooking, or any of your activities. With Todoist Templates, you can turn any project into a checklist that you can easily duplicate later. I have been using Todoist for a long time and find it useful to keep track of tasks (both personal and at work)

Problem

I plan my tasks for the upcoming week on Sunday morning. I pull in tasks for the upcoming week, and some of these tasks are template based. For e.g. for writing a blog post, I have the below template

1
2
3
4
5
6
TYPE,CONTENT,PRIORITY,INDENT,AUTHOR,RESPONSIBLE,DATE,DATE_LANG,TIMEZONE
task,Blog: BlogTopic,4,1,Rahul (3565260),,,en,Australia/Melbourne
task,BlogTopic: Draft Body,4,2,Rahul (3565260),,today,en,Australia/Melbourne
task,BlogTopic: Refine Body,4,2,Rahul (3565260),,today,en,Australia/Melbourne
task,BlogTopic: Intro and Conclusion,4,2,Rahul (3565260),,tomorrow,en,Australia/Melbourne
task,"BlogTopic: Images, Proof Read and Publish",4,2,Rahul (3565260),,tomorrow,en,Australia/Melbourne

The dates on the template are relative to the day that you import the template in Todoist. So if I pull in the template on a Sunday, the tasks will start on Sunday. This is not something that I want; I want them to start on a Monday. Alternatively, I can update the template to start from tomorrow. Even in that case, I will always have to know the exact start day relative to the day that I intend to pull in. I usually plan for the tasks on a Sunday but still, like the flexibility to pull in tasks any day of the week.

Todoist Template Transformer

The Todoist Template Transformer takes in a date and template path and adjusts all tasks in the template to start relative to the passed in date. In the above example, if I want to blog on Wednesday, I will input the Wednesday date and the template file path. The first two tasks will start on Wednesday and the third and fourth on Thursday. Running the transformer on a Sunday (07-May-2017) with the next Wednesday (10-May-2017) below is the new template

1
TodoistTemplateTransformer.exe -startDate "10-May-2017" -templateFile "Blog Template.csv"
1
2
3
4
5
6
TYPE,CONTENT,PRIORITY,INDENT,AUTHOR,RESPONSIBLE,DATE,DATE_LANG,TIMEZONE
task,Blog: BlogTopic,4,1,Rahul (3565260),,,en,Australia/Melbourne
task,BlogTopic: Draft Body,4,2,Rahul (3565260),,in 3 days,en,Australia/Melbourne
task,BlogTopic: Refine Body,4,2,Rahul (3565260),,in 3 days,en,Australia/Melbourne
task,BlogTopic: Intro and Conclusion,4,2,Rahul (3565260),,in 4 days,en,Australia/Melbourne
task,"BlogTopic: Images, Proof Read and Publish",4,2,Rahul (3565260),,in 4 days,en,Australia/Melbourne

This utility is written in FSharp the source code is available here if you are interested. I am still in the initial stages of learning FSharp, so if you have any suggestions to improve the code, please raise a Pull Request or drop in a comment.

It often happens when coding that I skip over some part and want to come back to it at a later point in time. I leave some comments in the code so that I do not miss it. It can be a bit tricky to keep track of these comments themselves. Before pushing up the changes to master branch or creating a Pull Request, I make sure that all such comments are addressed.

Visual Studio comes with a Task List that is handy to track such unfinished work in code. It helps track your pending work items in one place and easily navigate to it. To have a comment appear in the task list, it has to start with a defined token (TODO, HACK, UNDONE, etc.) followed by the comment.

1
2
3
4
5
public bool IsInRange(DateTime theDateTime)
{
    //TODO: Implement this function
    throw new NotImplementedException();
}

Visual Studio Task List

A comment in your code preceded by a comment marker and a predefined token will appear in the Task List window. For example, the above comment has three distinct parts:

  • The comment marker (//)
  • The token (TODO)
  • The comment (the rest of the text)

Visual Studio by default has TODO, HACK and UNDONE as tokens. You can modify this under Options -> Task List. New custom tokens can be added as required and used instead of the default ones.

Visual Studio, Customize Task List

When in a multi-member team you can either use custom tokens per member or append the comment with your name or feature name. The Task List provides Search feature with which you can filter the tasks created by you or for the feature you are working.

I try to remove all TODO comments before merging to the master branch. For tasks that need to be tracked even after a merge, I create separate work items to the project backlog (VSTS, GitHub Tasks, Jira whatever the team is using). I might still leave the TODO comment with the relevant ticket details as well for tracking.

The next time you leave some unfinished work for later make sure you have it tracked. Hope it helps!

Azure Functions is a solution for easily running small pieces of code, or “functions,” in the cloud. You can write just the code you need for the problem at hand, without worrying about a whole application or the infrastructure to run it. Functions can make development even more productive, and you can use your development language of choice, such as C#, F#, Node.js, Python or PHP. Pay only for the time your code runs and trust Azure to scale as needed. Azure Functions lets you develop serverless applications on Microsoft Azure.

Even when developing with Azure Functions you want to keep your sensitive data protected. Like for example if the function needs to connect to a database you might want to get the connection string from Azure Key Vault. If you are new to Azure Key Vault check out these posts to get started. In this post, we will explore how we can consume objects in Azure Key Vault from an Azure Function.

Create Azure Function App: Let’s first create an Azure Function App from the Azure portal. Under New - Compute - Function App you can create a new Azure Function.

Enter the details of the new function app and press Create. Each function app has an associated storage account. You can choose an existing one or create a new one.

You can view all Azure Functions Apps in the subscription under More services - Function Apps

Create Function: To create a function you can create from an existing template or create a custom function. In this example, I will use a timer based function in C#.

In the run.csx file add in the code for the function. The below code fetches the secret value from the Key Vault and logs it. You need to provide the Azure AD Application Id and secret to authenticate with it. Make sure you add in the relevant using statements for the KeyVault client Azure Active Directory Authentication libraries (ADAL).

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
using System;
using Microsoft.Azure.KeyVault;
using Microsoft.IdentityModel.Clients.ActiveDirectory;

private const string applicationId = "AD Application Id";
private const string applicationSecret = "AD Application Secret";

public async static Task Run(TimerInfo myTimer, TraceWriter log)
{
    var keyClient = new KeyVaultClient(async (authority, resource, scope) =>
    {
        var adCredential = new ClientCredential(applicationId, applicationSecret);
        var authenticationContext = new AuthenticationContext(authority, null);
        return (await authenticationContext.AcquireTokenAsync(resource, adCredential)).AccessToken;
    });

    var secretIdentifier = "https://rahulkeyvault.vault.azure.net/secrets/mySecretName";
    var secret = await keyClient.GetSecretAsync(secretIdentifier);

    log.Info($"C# Timer trigger function executed at: {secret}");
}

Since the KeyVaultClient and the ADAL libraries are NuGet packages, we need to specify these as dependencies for the Azure Function. To use NuGet packages, create a project.json file in the functions folder. Add in both the NuGet packages name and required version.

1
2
3
4
5
6
7
8
9
10
{
  "frameworks": {
    "net46":{
      "dependencies": {
        "Microsoft.Azure.KeyVault": "1.0.0",
        "Microsoft.IdentityModel.Clients.ActiveDirectory": "2.14.201151115"
      }
    }
   }
}

Executing the function, retrieves the secret details from the Key Vault and logs it as shown below.

Hope this helps you to get started with Key Vault in Azure Functions and keep your sensitive data secure.

IFTTT is a free web-based service that people use to create chains of simple conditional statements, called applets. An applet is triggered by changes that occur within other web services such as Gmail, Facebook, Instagram, or Pinterest. An applet may send an e-mail message if the user tweets using a hashtag or to copy a photo on Facebook to a user’s archive if someone tags a user in a photo

IFTTT helps you connect the services in your life. Most of the things that you use on the web is a service. There are a broad range of services that are available on IFTTT that you can start using right away. Each service has a set of triggers and actions. We can create applets which wire up triggers (if this) of one service to actions (then that) of another service.

IFTTT

There are a lot of pre-created applets available for immediate use. You can also create custom applets that wire up the triggers and actions of services of your choice. For e.g. Whenever a new item is available on my blog RSS feed I send an email to Buffer. The email to Buffer triggers it to share the post to all my connected social media accounts.

IFTTT Recommended

If you are consuming the services of IFTTT, then it is free to use. Paid plans are for publishing your service and making it available for others to consume. IFTTT also has apps for iOS and Android. With the apps you can also use the mobile capabilities like location, messages, etc. to trigger actions.

Start connecting the dots between your services and get the web to work for you.

If you spent a lot of time in front of a computer then f.lux is for you. You would have heard that using laptop or mobile just before sleep is bad. It is because of the blue light that digital screens emit.

During the day, computer screens look good—they’re designed to look like the sun. But, at 9PM, 10PM, or 3AM, you probably shouldn’t be looking at the sun.

f.lux fixes this: it makes the color of your computer’s display adapt to the time of day, warm at night and like sunlight during the day.

Flux Current Setting

Tell f.lux what kind of lighting you have, and where you live. Then forget about it. f.lux will do the rest, automatically.
f.lux adjusts the screen to the room you are in and the time of the day. You can set the lighting that the room has, and it will adjust the screen for it.

Flux Settings

I have been using f.lux for a couple of years and had it always on(except occasionally when processing photos). f.luxometer tells how much blue light f.lux removes if you are interested.

A while back I had blogged about my Morning Routine. The routine helps set the pace for the day and in getting things done that matters to me most. During mid of December 2016, I started running once a week to get some exercise into my routine. I got interested in running and soon was running thrice a week along with some free body exercises another three days. Since this was new and exciting naturally my concentration was more on getting these done. I struggled to keep up with my blogging schedule, failed to get a video out in the month of February and lost track of everything else (FSharp, Reading, etc.). Though I continued to wake up early in the morning, I could not get much done. I badly wanted to fix things up and here is what I have come up with

TLDR;

  • One-week sprints and setting weekly goals
  • Break the Big Rocks (or MIT’s) into smaller tasks
  • Improve Focus using Pomodoro Technique
  • Daily Review and Weekly Review

One Week Sprints

The PSM course I attended in January made me realize the importance is sticking to a process. I decided to do weekly sprints for managing my personal work. I have a better estimate of how much I can get done with a shorter interval. I have blocked time on Sunday morning for my weekly planning and processing the ‘In-Basket.’ The In-Basket is where anything that comes up during the week goes. Todoist has an Inbox Project to which any uncategorized items go by default. I process the inbox and move them to various categories that I have setup in Todoist. Depending on the priority things make their way into the coming week or get set to ‘tentative’ dates and appropriate categories.

Todoist Inbox

Big Rocks are tasks that matter to you the most. Identifying them is important so that you do not miss out on them. The idea is to fill your time available over the week with the Big Rocks. The rest will find its way through, just like if you were to fill a bottle with stones first and then fill it with water, sand as opposed to the other way round. Big Rocks are the same as the Most Important Tasks (MIT’s) that we saw earlier.

For me the biggest rock is family, and I have all of my evenings and weekends (rather any time they are awake, and I am home) blocked out for them. Over the past year, since I have written about my Morning Routine one of the MIT’s has changed. Blogging and FSharp still stay on, but I swapped in producing videos for Github contribution. Exercise is something I have set as a goal for 2017. To keep up with my exercise goal, I run three times a week and body weight exercises for another three days.

Every day I have roughly three hours of ‘me time’ from morning 4 am - 7 am. Waking up was difficult for a while but then I realized it’s all about waking up to an alarm. The ‘me time’ acts as the bottle into which I have to fit the Big Rocks into (if you watched the video above). I need to optimize the things in the best way possible to fit it all in there.

Pomodoro Sized Tasks

The Pomodoro Technique is a time management technique that uses a timer to break down work into intervals, traditionally 25 minutes in length, separated by short breaks. These intervals are named Pomodoro.

Many times in the past I have tried Pomodoro Technique on and off but was never able to stick with it. From my previous Morning Routine you can easily tell that I had a high-level plan on what my MIT’s are, but did not have any specific plans or goals on what to do about them. I also left room for flexibility to choose each day to pick up things randomly. Often it happened that I took more time to blog and got a bit of time for the other MIT’s. Though I have automated a lot of blogging activities, writing a post often took more time. And since I was not tracking this I was always happy that I achieved some of my MIT’s daily.

Once I started running things changed drastically. I struggled to keep up the with everything and concentrated on just blogging. It was because I started losing focus and started getting the feeling that it’s too hard to fit in everything. I let this happen for over a month but was not very happy with it. Mid of February I sat down and dumped all my available time onto a paper and broke them up into Pomodoro sized intervals. So now I know how much time I have in a week for getting stuff done. I then broke down my big rocks s into smaller measurable pieces. For, e.g., with blogging, I have 4 Pomodoro of work - Creating a draft (high level), Refining the post body, Writing the introduction and conclusion and finally Adding in images, proofreading, and publishing. Similarly, I broke down publishing videos (happens throughout a month) and learning F#.

Plans are nothing; Planning is everything

I blocked out the time for running and exercise first, then I filled in with blogging tasks, followed by videos and then with FSharp learning. I also have a reading goal for 2017 and found that I can best do that during my commute to work. Though this is not a full sized pomodoro interval, I have this tracked. Weekly Planning and Daily Review are two other activities that I have started following religiously. I do my daily planning right after my Daily Scrum at work so that I get to capture anything work related as well.

Pomodoro Plan

I was surprised how easily I could fit all of these into the time I have. Since the task breakdown above is guesstimates, I have some buffer time in my plan so that I can accommodate tasks that take more time or urgent tasks that come up during the week or the laziness that kicks in at times.

Increasing Focus and Removing Distractions

Social Media and emails were one of the biggest distractions for me. Even though I try to reduce the amount of time I spent for these, I often ended up taking a glance at those sites now and then. It often ended distracting and taking me completely off course from the task. I decided to stick to checking personal email only once a day and work emails twice a day. As for social networks (especially Facebook), I decided to keep that to one as well. I wanted to track this as well and see how well I was with it. I use Loop Habit Tracker app on my phone for tracking these habits.

Loop Habit Tracker

For tracking pomodoro I use Tomighty, a simple Pomodoro tool. It just tracks the interval and does that thing well. The Pomodoro Technique lists down different techniques to manage interruptions and distractions. Managing interruptions is particularly useful when working out of an office and using pomodoro. During the short intervals, I usually take a walk around, fill water, stretch, etc.

I have only been following this for three weeks. But I find this effective and hope to stick on with it for a longer time. I no longer have to spend time deciding what to do as that’s already decided. The only thing is to do it. Having taken the reasoning part of what to do out, I find doing things is easy and I procrastinate less. The important thing is sticking with the process and believing in it. I am sure this is going to pass as well, but for now I happy and it works for me. How do you keep yourself productive? Sound off in the comments