Learning Haskell - Before I Start

Each Monday from now on, I am going to publish a small step that I made during the week into mastering Haskell. This is a commitment that I make to myself and by deciding to make the progress public (although you may be the one and only reader) I am kind of forcing myself to stick to it.

Why Haskell? Why now?

Well, first, let me tell you that learning a new programming language is actually very exciting. It is  like when you were a kid and you were given a new toy. Remember how excited you were? You just could not wait to unwrap it and start playing.

Having said that, Haskell has been on my radar for some time. I just never really took the time to start looking deeper into it. And I realized that if I am going to wait until I think I have more time, it is never going to happen. You have only so much time as you give it to yourself. So this excuse is not going to cut it anymore.

Oh, and why Haskell I hear you wonder? Because I want to add a functional programming language to my arsenal. Because it is gaining in popularity but it is still underground enough to feel exotic. Because it is lazy. Because I’ve been pretty intrigued about what monad is.

What Do You Want to End Up Doing?

We had a night out with the company i am working for, yesterday. It was a goodbye night for one of the guys that quitted and is going to start his own business. He did exactly what my plans are. Starting my own thing on the side and then, when it starts to bring in some money, quit the 9-5 and focus on it entirely.

I spent some time chatting with another guy who was actually the founder of the aforementioned company. The company has been acquired last year and he is not working full time here anymore, just some hours a week because he likes it. He is doing other things in his life and one of them is mentoring local “problematic” teenagers (all of them coming from difficult situations within their families).

I have no idea how (and maybe the reason were a couple of beers we all had) but we ended up talking about the purpose of life. He asked me why I came here, what is my drive, what i want from life. I said that coming to Scotland was just a coincidence but my main purpose is being free and independent and doing stuff that fulfills me.

“What do you want end up doing?”

“I have no idea but i guess it has got to be something with music.”

I really don’t know why I said that. I have given up the idea of a career in music long time ago. Yes, it was my child dream. For a long time. But along the way I somehow gave it up and turned the hours I was spending on the computer making music into hours spending on programming. Both have something in common - the feel that I am playing and not working. Both have the power to completely absorb me and make me forget about time.

Then he asked me one thing that made me think: “But what is it going to give to others? What is it that you have, that you want to give to others? You need to know why you are doing what you are doing. And your drive must always be to give value to people. It is the most important and rewarding thing.”

I guess he is right. We do our best work when we do it because we want to make someone feel good. Giving gifts is rewarding but we tend to give them rarely because we are tought to be greedy.

Today I spent all day thinking about how to find a way to give something valuable to people. And i realized that it doesn’t have to be some multimillion-dolar goverment-funded organisation type of service. No. It can actually start on a very basic, day-to-day interaction. You start by listening to people. Really listening and giving them your full attention. And no, not the type of listening that we usually do. You know, when we kind of listen but internally we have this monologue going on and judging what they are saying to us. I mean real, unconditional listening. Just accepting them as they are and see things from their point of view. You don’t have to agree or disagree with them. You just accept them.

Dear Diary …

Reading Linchpin and Start With Why at the moment (yes, I always read more than one book in parallel). They make me asking myself why am I not producing more of what I believe in. The truth is, I am not sure how to do it. And I am afraid to fail. I need to fight with this fear everyday, telling myself that it is GOOD to fail. Because when you fail, you are one failure closer to your goal.

Things are certainly moving in the right direction. It is going slower than I would like, though. Maybe doing it all alone is not such a good decision. I feel (well, actually I know) I need somebody to bounce ideas off. Yes, I can do it with friends, but that is not exactly the same thing. To have somebody that is directly involved in this would help.

I would definitely feel more confident in jumping into it full time if there was another person next to me doing the same. I am afraid that if I jump into it alone I might fail quite soon. That I would be like a headless chicken doing things all wrong. So it stays as an evening project for now.

Another downside of doing it solo is that I make all decisions myself and then, due to outside distractions, I don’t stay true to them. It is so easy to come up with reasons why I did not deliver what I said I would.

Weekends Are for Cooking

I moved to Scotland in September 2009. I am slowly settling down (meaning my apartment is getting filled up with stuff that will just get in the way when i am moving again) but i miss good food. Let’s face it - Scotts do not eat well. I don’t like haggis or fish ‘n’ chips. And i cannot eat steak every day. I was using microwave and buying ready made food from Tesco at the beginning (to save time mainly) but this is not a healthy diet and you see the results on your body pretty quick. Gym alone won’t help.

I love italian food. I can make some (impepata di cozze is my speciality) but my skills are limited. Very.

After watching the movie Julie And Julia I got hooked up about cooking. And i realized that I could “kill two birds with one stone”. I could buy a recipe book about italian food and start cooking at home from scratch. 

And so I did. I fired up Amazon and ordered Made In Italy. The book just arrived today and after a fast first glance I think I made a very nice purchase. The book looks fabulous! Now my aim is to cook something from it every weekend. I just need to find some quality grocery stores around here to buy the ingredients from. I am afraid that Tesco alone won’t cut it.

How to Gain More Time (Part 1)

You gain time by being efficient. The problem is, I am anything but efficient. I need to change.

I love weekends. Who doesn’t? The opportunity to sleep in late, have breakfast in bed, walking all day around in pajamas. Hey, the only “sacrifice” you do is you brush your teeth, wash your face and put some moisturizer on. The luxury of living alone ;). But the weekends end so quickly. Before you know it mr. Monday is here and wants you out of bed before 8 am. Bummer.

The problem is, I never seem to have enough time. Time to spend on my startup. It is difficult during the week because of my 9-5 job but it is no different during weekends because i sleep until 12. What a waste of time!

I figured out that if i go to the gym and do some workout immediately after work (and just one hour is enough to recharge), I come home less mentally tired and can work again. This time on MY project. But the weekends are still inefficient. The later I wake up, the less i do.

I set a new rule. Every day I wake up at 7 am. No later. And no matter if it is Monday, Sunday, Saturday or Wednesday. Every day at 7 am i am OUT OF BED. And you know what? It is not so difficult to wake up early on the weekends, after all. I actually like it. I do more in those hours until 12 pm than during all the time put together afterwards.

My aim is to start to wake up at 5 am. But just the thought of it scares me. Yes, I know, it is the lizard brain that is complaining. 

Next on the how-to-gain-time list is to reduce distractions and procrastination.

Ditching Subversion

Version control systems are important. No argue about that. At places where i used to work (and am currently working) i had the pleasure to meet three systems: cvs, perforce and subversion. All three have one important thing in common - they all suck. Well, some suck less than others (like subversion).

For my pet projects i decided to try these new kids on the block (read distributed version controls). I narrowed down to two: git and mercurial. I went for mercurial. Why? Well, first because it is written in Python and i have a thing for Python. I just love it. Second because bitbucket looks just nicer and cooler than github. And third … well, I think this guide by Joel Spolsky explains it much much better than i could do. Enjoy and be persuaded ;)

A Reminder to Myself

I like reading material on startups. It keeps me in a dreaming state where everything is possible and others successes are somehow mine as well.

So i am spending a lot of time on mixergy.com, and i watch one interview a day on average. Which is great - lot’s of great insight and life stories in those interviews. The problem is that i keep spending my time in a passive state: watching, reading, thinking.

I read hacker news almost exclusively and i started to gather books on startups and entrepreneurs and i am set to “make a difference”.

In between my dreaming sessions i try to do some real work for my startup - mostly the fun ones: finding a right name and domain,still deciding what features the app should have, planning how my customer service is not going to suck once my app is big, how my arrogance is not going to grow and how am i going to enjoy my financial freedom once i make it.

What i really need is motivation and a kick in the butt. I get set back quite easily and is all done by myself alone. But i also get motivated easily, it just doesn’t last long. How to change that? This is not getting me anywhere and to be honest, i haven’t really started producing anything yet.

C’mon! it is time to start kicking!

Wherever I Go There I Am

While pondering about what to write next i realized that perhaps a little bit of background could be helpful. Perhaps helpful for me to see my patterns of behavior and thinking.

Couple of years ago when i approached my thirties i realized that maybe my life situation is not the way i was thinking it would be when i was eighteen. I also noticed that everything i dreamed about somehow disappeared or became less important. My life was automatic. I switched off Me and turned on the autopilot that was driving me from day to day. I wasn’t excited about anything anymore. I was bored at work, i was bored with my friends and family and i did not see any way out.

Somehow i thought the reason was the environment I was in. I was a victim of an environment where i could not express myself freely, was I telling myself. There were too few possibilities, there were too few opportunities, there were too few good jobs, there were too few good men, there were too few good parties … so many too fews! I was watching life passing me by and wished so much to live! Oh, but little did i know that few years ahead, in a completely different place, different country, i would still feel the same. See, no matter where i go i am always taking myself along. There I am, stuck again with my thoughts.

I moved to Denmark and stayed there for a little more than 2 years. At the beginning it was exciting. Meeting new people and discovering the new culture was keeping me busy for a while. But soon same old patterns and thoughts prevailed and I was stuck again. Stuck in an everyday life that i did not like. I wished to be somewhere else again. Somewhere where people were less boring, less closed and less diffident to foreigners, somewhere …. somewhere away from myself! How can i not see it that all the time the problems are inside my head and not around me?

I want to break from the circle this time. I want to take the responsibility of my life and turn it around the way i WANT it to be.

Day One - the Day It All Began

The idea of starting something of my own, my own web based startup, and growing along the way has been burning inside me for some time now. I think it’s been something like two years that i am thinking about it but not much has actually been done yet. Up until today. Well, not that today i am going to do something extraordinary. It is just that today i decided to log the progress i am making (hopefully on a weekly, if not daily, basis) to carry this hidden desire of mine from a simple fantasy to actual execution.

I have no experience in business, i have no experience in marketing, i have no experience in raising money, I have no experience … well, all i know is how to program and i am fairly good at design. But i plan to learn everything it takes to at least try and make my idea real. After, if it fails, at least i will learn something from it and my next idea is going to have more chances to succeed. Because, in all honesty, i am a little bit tired to work for others.

I promised myself that i will not let myself panic and back out when things will get though (and i suspect they will get tough). Because heroes never panic. I think it is about time i start to become one :)

Discovering Twitter

I just finished reading a little book by Tim O’Reilly and Sarah Milstei, The Twitter Book. It is aimed at Twitter newbies (such as myself) and it does a nice job explaining the power of Twitter and all its various usages for personal and business needs. It didn’t took me long to finish it as well, as it is written in the spirit of Twitter - short and to the point. It takes you from a Twitter ignorant to a pro in no time ;)

But why would one want to know about Twitter anyway? Hmmm, tough one. To be honest, i didn’t see much value in Twitter either, when i first created an account. I actually didn’t use it much at all - I wasn’t sure why i needed yet another communication channel to tell the world about what I’m doing, thinking, eating. I have a blog, like everyone else, right? And I’m not posting much on it. I have an account on Facebook like everyone else, right? But i am not using it much apart from playing Texas Hold’em occasionally. So what is different with Twitter that would make me tweet regularly each week, or day, or even more times per day? And who would care about it anyway?

First, the tweets are short messages that must obey the 140 character limit. So you don’t have to engage more than a minute (unlike when you are posting on a blog) to get your thought across. And when you start following smart and witty people, it is actually very amusing reading their tweets. It is like peeking into their minds. And that gives you motivation to tweet back. And in a matter of no time it becomes great fun!

I admit, i am a Twitter newbie but i am starting to be really hooked. And not just thanks to the book ;)