Archive for the ‘My life’ Category
A few years ago, at the end of the holiday season I shared some thoughts about my home Linux box and a screenshot.
Now, on the brink of 2012, as I found some time to finally migrate my stuff I’m ready to share some more :)
Since I wrote that post some things have changed… mostly behaviors and usage patterns:
- I do less things with my home machine – less development, mostly writing and browsing
- As I do less things I expect my machine to be more snappy
- I really loathe complexity, bloat and overall useless things that just stick around
For the above reasons I have decided it’s time for a fresh install and it’s time to try something new and sleek. Ubuntu has gotten way to fat and annoying for me. So, this past week I’ve done a small study, trying different Linux (and BSD) distributions – using a different live instance every day.
After going through Mint, Puppy Linux, Fedora (OMG – why, oh why), PC-BSD (this was interesting) and CrunchBang (aham, that’s the name, well, it’s actually #!m figure that), I’ve decided to stick with CrunchBang.
The nice part is that the final install (from live CD to hard drive) actually worked flawlessly, configuring everything automatically. Even WiFi worked. The soft keys (touchy things like mute, volume, WiFi control and stuff) and Fn (blue keys) on my laptop worked out of the box which is a great thing. I only had to configure visual and feel stuff (like window manager, menus, dock… regular stuff). Total migration time? 20 minutes install and 40 minutes config. I’m writing this from a Chrome instance running on the fresh install.
So, here’s a screenshot of the shiny new desktop.
Oh, and some other things have changed also… no more spooky wallpapers :)
Everything changes, nothing remains without change.
- Buddha (Gautama Siddharta)
In my last post I was talking about treating everything as a project and how change is inherent. This is one of the principles that I live by, one of the simple rules that guide me.
For me, there are 2 ways to handle change:
- believe it when people say that something is set in stone, unchangeable… fixed – and have an incredibly bad day when everything changes
- always consider everything in flux. have a plan and try to execute it – hope for the best but expect the worst. be ready for change, and when everything goes as planned be happy that it did
It’s easier to embrace change when it happens if your expectations are that everything will eventually change.
It’s even easier to embrace change when change is a part of your plan.
This way, you are always ready – never surprised.
From time to time people seriously ask me “how’d you manage to do that?” or “when do you get the time?”.
My regular answer – which surprisingly surprises people :) – is that I just plan for it and do it.
I treat things like little projects – everything from cooking to events to regular household chores.
You see, everything in life has a critical path, a set of dependencies, some constraints, a desired outcome, a list of available assets, required resources or even liabilities and risks. Sounds familiar? So everything in life can be treated like a project, sketched, planned and executed.
Next, they ask things like “what if something doesn’t go according to plan?” – and I smile. I smile because I’ve never seen anything go according to plan, so I’m always ready for change.
Life is the longest project you’ll be part of and planning for it just makes it a lot easier.
Last week was probably the hardest week of my life and this mindset got me through it. Who knows, maybe sometimes I’ll even write about it.
I live my life following a simple set of rules:
- Measure twice, cut once
- Change is normal, expect and embrace it
- Hope for the best but expect the worst
- The quality of the end result is never an accident, it is always the result of intelligent choices and hard work
I apply these rules to everything I can, starting with preparing and following a simple shopping list, small home projects and ending with my day to day job.
Here’s the simplest and most intuitive example: my new photo wall, which I had to build in the week that my wife was on a business trip.
- Define the outcome – I wanted a photo wall built with happy colored frames and pictures of my family that would fit in the hallway between my bedrooms – this took about five minutes;
- Analyze the location and identify the materials – I knew what I wanted so I searched for photo frames of different proportional sizes and happy colors and I selected the pictures from my photo collection (pictures chosen out of roughly 34GB of previously filtered photos). I also measured the hallway and calculated my constraints – this took about three days;
- Design the product – I built an Excel simulation of my photo wall where I laid out different frames of different sizes and colors and placed different pictures until I got the mix right;
- Test the design – I placed the photos in the photo frames and laid them out on the floor in the exact pattern. I isolated the ones that I did not like (color combination was wrong, photo did not fit in the overall picture, etc.)
- Modify design based on test feedback;
- Implement the design.
- I knew that I will surely select pictures that I won’t like – so instead of choosing only the 10 pictures I used in the simulation, printing them and getting it wrong (which would have made me miss my deadline) I selected and printed about 20 pictures of various sizes;
- I knew that I will surely change my mind about what will the color placing will be when I tested the design – so I bought 50% more photo frames of various colors;
- I knew I would mess up the positioning of the photos, even if I used rulers and drew lines on the wall – so I bought double adhesive tape that would only dry after 5 minutes, leaving me a change to unglue the pictures and straighten them
Change is good
Why expecting change and embracing it is a good thing:
Design – this is how my simulation looked like:
While I worked on it I really liked the feel and loved the layout and coloring.
I went on to testing.
The test and implementing the feedback – this is how my layout changed after the test:
As you can see, I changed two pictures (both content and frame color) – that’s a 20% change from the original design but an overall improvement in the color balance and the overall aspect.
The result – this is how the final setup looks like:
Now isn’t that nice?
I actually finished an hour and a half before my deadline and had time to prepare and place 4 more photo frames around the house – nothing is lost, everything is used J
I try to learn from everything I do and my lessons here were once again:
- Measure, analyze, prepare – then prepare some more;
- Expect and embrace change – change is good for you, actively look for it;
- Expect the unexpected – prepare for it;
- Effort and determination pay off in the quality of the end result.
If you change the way you look at things, the things you look at change.
A short story:
I almost went from being irritated because of something to being angry at somebody (unrelated to the something) today. There was this guy that was trying to do something in a far more complex way than he should have.
He was at it for a while and it didn’t quite come out how he wanted to.
I was already a little edgy because of a problem that I had no control over and that edginess fueled my anger toward the poor guy… I thought ‘here’s this guy wasting valuable time on building something complex that can be done in 5 minutes with a simple hack’.
After a short argument I felt that I was getting too hot and restrained myself. I stopped and thought for a few seconds about how I was handling it.
The first thing that came to mind was that I was handling it wrong. Then I looked at him again and it hit me: “This guy isn’t wasting time. He is learning!“
After I started seeing it that way, everything changed. My anger vanished and I started working together with him, trying to achieve what he started.
Because it felt right. Because he wasn’t this other guy, wasting time… he was my friend, learning.
I’m a little late with my new year’s resolutions so I’ll just call them Jan 4′th resolutions.
Last year’s recap:
- Quit smoking: done
- Learn Turkish or Arabic: not done, moved to 2010
- I try to learn a new language every year. 2009 was C# year: as done as you can learn a language in one year
So… my resolutions for 2010 are (drum roll):
- Learn Turkish or Arabic: hopefully a new project I have in Morocco will help me learn some Arabic
- The new language for this year is Scala
- Buy a car for the wifey
- Deliver better software