Entries For: October 2008
2008-10-26
Company Philisophy
This question is asked often Would You Work for Microsoft. The questions raised, can be asked of any other company or organisation you work for.
A lot of atrocities, evil and unjust actions have been attributed to people who have said,
- "I was just doing my job."
- "I was following orders."
- "It was a business decision."
- "I was following standard company procedures."
- "I have a job to do, and a family to feed."
Even when they know their actions can do harm, that saying these things somehow removes them responsibilities.
At Inigo, from the start, we can build our own culture and as a result, I've put thought into drafting a company philosophy with some points.
Honesty and Integrity
If we don't have resources to do a job. We will be honest about it. If we believe we can't do a good job, or there will be issues we know about, we will share it with clients. When we set prices, we will be honest and fair about it. Even if we could charge a less knowledgeable client more, we won't charge beyond what we think is our standard fair price. Neither will we lower it, if we think we couldn't do what is required at a specific price, we will inform the client upfront about what has to be cut.
You know happens when you charge one client different prices for essentially the same job and they find out about it? Won't happen with Inigo.
Ditto with income/salaries. Working on a set of different levels, based on value. Why is he/she paid more than me? If things are clear and open, no need for gossip and office politics.
Things are so much easier with honesty, integrity and transparency.
Life Balance
Another main reason. for going out on my own. If it's for me and my family, should be extended to rest of Inigo folk. Younger folk will also be mentored on balance between their life and work. How can I watch Euro Finals at 4am on Monday.. and still fulfil my work responsibilities? We will work it out as a team. If you come in late on Monday morning, it's been planned that dude with family has it covered, and in return on Friday you're covering so family dude can watch his kid's school play.
Fight Injustice
With great power comes great responsibility. 'Nuff said.
One idea I've been thinking of is fixed percentages (like Zakat). If we can give RM10K out of RM100K profit, then in future we should continue to give RM100K out of RM1M. The idea is to have a culture of giving and helping others from the start. Even if we're an SME, it doesn't mean that our RM10K could not be life changing for others, and that we shouldn't start thinking about it yet. This would also involve everyone/company adopting some community cause.
Result?
We should be working with good people both at Inigo and with our business and community partners. Hopefully.. but I'm ever the optimist.
2008-10-20
Ticklers or Reminders
Getting Things Done (GTD) as mentioned in previous blog had more ideas for those that are managing multiple projects. One example, had somebody managing over a 100. This results in quite a few new problems for time management. Both Time Management for Sysadmins and GTD work on the method that to be less stressful and more focus, you have to get things off your mind (which is unreliable) to other mechanisms, a personal organiser or in GTD jargon, a collection.
The problem with managing so many projects (and tasks), is that you also start having to tracking a large amount of tasks and deadlines.
There is no magic. While a lot of middle managers think they have the skills to do so with GANTT charts and lots of huffing and puffing in boardroom meetings, a lot of them really don't. Wasteful meetings which drag on ever longer on status updates are a sign of this. Good developers and sysadmins actually have to deal with the same problem of managing a lot of tasks at the same time, so the concepts should translate quite well to time and project management.
FreeBSD for example has great daily reports sent by email. Each FreeBSD server (inluding jails) will provide a daily report with various sytem statistics and also a security report. If you read, these reports daily at the start of each morning, it's a good routine to start with. When you have more than 5, it obviously doesn't scale. At 50 servers, you'll be reading the reports all morning and won't be able to do anything.
What you then need is a mechanism that will only alert you for problems. Something like Nagios or Zenoss. For the FreeBSD reports, I tend to file them automatically to server folders, with only the more important ones (security updates, disk running out of space) sent to my main Inbox. This is an example, of a tickler or reminder (or escalation if you want to use that jargon). It will then keep my Inbox relatively clean, while at the same time, important things that are kept out of mind, will be in one of my main collection points (GTD jargon for mechanisms in which you collect things to do, such as paper In Tray or in this case email InBox).
Reminders in Datebook
The mind is horribly bad when there are too many things, at reminding things. You could keep in mind one project, a few milestones, possibly 20 tasks. Keep multiplying that.. well, I know my mind doesn't work like a computer. I just can't recall the milestones and related tasks for a specific milestone for current 5 projects I'm tracking right now from my mind. Things will slip and the next thing you know, You still need to see all of them though to be able to plan.
Datebk6 supports just the thing for reminders through the Advance option for ToDos and Tasks.
For milestones and important calendar events, use the advance floats. These will kick in at specific interval and show up as a float with days to go counter. This serves as a good reminder, and you can set the number of days lead time you know you will need to deal with that specific milestone or event.
For ToDos, I always set my view to show 9 days advance. DateBk6 will give a nice counter 9 days advance and 9 days overdue where it then goes to !. When a task is 9 days overdue, it's either time for a sprint or in major need of a review.
For time based events, such as calls, or tasks at lunch time set an alarm with enough lead time. For my flights, I always have it at 4hrs. That usually is enough time for me to pack, checkout and get to an airport even with bad traffic. You can also use alarms for location tasks. If for example you are meeting a friend for lunch in a shopping mall, during that time, set the alarm for the ToDo for say "grab 5mm silver drill bit at hardware store". It's not fancy GPS location reminder but it works.
Reminders for Unix geeks
Unix gives us many options for this. I gave an example of an email filter. Since most of us will check email often, for long running background jobs, let them go and get the computer to send you an email when it's done.
The at(1) command is a good tool for this. When you want to build or download something, use this command and it will run it at a specific time and by default, email you the result (stdout/stderr) when it's done.
Quickly run the task with at command (you can do at now for immediate run), forget about it so that you can focus on the tasks at hand and use ticklers/reminders.
Alternatively at the end of a long task, or test run, you could script an email reminder "Unit Tests done.. please check Terminal 4". With zenity you could do it to pop up to your desktop, but this could break the flow of your current task.
Doesn't take away need for review
It's an easy trap though when you've got a neat system of reminders to skip your review routines. Yeah.. I'm just going to file it here, and my system will remind me. In a way, reminders of milestones are also a form of GANTT charts implemented within your time management system. This is an important point, because GANTT charts concepts are not useless. It's just that in badly managed projects where timelines and deadlines need to be readjusted, nobody updates it, and tracks it. Now at least you do for your projects. If it's not within your time management system, you can't plan for things.
Daily review and planning in the morning for your day, week and long term goals/targets are still as essential as they were when you only had a single project to manage. You still have to deal with fluidity and change, just with even more tasks and projects.
Notes
Notes on these rather long blogs on time and project management. They're actually articles and a collection of roughly edited notes and ideas that I post, when I think they're readable. Hopefully in the current state there some ideas that others can take from my daily struggles at keeping things under control.
2008-10-19
Mounted speakers
Last of of none-IT upgrades to my workspace. Mounted mx5021 satellite speakers at the right height (ear level) and got them off the desktop. Now I have the effect I wanted of sound filling the room at low volume levels.
The rubber button feet does look a bit odd, but are subtle enough not to be noticed.
Early December, next upgrade will be a new workstation to complete my home office upgrade until end of second quarter next year.
2008-10-15
TED Ideas Worth Spreading
TED stands for Technology, Entertainment, Design. The annual conference now brings together the world's most fascinating thinkers and doers, who are challenged to give the talk of their lives (in 18 minutes).
It's got hundreds of talk videos right now from influential people from all sorts of backgrounds. Architects, Physicists, Doctors, Engineers etc. I mentioned in my previous blog post about how much you could learn by being able to grab ideas from different fields. Well this is a massive repository of it. Open Source Software? How about Open Source Architecture to house the worlds poor?
The site makes the best talks and performances from TED available to the public, for free under a Creative Commons License.* They're also available in audio format so you can listen to it during your daily commute.
How awesome is that?
Thanks to Ditesh for the link.
There Is No Magic
In The Magician there is a character that goes around telling everybody that there is no magic. That all practioners in different fields just have different bodies of knowledge with which they build insitutions around to make themselvse feel more important.
Hardly insightful.
True. It's a pretty old and repeated theme, often in science related circles. It extends to other fields as well. An English teacher once said to me, "The more you learn English, the less others understand you". Followed by, "People also use language for power by using these words (jargon)".
This isn't the only cause of jargon. They also exist to simplify communications for complicated concepts. I'm lucky I didn't go through the Malaysian education system which shoehorns Arts and Science students into streams. If you study different fields it'll help you see what's common across different areas of study, and be able to better understand and apply what's being worked on in one field in another.
An example of this is the design process. We were taught to:
- Work through dozenss if possible of rough sketches and concepts first, possibly as a team, brainstorming different ideas, sometimes working apart to come out with radically different approaches.
- Pick a few of the best, but different approaches and work on a bit detailed concepts.
- Involve the clients early to show the initial concepts, get feedback, refine one or two of the best approaches.
- Get back to client again for further feedback.
- Create full scale mockup (if 3D) or detailed rendering.
- Get more feedback.
- Work on final prototype.
...
Sound familiar? Agile development, Editorial workflow, Scientific process.. etc. Jargon for similar concepts.
There is no magic.
You'll see that most good developers know a few programming languages also. It's important to take a step back sometimes and observe how other people in fields do things. Quite often, they're working on different sort magic, but underneath it, they're often trying to achieve solutions to similar problems in a different way that you can learn from. In my final year, I studied with a physics student. Common language was mathematical models, though mine were far simpler. I also studied with friends doing IT, CS, linguistics, anthropology and philosophy. This has helped immensely, even if it was not obvious then. For example on the topic of Quality, it's philosophical even. Zen and the Art of Motorcycle Maintenance is one such book that may help to better understand issues that effect all of us. When you struggle to define something, such as "What Makes A Senior (Devleoper)" then, maybe you can learn a lot from fields of study that have had to grapple with trying to understand something that's hard to define.
Other random notes:
- Paul Krugman won this year's Nobel Economics prize. Here's an autobiographical article on how he works: http://www.princeton.edu/~pkrugman/howiwork.html
- The stuff I'm working on that people love to hate, runs sites like this: http://nasascience.nasa.gov


