Image

Aim to be a zero.


I recently finished reading this lovely book by Chris Hadfield: “An Astronaut’s Guide to Life on Earth” a book recommended by Destin -the Smarter Everyday guy on YouTube.  In summary the book details Chris’ journey to becoming an astronaut , a general insight of what being an astronaut is, the training,preparation, lift off, life in space and the aftermath.

In the book, there are many life lessons that have defined Chris’ journey to space and what makes the quest to space successful. There are many of them in this book, lessons that i will/not likely write about in subsequent posts. One of them somehow convinced me to write this post.. something that i have somehow applied in my life and it has worked quite well. It’s the best medicine to taming one’s ego and improving the chances of being truly credited for one’s excellent achievements.

It’s the best advice i can give to anyone who wants to leave a positive impression in any new setting or environment. This is for the new employees, interns , new member of a team.. it’s also for everyone.

I will pull a couple of excerpts from the book..   too lazy to put it in my own words.

Over the years, I’ve realized that in any new situation, whether it involves an elevator or a rocket ship, you will almost certainly be viewed in one of three ways. As a minus one: actively harmful, someone who creates problems. Or as a zero: your impact is neutral and doesn’t tip the balance one way or the other. Or you’ll be seen as a plus one: someone who actively adds value.

Everyone wants to be a plus one, of course. But proclaiming your plus-oneness at the outset almost guarantees you’ll be perceived as a minus one, regardless of the skills you bring to the table or how you actually perform. This might seem self-evident, but it can’t be, because so many people do it.

pg 152.

When you have some skills but don’t fully understand your environment, there is no way you can be a plus one. At best, you can be a zero. But a zero isn’t a bad thing to be. You’re competent enough not to create problems or make more work for everyone else. And you have to be competent, and prove to others that you are, before you can be extraordinary. There are no shortcuts, unfortunately.
Even later, when you do understand the environment and can make an outstanding contribution, there’s considerable wisdom in practicing humility. If you really are a plus one, people will notice—and they’re even more likely to give you credit for it if you’re not trying to rub their noses in your greatness.

Pg 154.

The best way to contribute to a brand-new environment is not by trying to prove what a wonderful addition you are. It’s by trying to have a neutral impact, to observe and learn from those who are already there, and to pitch in with the grunt work wherever possible.
One benefit of aiming to be a zero: it’s an attainable goal. Plus, it’s often a good way to get to plus one. If you’re really observing and trying to learn rather than seeking to impress, you may actually get the chance to do something useful

pg. 156

When you’re the least experienced person in the room, it’s not the time to show off. You don’t yet know what you don’t know—and regardless of your abilities, your experience and your level of authority, there will definitely be something you don’t know.

How to be a zero?

  • Try to contribute in small ways without creating disruptions.
  • Do not try to prove how an amazing addition you are.
  • Volunteer for the most hated basic tasks (like taking out trash)
  • Observe & learn.
  • Above all, be humble.

In many situations i have observed people trying to be smartest people in the room even when they don’t understand the environment that they are in. Many times this hasn’t always ended well for them. Aiming to be a plus one will always increase your chances of being a minus one.. leaving you with a daunting task of working your way 2 steps up.
It’s easy to be a Zero, you can easily work your way up, without exposing your ignorance or making a mess.

Aim to be a Zero, Trust me it Works!

Learning a new skill.


I don’t know if you have come across this concept of: The 10,000 hours Rule?

This concept/rule was publicized by a book titled “Outliers” written by Malcolm Gladwell. The book explores the lives of the best, the brightest, the most famous and the most successful people. It seeks to understand what really makes high-achievers different?

In the book Malcom says that it takes roughly ten thousand hours of practice to achieve mastery in a field. You wonder how he came to this conclusion?  He got it from a guy called K. Anders Ericsson, a Swedish psychologist and Conradi Eminent Scholar and Professor of Psychology at Florida State University who did a study, investigating how expert performers acquire their superior performance through extended deliberate practice.

10,000 hours doesn’t sink in well from the look of it until you put it into perspective of actual time here on earth. Allow me to help you with this: For one to achieve mastery in any particular skill it will take them:

Plan A: 8 Hours a day, 5 Days a Week.
5 good years.
If you’re past 25, forget it.. unless the skill also pays the bills.

Plan B: 2 Hours everyday
13 good years.
Finally there’s hope for some of us…

In my pursuit to understand this 10,000 hours rule, i came across this interesting TED talk by Josh Kaufman on how to learn anything.. a simple talk that states that it takes 20 hours to learn a new skill… (Warning this is not shortcut to escape the 10k hours..  if you still want to be an expert in something then you need to take the 10k route.)  if you just want to learn a simple skill; like skating, playing an instrument,  any kind of skill that you don’t necessarily need to be an expert in it, the 20 hour rule works for you.

Kaufman sets out a simple 4 point approach rapid skill acquisition.

1. Deconstruct the skill.
Determine what skill you need to acquire and how much you should be able to do at the end.  Break down the skill into smaller parts of the skills.

2. Learn enough to self correct.
Learn the basics of the skills, learn just enough to be able to self correct/self edit(being able to know when you’re making a mistake and be able to change to something better/different.

3. Remove practice barriers.
Remove any kind of distractions/barriers that prevent you from being able to sit down/ dedicate uninterrupted time to practice.  Things that might get you to procrastinate the practice of the new skill, especially when it gets tough.

4. Practice for at-least 20 hours.
Practicing for 20 hours will help you get beyond the point where subsequent practice sessions won’t be so much work and would be more enjoyable to get going. It will get you closer to falling in love with practice.

What skill do you want to acquire..and what level of mastery do you want to achieve?
Do you want to be a master of that skill? can you afford to put in 10K hours of practice?
Do you just want to learn something new? I believe 20 hours is affordable for anyone and everyone..

What are you waiting for? Start your journey today.

Happy practicing folks 🙂

Tutorial: Building a simple Client-Server android app using NancyFx, GSON and Sugar ORM. Part 2


In part two of this tutorial series we will focus on developing a simple mobile back-end service.

We are going to build a simple mobile sales application, this application will have only two basic entities

  1.  Products (stored in a server database)
  2. Sales (created on mobile but synced to the online database periodically)

Building a Mobile Sales solution Back-end

We are going to use NancyFx framework to build the mobile back-end service to serve as an API for our mobile application. If you are not a .Net developer don’t worry i promise to write another post using a language of choice.

IDE: Visual Studio 2013/2012/2010

Step 1. Starting a new NancyFx project

There are many ways of starting a Nancyfx project but the simplest way of starting one is downloading the nancyfx visual studio template which will help you choose the appropriate project template.  NB: NancyFx is very well documented and has an amazing tutorial on how to start a new project. If you are a total newbie.

You can host a Nancyfx project in many different ways (IIS (Azure, Asp.net), Self Hosted, Ngnix, FastCgi ) in this tutorial we will host our solution on Azure.

If you have downloaded and installed the Nancy project template,  Start a new project, select Web > Nancy Application with ASP.NET Hosting. Give the Project a name : MobileSales

start_nancyfx_project

The project directory will look like this:

project_initial_view

Module Concept:  Nancy was designed to handle all application behavior inside a Module, inside a module you can define the application request routing and behavior.

Open the IndexModule.cs replace the entire

Get["/"] = parameters =>{
......
}

with this simple line of code.

   
  Get["/"] = parameters => Response.AsText("you are here");

Run the application.
The result will be as follows.

lauch

Deep Dive

We are going straight to developing our application if you need to learn how NancyFx works kindly take a detour on onto it’s  official wiki,   You can also search  entire web for many other tutorials on how NancyFx works.

Step 2. Create data models for our solution

In this solution we will use Entity Framework as our ORM framework for this solution.  Using Nuget Package Manager Console, execute command below to add Entity Framework library into your project.

PM> Install-Package EntityFramework 

We are going to use these two entities in our solution.
1. Product
2. Sale

Create new class Sales.cs

namespace MobileSales.Models
{
   public class Sale {
     public int Id { get; set; }
     public int Items { get; set; }
     public double Amount { get; set; }
     public Product SaleItem { get; set; }
   }
}

Create new class Product.cs

namespace MobileSales.Models
{
   public class Product {
     public int Id { get; set; }
     public string Name { get; set; }
     public double Price { get; set; }
     public virtual List<Sale> Sales { get; set; }
  }
}

Step 3 Creating a DbContext
A DBContext is the primary class that is responsible for interacting with your SQL Database.  Here we register all the entities that we are going to work with.

Create a class SalesContext

using System.Data.Entity;
using MobileSales.Models;

namespace MobileSales
{
    public class SalesContext : DbContext
    {
        public SalesContext():base("DefaultConnection"){}
        public DbSet Products { get; set; }
        public DbSet Sales { get; set; }
    }
}

Step 4: Create a Database initializer.
A database initializer is a class that takes care of database creation and initialization in a Code First application. It is the job of database initializer to create the database and required tables based on the data model classes you create. This initializer will help us create the database and also seed it with some sample data for use.

Create a class DbInitializer

using System.Collections.Generic;
using System.Data.Entity;

namespace MobileSales
{
    public class DbInitializer:CreateDatabaseIfNotExists
    {
        protected override void Seed(SalesContext context)
        {
            base.Seed(context);
            //Create some sample products.
            List products = new List()
            {
                new Product(){Name = "Apples",Price = 20},
                new Product(){Name = "Mango",Price = 20},
                new Product(){Name = "Pear",Price = 5},
                new Product(){Name = "Banana",Price = 5},
                new Product(){Name = "Pineapple",Price = 150},
            };
            context.Products.AddRange(products);
            context.SaveChanges();
        }
    }
}

To ensure that the initializer is executed at the start of the application: Open Bootstrapper.cs
and override ApplicationStartup method.
Add the following lines of code

Database.SetInitializer(new DbInitializer());

Your Bootstrapper should look like this.

using System.Data.Entity;
using Nancy.Bootstrapper;
using Nancy.TinyIoc;
using Nancy;

namespace MobileSales
{
    public class Bootstrapper : DefaultNancyBootstrapper
    {
        // The bootstrapper enables you to reconfigure the composition of the framework,
        // by overriding the various methods and properties.
        // For more information https://github.com/NancyFx/Nancy/wiki/Bootstrapper
        protected override void ApplicationStartup(TinyIoCContainer container, IPipelines pipelines)
        {
            base.ApplicationStartup(container, pipelines);
            //Specify the database initializer. 
            Database.SetInitializer(new DbInitializer());
        }
    }
}

Step 5: Implement API endpoints.
We are going to implement 2 API methods that our mobile application will access.
1. To fetch products
2. Post sales

Inside IndexModule.cs
Implement the following methods below

Get["/"] = parameters => Response.AsText("you are here");
            Get["/products"] = parameters =>
            {
                //fetch products from db. 
                var products = new SalesContext().Products.ToList();
                return Response.AsJson(products);
            };

            Post["/sale"] = parameters =>
            {
                //Mapping our POST JSON request to a Sale Object.  
                var sale = this.Bind();
                var ctx = new SalesContext();
                ctx.Sales.Add(sale);
                ctx.SaveChanges();
                return Response.AsJson(sale);
            };

Step 6: Creating local database.
This step requires an installation of SQL Server Express or SQL Server.

In your project create a folder App_Data, this is where the database file will live. Right click the App_Data folder then navigate to Add -> SQL Server Database. You will be prompted to pick a name, enter SalesDb remember this name.

Once we have the database created we will need to connect our application to this database, this we specify using a connection string inside the Web.config file.

Open Web.config file and insert the following code:

 <?xml version="1.0" encoding="utf-8"?>
<configuration>
 ..............
   <connectionStrings>
    <add name="DefaultConnection" connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\SalesDb.mdf;Initial Catalog=SalesDb;Integrated Security=True"
      providerName="System.Data.SqlClient" />
  </connectionStrings>
  .................
</configuration>

Step 7: Testing.
Run the application and type

http://localhost:12008/products

The browser should output a list of products in JSON.

sample_product

Step 7: Publishing to Azure.. .
For the sake of brevity, i will forward you to this tutorial on how to publish to windows azure. I have published mine and it’s living here.

Conclusion:
In this series we have tried to build a simple Mobile service back-end using NancyFX framework. In the 3rd part of this series we are going to build an android application that connects to this mobile back-end service.

See you on the next post, comments are welcomed.

Download the Source Code here…

 

Image

Introverts united: Separately.


I am an introvert, we introverts are peculiar people and many a times  ‘other people’ don’t seem to understand us.  I am also an avid reader of HONY (Humans of New York) Facebook page and one of these posts brought out the most amazing comment trail about introverts.

The Post: Here

The post was about a certain old lady who is a founder of 3 interesting clubs. In the comments people started coming up with ideas of clubs they could start, or join. This one comment caught the eyes of many introverts and it ended up with over 300 replies and 20,000 likes.

intoverts

I have curated a number of interesting replies,   Enjoy 🙂

  •  Can i join? Is hard to be a solo introvert.
  •  Dinner with myself, I can’t cancel that again!
  • You can be in my club. It’s called the secret society of one. We eat peppermint on the first day of the month and keep it a secret.
  • Introverts are awesome
  • Your introvert club intrigues me, and I wish to subscribe to your newsletter.
  • Haha! Me too. Every night after the kids are in bed it’s a secret meeting with just me. Lovely times… tea, carbs, and a book.
  •  I’d still find a way to cancel that club meeting.
  • When you don’t get overwhelmed and cancel…
  • if you take members, will we NOT meet every wednesday?! LOL
  • … and only show up to actually a third of the meetings…
  • Haha! Me too and I get nervous before every meeting. 😉
  • Lol i’m a part of your club, except I go for meetings every day.
  • I would have a difficult time finding the courage to show up to my own introvert club. “Hi, I’m nervous. I’m not really sure where to start.”
  • I’m in that club. It’s so nice NOT seeing you. 😉
  • This is sooo me. I just can’t commit to a certain day. I’ll see if I feel like being bothered next Tuesday or Thursday
  • Come Join and meet NO other members! lol…the group motto can be : Know thyself! hahahaha
  • My kind of club. I meet in my bedroom, with a pile of books, some Netflix, and coffee. My dog visits as a special guest sometimes.
  • ‘Dinner with myself ,can’t cancel that again!’
  • And then talk myself out of going
  • I’m in that club too. Thank God there aren’t any meetings.
  • I’m not a meeting person but occasionally I do have a drink with myself on my back deck. It’s very informal
  • Heheheee lol…I meet with myself daily.😀
  • we should do this. You know like by ourselves…separately
  • I’m the CEO n only member of Myself Club.
  • Need the week in between to decompress, right?!
  • I’d ask to join, but I started my own.  🙂
  • I’d love to join, but I think I have other plans…with myself.
  • Commuting is easy, just turn around…
  • Love it! I’ll join but will be absent as much as I can hahaha
  • I won’t be joining you, as I too will be with myself! We’re members just by being introverts, right? Hooray for introverts! I’ll be in my room. …..
  • I love bonding with fellow introverts….as long as it’s online.
  • Same, but we haven’t met yet
  • For an introvert you have a lot of comments just on this comment alone.
  • I meet myself everyday… I don’t think it’s healthy anymore
  • I don’t want to meet even me..
  • Is there a ” leave me alone ” club!
  • Do you show up?
  • The meetings go okay but sometimes I’m uncomfortable when I have to talk to myself. I’m not a good listener.
  • Please can I join? I might even turn up to meetings … sometimes!
  • The Annual General Meetings are the most difficult.
  • Hahaha!!!! Love this. I’m surprised you don’t meet more regularly?
  • You could invite others but they wouldn’t show up
  • I might show up for five minutes or so, but I’ll need about three hours of alone time to recover from so much human interaction.
  • Did you go to the National Introverts Convention this year? No? Don’t worry, no one showed up.
  • I love it! I used to wonder what was wrong with me. I didn’t know until the internet came along and there are others like me. lol
  • I like that you give yourself significant time away from yourself, every other Wednesday is a good distance.

I hope you enjoyed 🙂

Tutorial: Building a simple Client-Server android app using NancyFx, GSON and Sugar ORM. Part 1


As a mobile app developer once in a while you’ve landed on a project that has these strict requirements .

  1. An android application.
  2. Which should pull data from a remote database.
  3. Submit data back to a remote database
  4. But be able to store the data on the phone’s local database.

There are 1000 and 1 ways of implementing such an app but in this tutorial i will focus on the major technologies that can make your life much easier. Most importantly i will try to highlight some of the challenges that come with combining these technologies so as to make your life much easier next time.

In this first post I’ll set the background of each technology and it’s role in the whole solution, we will dive into the details in the subsequent posts.

1. Building a mobile back-end service

Developing a mobile back-end service can be as simple as using an existing  Mobile back-end service providers like

  1. Windows Azure mobile services
  2. Google Cloud Mobile Back-end
  3. Kinvey Mobile Back-end.
  4. Add yours here…

or as hard as developing your own. Developing your own is an attractive option if you want to have more control over the application logic from the server side or you are plugging in to an existing database.

This tutorial series will focus on developing your own mobile backed service using NancyFx which is a light web framework for .NET: if you are not a .NET developer don’t worry I’ll write another post soon on your preferred language(stick around you’ll learn other important stuff).[FYI] I don’t use .NET for the web, most of my previous web solutions are in either PHP or Python..

NancyFx is an amazingly simple web framework for building REST web API’s and i would recommend it to any .NET developer who intents to build a mobile back-end solution using ASP.NET/MVC4 (They are too bulky for building web API’s) user NancyFx. For Ruby developers NancyFx is an equivalent of Sinatra, PHP (Silex), Python (flask)

2. API Data Exchange.

JavaScript Object Notation (JSON), has emerged as a dorminat standard for easily exchanging data across systems (client-server, server-server). Though there are other formats like XML but JSON is the most preferred mode of data exchange for mobile client apps because it’s more compact (uses less bandwidth)

Challenge: Serializing and deserializing JSON data to and from Objects
Solution: NancyFX provides for JSON deserilization and serialization out of the box.

Android provides some basic classes for handling JSON but the challenge with these classes is that they do not provide auto-mapping of JSON data to corresponding Java Objects. If you have an object with more than 50 fields it would be quite tedious to step through the JSON content fetching and setting values to the corresponding Java object.

I did some basic research and found Jackson Library it is an amazing Java library that provides for  auto-mapping of your JSON data into your corresponding Java objects (POJO’s) To explore more about this library check out this simple tutorial.

Jackson Library works perfectly for parsing any JSON content but at some point it totally failed to work with Sugar ORM and had to find another Library.. In this tutorial i will use GSON.   It has a comprehensive documentation on it’s usage here

3. Offline data storage on the device

Android supports SQLite database to store data on mobile. For those who have used this database you will agree with me that working with SQLite directly can sometimes be tedious, time being a valuable resource an ORM will be a valuable tool for mapping your database entities with your POJOs. There are a couple of android ORM libraries out there I’ll list a few of them here..

I’ve been using Sugar ORM for some time in most of the projects and it has been quite good. Nothing to complain, though not the most popular ORM library out there, for me it works and i am comfortable with it.

In a series of upcoming posts i will try to piece together an application that uses the above technologies. I will also give you tips on how to overcome some challenges that come with combining above technologies.

Lets’ code.
See you on the next post (part 2).

How often do we miss the point.


missing_the_point
Don’t miss the point

One day while i was reading Mark 8: where Jesus multiplied 7 loaves to feed 4000 people, i took keener interest in what happened just after this amazing miracle, a few things perplexed me for some time until one day i got it..

Just after this miracle a group of Pharisees approached him in an attempt to temp him..

Verse 11:
Then the Pharisees came out and began to dispute with Him, seeking from Him a sign from heaven, testing Him

He managed to evade them and boarded another boat to the other side of the sea. Unfortunately after all the big feast with lots of leftovers, the disciples only managed to leave with one bread.

Verse 14:
14 Now the disciples had forgotten to take bread, neither had they in the ship with them more than one loaf.

Now watch this part.. this is where they missed the point and i also did. Jesus connecting with what had happened before they boarded the boat, started warning them about the man-made teachings of the Pharisees using his usual parables lingo.

Verse 15:
15 And he charged them, saying, Take heed, beware of the leaven of the Pharisees, and of the leaven of Herod.

Instead of trying to connect with what Jesus was talking about, they over-thought and worried about what they were going to eat, (i am sure all the time they were in the boat everyone was thinking on how they were going to subdivide the one bread into 13 pieces).

Verse 16:
16 And they reasoned among themselves, saying, It is because we have no bread.

Jesus being able to perceive their thoughts (isn’t it amazing..) decided to settle their stomach worries. Reading this carnally you might start working out the math trying to uncover what other meaning Jesus had (Like i did and found that it made no sense at all)

lets try it out..

People (5000)/Loaves (5) remainder  = 12 baskets

People (4000)/Loaves (7) remainder = 7

Do you see any pattern?  None?, yeah right.. no pattern. Forget math.

Verse 17-20
17 And when Jesus knew it, he saith unto them, Why reason ye, because ye have no bread? perceive ye not yet, neither understand? have ye your heart yet hardened? 18 Having eyes, see ye not? and having ears, hear ye not? and do ye not remember? 19 When I brake the five loaves among five thousand, how many baskets full of fragments took ye up? They say unto him, Twelve. 20 And when the seven among four thousand, how many baskets full of fragments took ye up? And they said, Seven.

What Jesus was actually trying to tell the disciples is that: they were beyond worry of food and that they were on a different level, that their understanding should have grown to the level of understanding spiritual things.  Jesus was telling them, you’ve seen what i can do, food is the least of your worry, if i fed thousands with 5/7 how about 13 with one?

I am sure they still missed the point… I did too… and when i dawned to me, i counted myself like the disciples…. and this last verse always taunted me..

21 And he said unto them, How is it that ye do not understand?
——————————

How often we totally miss the point thinking about things that God has already shown a well proven, and tested solution to.
Yes! How often do we miss the point.. Put your worry aside, read between the lines, he trying to say something important..

Ugandans on twitter.


About 4 months ago we {Me and Evelyne } got curious, and we wanted to know how many Ugandans are really on twitter.
So we came up with a mini census here, at first we got about 17 tweeps taking part in the census.
But 4 Months later the numbers have gone up to 72, i am sure this number doesn’t represent the real numbers of #ugtweeps. we must be more than 500 or 1000 << so keep sharing this link.

Here is a list of the 72 users.
Feel free to follow each other.

kigen (Me)
enamara
gnayeunie
normzo
jny23ug
NDKatumba
nnamala
mauricekirya
payyoo
LBMugema
nashkinz
natabaalo
belindaK_
ssbab
oletan
dispatchug
bmwesigwa
ngamita
maureenagena
ithinkfrank
mumakeith
rkyeyagalire
helleNyana
mistaguy
geofhuss
noaddys
easyTyzee
cdanny_ug
oparaah
alecoo
mugumya
brentaka
albertmuc
martynlinkyn
newvisionwire
tboa20
jahimbisibwe
kyrishi
helleNyana
RonMenta
emanzi
adia_u
benjioel
CplLo
AkibaProducts
cliffrchrd
casterivo
Easytyzee
aivanm
saammml
delirioustash
bbandac
RosebellK
noaddys
natabaalo
MrKaraIII
obed247
adnan12000
andykristian
kozneffekt
therisingpage
Beewol
ikazooba
beewol
goshaba
Johnson447
aoyako
@MawesPrince
emmanuwamanya
Earlecoman
bobby360

Happy tweeting !

Stand For Kenya!


We are extremely proud to be Kenyan!
We are proud of our beautiful country!
We are proud of our diversity cultures and traditions!
We are proud of our heroes!
We are proud of our high achievers!
We are proud of being hustlers!
We are proud of our hoods!
We are proud of our tribes and twengs!
We are proud of our kanges and our mats!
We are proud of our artists and musicians!
We are proud of our industries and farms!
We are proud of our sports teams!

On the 28th of February 2011 at 1pm, wherever you are, at work, in the supermarket, in traffic, in school, on campus, in hospitals, in churches, in mosques, in temples, in synagogues, on sports pitches, in court, on your farm, at police stations, at armed forces barracks, in matatus, in buses, on the beach, in the game parks, at the airport, in parliament, in State House, in your homes ..

On the 28th of February 2011 at 1pm, we stand
On the 28th of February 2011 at 1pm, we unite
On the 28th of February 2011 at 1pm, we shall speak in one voice.

On the 28th of February 2011 at 1pm, let’s sing our beautiful and powerful National Anthem, all three verses.
On the 28th February 2011 the world will watch as Kenyans stand UNITED;
1pm, 1 nation, 1 people, 1 anthem, united in 1 prayer for 1 Kenya
We are Kenya!

Missing in Action; What’s up?


I know it’s been quite a while since i managed to publish anything on this blog. In fact i have about 5 drafts on my laptop but i have been too lazy to finish all of them, some of them have already expired and some are about to expire. The reason why i posted this post is to just update you (my readers) what has been happening around my very complicated life.

Continue reading “Missing in Action; What’s up?”

Managing your inbox!


August 2010 I left this post in drafts, 4 years later I have no idea why I never published it.
—————————–
Just when i was about to post the following article….

My latest challenge has been managing my inbox, ever since i subscribed to like 1000 mailing lists my inbox is always pregnant with mail. Since i have had a policy of “No Unread mail ” in my inbox, no matter what!,  with all this mail coming in i have to spend more time reading and organizing mail into folders.

Continue reading “Managing your inbox!”