Focus productivity with Kanbanflow

We are getting more and more busy each day without accomplishing much. When we are not busy, we get distracted by other people, devices and even cats on the internet. We end up feeling exhausted at the end of the day without getting nearer to our life long goals, without finishing off our side projects and without writing as much as we should. We only have 24 hours a day and It is important that we spend them on the tasks that really matter. There are many productivity tools out there which can help you get more things done, but I found the tool call  Kanbanflow to be simple and very effective.

Kanbanflow combines the ideas of Pomodoro™  technique and Kanban board. It helps me visualize the important tasks I need to carry out during the week and focus on each tasks by using Pomodoro™ technique. The default Kanbanflow board has 4 columns named __ To-do, Do Today, In Progress and Done. You can add or remove columns as you like. Kanban board helps you manage the tasks visually. Built in Pomodoro™ timer allows you to focus on current task and track the time spending on it. Your productivity can be measured not only by the tasks you have completed but also by how many Pomodoro™ periods you have done for the day. You can also review how long did it take for a task to finish.

The simplest way to use Kanbanflow is to create a list of important tasks in To-do column. Each morning, plan your day by assigning the tasks from To-do column into Do today column. Move the task you are going to do next to In progress column. Use Pomodoro™ timer to work on them. When you finish a task, move it into Done column. If you like to plan for the week, add columns for each day of the week and put tasks in there.

I am a very happy user of this tool now and I can plan and execute my important tasks better than before. Do give it a try if you haven’t done so.

kanbanflow

CrushPlan Saved The Day

Today when I turned on my Z800 Workstation PC at work, it won’t start. There was no beeps, no display and no warning, just a blank screen staring at me while the power was on and the fans were running inside. I tried turning on and off the power a few times with no luck.

There are regular data processing tasks I need to run for the day and they can’t wait until the pc is repaired. Usually it takes a few weeks just to repair a pc in my company. It seemed like I am in deep shit and it’s only Monday!  Instead of panicking, I simply logged in to another computer in the office and restored the data required for the project I am working on. It took about 5 minutes to restore and I started working on my scheduled tasks for the day.

This is all possible thanks to CrashPlan from code42. It is a great backup software with very useful features. It is very easy to install, setup and configure. Please go to the product web page https://www.code42.com/crashplan/ for more details.

The best feature I like and which saved me big time today is the ability to back up to your friends/coworkers computers. They provide paid service – cloud back up plan for unlimited storage space. I just use free feature which allows me to backup to another computer. And it worked great and left me with very satisfying experience. I would recommend this hassle free software if you are not already using anything yet.

“Could not load data from the data source” error in ArcMap 10.1

When working in ArcMap, one would encounter all kinds of wired-ass problems for all kinds of unknown reasons. One of them is when you are working on a map document for a while, and out of the blue, unable to open the attribute table of a layer or layers in the document.

The error usually occurs when you right click on a layer and click “Open attribute table”. Instead of showing the attribute table, ArcMap displays you the following message and an empty attribute table. The strange thing is you still can select the rows in the attribute table and you can see how many rows in the table as well. It is just that all the rows are now empty.

couldnotload

empty_table

There are a few ways to solve this problem. One easy way, which worked for me, is to export out the problematic layer to a new geodatabase and then import it back to your map document. I hope this is helpful to those who encounters similar problem using ArcMap.

One or more layers failed to draw: ArcMap Drawing Errors

I have been working with a huge map document with thousands of layers, and encountered this weird error where by if I tried to zoom out, one of the layers disappeared. If I zoomed in, it appeared again.

I have tried many solutions I could google out for a few days, but nothing worked. I put my problem on geonet.esri.com discussion board and waited for the help. To my surprise, one user responded my question with a few precise suggestions and my problem has solved. The solution which worked for me is simply to copy the feature layers over to new map session.

Following is the link to the thread on geonet.esri.com where I got the help. 🙂
https://geonet.esri.com/message/451155#451155

SSH to EC2 instance from behind firewall

Well, this is a short post for those who would like to start an EC2 instance with different SSH ports to access from behind a corporate firewall.

First you must download and install CLI tools from Amazon to manage EC2 resources. After installing CLI tools, create a user data script as follow_

#!/bin/bash -ex
perl -pi -e 's/^#?Port 22$/Port 443/' /etc/ssh/sshd_config
service sshd restart || service ssh restart

After that, run ec2-run-instances command from command line as follow_

ec2-run-instances --key my-aws-keypair --region us-west-2 --instance-type t1.micro --user-data-file user-data-script-file.txt ami-70f96e40

You might want to change the above command with your own parameter set for keypair file, region, instance type etc. Please refer to manual for Amazon CLI tools for more details.

Go to Amazon web console to check your instance is getting started. Finally change security group to allow port 443 as inbound rule.

Now you can ssh into your ect instance with custom port.

Conversion between Singapore Coordinate System SVY21 and World Geodetic System WGS84

In August 2004, Singapore Land Authority introduced the new coordinated cadastre system, SVY21.

Recently, I need to use data from both onemap and google map, and the difference in coordinate systems made it pain in the ass to work with. So I wrote a Python script to convert to and from both coordinate systems.

Basically I used the geometry service provided by Esri Arcgis Online at ” http://tasks.arcgisonline.com/ArcGIS/rest/services/Geometry/GeometryServer

The script is hosted on https://github.com/zkkmin/coordconvert .

Since I wrote it mainly for my task requirement, you might need to modify it for your own usage 😀

Simple site monitoring and alerting using Python & Twilio SMS

My company has a website with mostly static contents running on an old Linux machine. We hardly need to update the contents over a long period of time and everyone forgot about it. Then we got complaints from users as the site went down for a while. We fixed the problem and got back the site up in no time but it was quite embarrassing.

So I decided to implement a simple monitoring and alert system for future breakdown since the box is like really really old. I wrote a Python script to make requests to web pages and give out alert via sms if failed. For sms alert I used Twilio API.


import urllib
from twilio.rest import TwilioRestClient

def send_sms(urlstr, msg_string):
	account_sid = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
	auth_token = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
	client = TwilioRestClient(account_sid, auth_token)

	message = client.sms.messages.create(body="Server Status (%s) : %s" % (urlstr, msg_string) , to="RECEIVER NUMBER", from_="YOUR TWILIO NUMBER" )
	print message.sid

def main():
	urlstr = "http://ourwebsite.com/"
	result = ""
	try:
		result = str(urllib.urlopen(urlstr).getcode())

	except Exception,e:
		result = "SERVER DOWN"

	if result != "200":
		send_sms(urlstr, result)
		#print "NOT OK"

	print result

if __name__ == '__main__':
	main()

Above simple script will check and send out sms if the web site is down. Go check out Twilio for awesome phone and sms system.