Thursday, March 12, 2015
An Example of a Self Organizing Team
But before you judge that person, let me tell you a story. In this true story youll have the opportunity to judge me for having the same thoughts before trying a different approach. This is the story of my self organizing daughter.
My kids go to a great school - the kind of school that fosters engaged teachers who go the extra mile to create engaged students. Throughout the school year the teachers run numerous clubs before school, at lunch, or after school including run club, football club, circus club (complete with unicycles!), reading club, wrestling club, girls club, gymnastics club, etc. My kids love attending these clubs and my oldest (aged 10 during this story) was determined to be in every one of those clubs.
This is great, except there were a few problems. Many of the clubs started before the school day so she had to be ready and out the door pretty early. Since most of the clubs had a strict attendance policy (if you miss two days, you are out of the club), being on time was important. Further, because of our cold winter weather, she received a ride on many of the mornings with one of her friends. If she was late getting out the door, her friend also risked being late and missing out on the clubs.
So, being the responsible parents that we are, we nagged her out the door each the morning. "Time to get out of bed", "Have you brushed your teeth yet?" "Go comb your hair", "Its time to make your lunch now!" "Hurray up, youre going to be late!" It made for some pretty frustrating mornings for all of us. We treated her exactly as the statement above: "some people are just lazy and need to be told exactly what to do and when." She would do the task we asked her to do and then wait to be told what to do next. Looking at it now, she was disengaged and dis-empowered. I cringe at the memory.
While this was happening, I was reading the 7 Habits of Highly Effective People by the late Dr. Stephen R. Covey. I had my "Oh crap" moment when he said this:
"You cannot hold people responsible for results if you supervise their methods. You then become responsible for results and rules replace human judgement, creativity, responsibility... Effective leaders set up the conditions of empowerment and then... get out of people’s way, clear their path and become a source of help as requested.“
After talking it over with my wife, we approached our daughter and apologized. We then discussed a new plan with her. Since she clearly was capable of getting out the door on time on her own, she would take over that responsibility. We would make ourselves available to be a source of help if requested but otherwise stay out of it. She jumped at the chance to take ownership of her morning routine. On the first day of this new arrangement she was ready fifteen minutes early and there hasnt been a day since then that she wasnt ready on time. Not so lazy after all I guess - just the victim of well intentioned managers.
After getting over my embarrassment, I pondered how this is a great parallel to self organized teams:
1. Status is known daily. We had daily status of her progress - if she was late she would miss her ride or be kicked out of a club. Our agile teams have daily standups, visual boards, frequent deliveries and demos so that everyone understands that status of the project at all times.
2. Agreed upon goals. She understood the goal (get out the door on time so that she can keep going to clubs) and desired to reach it. Self organized teams need to understand the goals of the project, not just the tasks to complete the project.
3. Freedom over methods. She started out being assigned tasks and moved to taking ownership of her own methods. Self organizing teams are given freedom to achieve the project goals and pull their own tasks rather than being assigned tasks.
4. Ask for help. She wasnt abandoned if she ran into trouble (oh no! I cant find the shirt that matches these pants!) - we stepped into help when asked. An effective scrum master, agile project manager, IT director, etc helps the team in a similar manner.
5. Empowerment brings results. This change turned a painful morning routine into a simple one because she was given the trust and responsibility to achieve the goal. When a team is given the trust and empowerment to accomplish the goal using their own methods, great things occur.
(Note :You can ready a similar story about Dr. Covey and his son entitled "Green and Clean")
Wednesday, March 11, 2015
Building an Enterprise File Server on Google Drive
Google Drive is increasingly popular in the enterprise, and many organizations would like to leverage it as a replacement for their existing on-premises file servers. Moving physical file servers to Drive provides many benefits, such as reliability, cost-effectiveness and the ability to access the files from anywhere and any device. However, the storage structure of Google Drive, where files are owned by many different users, is significantly different from the centralized organization of a file server, where everything is under the control of a small number of system administrators.
To address this problem, AODocs uses the Google Drive API to automatically transfer the ownership of files to a system account, and thus create a sort of “managed area” within Google Drive. With the Google Drive API, AODocs has complete control over the folder structure and the permissions of files owned by this system account. AODocs can be deployed in one click from the Google Apps Marketplace, which makes our application visible (and easy to try out!) for every Google Apps administrator in the world.
Companies who want to store their files on Google Drive may be concerned about losing control of their data (e.g. access to files being lost when an employee leaves the company) and controlling sharing permissions.
AODocs uses a single system account (i.e. a Google Apps account belonging to the customer’s domain, but not used by any human person) as a “proxy” to control the files. When a Google Drive files is added to an AODocs library, the ownership of the file is transferred to the AODocs system account and the file’s writersCanShare attribute is set to false, so that only AODocs is able to modify the file’s permissions afterwards.
To change the ownership of the file, we check if the system account can already access the file, and then either insert a new “owner” permission on it or use the Permissions.update method with the transferOwnership flag:
public void changeOwner(String user, String fileId, String newOwner) {
// Find what is the current permission of the new owner on the file
Permission newOwnerPermission = null;
PermissionList permissionList = RetriableTask.execute(new DrivePermissionListTask(drive.permissions().list(fileId)));
newOwnerPermission = findPermission(permissionList, newOwner);
if (newOwnerPermission == null) {
// New owner is not in the list, we need to insert it
newOwnerPermission = new Permission();
newOwnerPermission.setValue(newOwner);
newOwnerPermission.setType("user");
newOwnerPermission.setRole("owner");
Drive.Permissions.Insert insert = drive.permissions().insert(fileId, newOwnerPermission);
RetriableTask.execute(new DrivePermissionInsertTask(insert));
} else {
// New owner is already in the list, update the existing permission
newOwnerPermission.setRole("owner");
Drive.Permissions.Update update = drive.permissions().update(fileId, newOwnerPermission.getId(), newOwnerPermission);
update.setTransferOwnership(true);
RetriableTask.execute(new DrivePermissionUpdateTask(update));
}
}
Since all the files are owned by the system account, AODocs completely controls the lifecycle of the file (how they are created, in which folder they are located, who can change their permissions, who can delete them, etc). AODocs can thus provide higher-level document management features on top of Google Drive, such as configuring the retention time of deleted files, limiting external sharing to a whitelist of “trusted external domains”, or recording an audit log of file modifications.
As illustrated in the code snippet above, AODocs relies on the Google Drive API to perform all the operations on the managed files. The main challenge we had when using the Drive API was to properly handle all the error codes returned by the API calls, and make sure we make the difference between fatal errors that should not be tried again (for example, permission denied on a file) and the temporary errors that should be re-tried later (for example, “rate limit exceeded”). To handle that, we have encapsulated all our Google Drive API calls (we are using the Java client library) into a class named RetriableTask, which is responsible for handling the non-fatal errors and automatically retry the API calls with the proper exponential back-off. Here is a simplified version:
public class RetriableTaskimplements Callable {
[...]
private final Callabletask;
[...]
@Override public T call() {
T result = null;
try {
startTime = System.currentTimeMillis();
result = task.call();
} catch (NonFatalErrorException e) {
if (numberOfTriesLeft > 0) {
// Wait some time, using exponential back-off in case of multiple attempts
Thread.sleep(getWaitTime());
// Try again
result = call();
} else {
// Too many failed attempts: now this is a fatal error
throw new RetryException();
}
} catch (FatalErrorException e) {
// This one should not be retried
Throwables.propagate(e);
}
return result;
}
AODocs is designed to work seamlessly with Google Drive, and our top priority is to leverage all the integration possibilities offered by the Google APIs. We are very excited to see that new features are added very often in the Admin SDK, the Google+ API, the Drive API that will allow AODocs to provide more options to system administrators and improve the experience for our end users.
| Thomas Gerber profile Thomas is the CTO of Altirnao. Before founding Altirnao, Thomas has led a team of senior technologists and architects on High Availability/High Performance implementations of enterprise software. |
Sunday, March 8, 2015
An easier way to configure Google Apps domains
Setting up a new domain name and configuring it to work with Google Apps email is about to get a lot easier. We’re working with the top domain registrars worldwide to reduce the number of manual steps necessary for this portion of the signup process. We made improvements earlier this year to allow users to more easily verify their domain with GoDaddy and eNom, now with a new API available to any registrar, users can verify and transfer their email in 3 easy steps, down from 10–and users are no longer required to leave the Google Apps signup flow to complete domain registration.
Customers can experience the new, easier process today with TransIP and Hover domains, as these registrars have completed their integrations with Google Apps signup flow API. More than 10 additional registrars, including some of the largest, are actively building through the API and are currently expected to be available through the simpler setup over the next few months:
- Afrihost
- Domaindiscount24.com, a subsidiary of Key-Systems.net
- Gandi
- Go Daddy
- eNom
- GMO Internet Group
- Heartinternet.co.uk
- Domainmonster.com
- 123-reg.co.uk
- LCN.com
- Melbourne IT
- Name.com
- Network Solutions, a subsidiary of Web.com
- Wix.com
- WebNic
If you are a registrar interested in implementing this RESTful API to automate the DNS setup process, please apply here.
![]() | Mohan Konanoor Mohan Konanoor is a Software Engineer working for the Google Apps for Business team. He is currently leading various initiatives around the area of signing up and on-boarding for Google Apps. |
Tuesday, March 3, 2015
Harun Yahya An Invitation To The Truth
JUICE?
- Books & Audio Books
- Movies
- Articles
- Multimedia Presentations
- Other Useful Sites
(Everything from The Miracle in the Leafcutter Ant to Islam Denounces Terrorisim)
FIRST!
I would like to wish all Muslims a Ramadan Mubarak! Insha-Allah, we all have a great month of Ibadah (All acts of worship to obey Allah. E.g. fasting, prayer and doing good deeds) and Learning (also Ibadah). And I also wish my fellow non-Muslim friends and visitors a prosperous month of happiness, productivity, fun and learning.
WHY?
As you might know by now, today is the first day of fasting (during Ramadan) for us Muslims. This fact got me thinking about how can I also facilitate a better understanding of Islam and Muslims to the Non-Muslims, using this blog as a channel. After a bit of reflection, I thought that linking you to the Harun Yahya site would be a good start to open your mind about what Islam is about and its views on Science, Technology, Terrorism, Nature, etc. As all the materials (as far as I know) are free, you will have a lot to explore (without access barriers except perhaps the need for broadband to download or view the videos). I believe it is a great open educational resource site for both Muslims and Non-Muslims alike.
TYPICAL QUESTIONS?
Here are a few typical questions I have gotten throughout my life from curious learning individuals:
- Are you a Muslim? (This one I get from both Muslims and Non-Muslims)
- You are joking right? Seriously? (This one I get because of my looks. Suspiciously white-looking!)
- Alright, but you are different? (If we all mix more, I suppose we will realize that we have more in common than we realize! )
- Do you drink? (If so, you are one of us!)
- Do you party? (Beginning to really like you!)
- Do you eat pig? (Whats wrong with the pig!)
- Do you pray? (Getting serious! Especially, if you got a long beard!)
- Have you studied at a Religious school (or Madrasah)? (Red Alert!)
- Have you been (or studied in) to Yemen, Afghanistan, Pakistan or Iraq? (Confirmed!)
- Etc.
If I answer all these questions correctly, I will probably be on someones most wanted list. I am only joking, but I suppose others might feel uncomfortable with all these questions, especially if they are new to it. But since I have always been the odd one out, I have gotten used to it (Actually, these experiences are great for story-telling and a good laugh!). Yes, I am also left-handed! A Genius! Well, when I joined a chocolate factory (Freia) sometime in the past, I was informed that left-handed workers were more prone to accidents (A right-handed world!). It made me feel very comfortable when I was assigned to manage a monstrous chocolate packing machine. Though, my colleague coached me well, and Al-Hamdulilla I had no major accidents!
I AM THE CHOSEN ONE!
I thought I had experienced it all! But, then again I had never visited Down Under. When I travelled to Australia recently (holiday) with my wife and two kids (below 6), I had a tough time (a good laugh I mean!) getting through custom (or security) at Brisbane Airport with our stroller, baby bottles, baby oil, milk powder, nappies, etc. (You never know!). Then came the moment of truth! The Aussie mate told me that I have been randomly selected to check for explosives (My younger brother was also chosen once, too!). I suddenly felt that I was more than famous (Infamous!). I have never really been lucky in terms of selection, but this time I was the chosen one (Neo watch out!). Hopefully, next time it is Harvard University offering me a free PhD scholarship for researching the future masterpiece The Lecture". Yes, then they took me to a tent like construction with curtains (a few meters away). Luckily there was both a man and a woman going to check me out, meaning I used my intellect to figure out that I did not need to strip down naked. The body shirt was quick with the electronic stick (No Crocodile Dundee style private part check! Or That is not a knife...), and I thought well I am through. But then the Aussie pointed to my hand luggage, and I invited them to check it out. Then I was instructed to open it myself. I was thinking should I open it slowly showing a bit nerves to get them more excited (not really!), but then again I got my wife and kids waiting outside. Luckily, I had no explosives (this time around. CIA alert! Just joking! Are you sure?)! What can I say, except I admire the Australians for their professionalism and friendliness (Seriously!). Lets face it, they were doing their job, which was strategized by someone higher. Overall, Brisbane and Gold Coast was simply great, especially for the kids. So, what more can we ask for?
REFLECTION!
Life goes on, but I feel sorry for others that are randomly selected for the first time (Perhaps Google search could be used as one of the filtering tools). One might argue "We can never know, right?". How can we argue against that argument (which can also be applied to any human, race, culture and religion)! Then, the statistics argument will come up (Yeah, divide that with one billion or more, and tell me what you get?) Anyway, I suppose now that there are more than one Billion Muslims around the world here and there, we must find ways together to co-exist. We Muslims also need to remember that we need to do more efforts to co-exist, even after a few bad incidents (No weed incident is going to stop me from trying!)!
THE INCONVENIENT TRUTH
Coming to think of it, we are also facing another major battle in the coming decades commonly known today as the Inconvenient Truth (Ask my environmentalist Brother Gore, and he will tell you!), which will probably in a strange way bring us increasingly closer (due to necessity at least!), as we struggle to save our planet, and give our future generations a chance to enjoy and appreciate fresh air, clean water, delicious food, waterfalls, fjords, animals, bugs, fish, whales, trees, nature, and so on.
According to Islam, our main purpose is to worship Allah and to realise our responsibility towards Him as Khalifat-Allah (the vicegerent of Allah) on earth.
“Behold, Thy Lord said to the angels: `I will create a vicegerent on earth.’ They said: `Wilt Thou place therein one who will make mischief therein and shed blood? - Whilst we do celebrate Thy praises and glorify Thy holy name?’ He said: `I know what you know not.”(2:30).
Yes, we have the ability to do a lot of mischief (especially with all our nuclear toys), but then again we have been given the ability to do good and change for the better. So, it is really up to us to make a difference! Can we do it? Of course we can! We just got to keep on trying and never give up (Then Insha-Allah or God Willing the fruits will come)! Finally, the real joy in this worldly life is not only our success, but the struggle itself. Interestingly, the more we struggle, the more we learn to appreciate those little things... :)
Friday, February 27, 2015
How to Make an Editable PowerPoint and Lock Down Clipart
This week the winner of the poll was how to make an editable powerpoint! For anyone who has purchased clipart online for your teacher products, youll notice it always says that the images need to be locked down... but how do you lock the images down and still keep an item editable!? Well... heres how!

This was a close one in the poll!
Now, onto the tutorial!





Monday, February 16, 2015
C program to find whether a number is an Armstrong number or not
#include<iostream.h>
#include<conio.h>
#include<math.h>
void main()
{
clrscr();
int n,m=0,x,y;
cout<<"Enter any three digit numnber:";
cin>>n;
y=n;
while(n!=0)
{
x=n%10;
m+=pow(x,3);
n=n/10;
}
if(y==m)
cout<<"The number is an Armstrong number";
else
cout<<"The number is not an Armstrong number";
getch();
}
Thursday, February 12, 2015
HowTo Select an item in perl Gtk2 IconView
You can get the iterator when you add / remove data on the liststore
$ls - is a liststore
$iter - is a iterator
$iv - is an iconview
my $path = $ls->get_path($iter);
$iv->select_path($path);
