So a few days ago I started working with HiQ here in Göteborg. Looking forward to some interesting project we have talked about. It sounded like an interesting company to work for. We spoke a bit about Erlang and how Göteborg doesn’t have much use of it 🙂 but we also spoke about more mainstream technologies like Java, C, C++, Python, C# and how they shouldn’t be a problem except frustration that they (in some fields) suck compared to Erlang. Anyway I’m interested in what is coming. Somewhere next week I’m hoping to get assigned somewhere and hopefully I’ll be allowed to say were. I really felt bad for another company I turned down because the guy I spoke to was very interesting to talk to and we had a great conversation… but I’m happy with my decision.
So about Erlang; This latest development does NOT mean that Erlang is out the window on the contrary I will now have more time for doing things I want to do myself in Erlang and I’m more motivated to do them since I’m not sitting with Erlang every day also I’m free to release everything I wish (obviously as long as it is not code written on company time and/or company equipment or for company purpose). The past week I’ve thought out a few ideas I would like to implement along with one idea I’ve had since University which actually doesn’t have anything to do with Erlang but I think would be really cool to do. More about that… well… whenever who’s waiting anyway 🙂
At work my initial projects will probably be in C++ which can be interesting. For me C++ is a language which I “understand” and have seen and heard a lot about but never actually used. I’ve taken a more close look at it now and it doesn’t seem that bad until I reached templates and overloading operators that’s when shit started getting weird. It’s like someone had a sadistic sense of humour and wanted to screw peoples’ mind up but then again that is what I’ve heard about Erlang syntax and functional programming in general (Clojures, Currying, Higher order functions, Lazy evaluation and recursion anyone? =)) so this will absolutely be interesting.
As for my open source projects I have plans to continue a little on Cecho and Entop because for some mysterious reason I lost interest in them for a while and didn’t touch them despite having many ideas for them. We’ll see how it goes, besides since I’m working with C++ now I was thinking about creating a small scalable 2D game server in Erlang and use C++ (or perhaps even Java) to create the clients for it; idea should be rather simple RPG like running around like Link and collect coins and killing monsters and getting exp etc… The graphics will be a stretch because I’m not very good at it but who knows.
I have so many ideas right now it is ridiculous. There are so many projects, products and gadgets I would like to try out or implement and I probably won’t have time for even 1% of them but I like that I’m not short of ideas.
This weekend though I’m doing a post on generating Mazes in Erlang based on this great blog post by a fellow named Jamis Buck. I’m also taking his tip on making it my default project for new languages which means I’ll be implementing this in Object Oriented C++ at some point. Haha! THAT should be interesting 😛
My 2½ years in Cairo came to a sudden end. When the protests began we simply just stayed in, we thought that maybe it will be better tomorrow. I called my wife early that Friday morning to tell her that my Vodafone account was blocked and that my Mobinil account was probably going to get blocked as well. I told her to call my parents to let them know I’d stay in the apartment all the time and that they shouldn’t worry, it was “just going to be a demonstration today”, I had even said to my colleagues that “I’ll see you on Sunday” (working day in Egypt).
When they cut the international calls, the mobile network and the Internet it started getting serious. When we saw burning cars and building, chanting and violence/looting we started to get scared. It wasn’t a nice end to an otherwise so great part of my life. From the 19th floor apartment we could see far into the city and the end of the 6th of October bridge which leads into Tahrir square, and we saw everything burning and smoke coming from at least a dozen places.
At around 00:30 local time Friday, I managed to get an international call through calling my parents. After a discussion with my father we decided I’d stay put and see how the next day went. Everywhere the same message came across “Saturday is key… if Saturday is calm it will be ok!”, as it turned out later neither Saturday nor the rest of the week was “Calm”. The next day I went early to the shop to buy some food preparing to stay in for a few days buying bread and butter and cheese and other basic stuff like pasta and chicken and nuts and of course water. When I got into the shop it was like the opening of IKEA in Saudi Arabia… Whole of Zamalek seem to have had the same idea as me… “just in case”. When I got there the shop was trying to bake as much bread as the people would grab them… water shelves completely empty I had to go with small bottles the ones I managed to get my hands on.
After some shopping I got the word that I should get out of the country. I was 3 days away from leaving anyway, it was end of assignment… I couldn’t shake the idea of how bad the timing was, I even joked a bit about it with my friends saying “They knew I was leaving maybe they are angry because of that” and “I can’t believe the timing, couldn’t they have postponed it just one week?”. When I called the London office they quickly arranged a booking on a flight back to London through Athens, I’m glad I got through and that it worked so quickly. This was Saturday, the mobile network was jumpy but worked. I got a booking for the next day… so… no work on Sunday I guess. No proper good byes to friends.
That Saturday was one of the longest to date. It seemed to never end. I was sitting with some friends in their flat, we were all discussing possible ways out… the only thing which made us hesitate was if it was safe to get to the Airport. The police had pulled back from the streets, previously I had been worried that if I went out I would be mistaken for a protester and get the crap beaten out of me but now it was worse. I could reason with a police (to some degree) and at least show that I’m Swedish but to a criminal, which of many was rumoured to be out on the streets, I could not reason with (probably). Stories were going around about people hijacking cars and stealing everything in it.
I decided that the next day I had to try to go to the airport no matter what. I called my driver and he hesitated, understandably, about coming across town just to pick me up and get me to the airport. After a small discussion he said he would come the next morning. He came in a taxi, he couldn’t come in his own car. The curfew had been lifted 30 minutes ago we had to move quickly. On our way to the airport we went across the 6th of October bridge… Empty. All that was left was 3 burned cars on the side of the roads, one of them a police transporter. The evidence on the streets showed that there has been a big battle here, the same battle I had seen on TV the day before. I was relieved it was so calm. On the way we had been stopped 3 times by neighbourhood groups that had formed to protect their areas. The first one was worst as I didn’t know what to expect from these “good guy”-groups but it went well. The bridge leading to the airport was so jammed it felt like going to work in the morning. Good. Military has a small checkpoint. Good, no problems here.
Arriving at the airport I had only 100EGP notes and some coins. Taxi asked for 51EGP I gave him 71EGP “Allah ma3ak” (God be with you) and then I left. I went with my driver into the airport; chaos. People fighting at the ticket offices to buy tickets; they wouldn’t let anyone in to the check-in desks without a physical ticket. I didn’t have one… I tried to convince the first guard that the booking reference and the booking number I was showing him on my smart-phone WAS a ticket he wouldn’t accept it saying it had to be a paper. Giving up I went to another entrance, bingo, this guy was a bit more clever. I said good bye to my driver, put my hands in my pocket and took up all the cash I had left. He has risked something, leaving his family at home, to come and get me. I don’t know how much I gave him exactly but around 400EGP, “Ntibih 3a 7alak…” (Take care of yourself).
After getting in the chaos was worse. People running back and forth, virtually every flight was delayed or cancelled 2 fights broke out at two different check-in desks children crying while their mothers dragging them to hurry somewhere. I didn’t feel scared at any point, just worried that I would have to stay the night like I had heard that many others have had to. After the check-in and past passport security I went to my gate, bought a coffee on the way, an older women asking the person at the till if he accepts cards he said no, only cash. She wanted to buy some water… “What do you need?” I said, she said I only want to buy a coffee and a bottle of water I took up my wallet and looked through all the currencies I always keep as a buffer when travelling, “Here, it is on me..”, giving her $10. Shit I realized afterwards how much that actually was and that she didn’t need that much. Too late now, besides, she might need it later so I justified it with that and forgot about it.
When the plane took off 4 hours later I was realized what had happened. It was a surreal feeling about it, I had not really felt how bad it had been until I was sitting there about to take off. The adrenaline started pumping like mad, which it always does for me when the plane takes off. I forgot about Egypt for a few minutes concentrating on the sound of the air plane engines. Thoughts like “I’m glad they don’t build those like people build software” and “I’m sure that screeching sound is normal” crossed my mind. When we reached cruising altitude the adrenaline wore off. I started feeling “safe”.
Back in London was nice. I meet all my friends and colleagues and told them about my “Escape from Cairo” re-iterating it several times. Constantly watching the news… keeping myself updated, “My friends are still there”. My last day with Erlang Solutions consisted of making sure I didn’t leave any stuff behind and saying good bye to everyone. It was time for me to move back “Home” and starting building a life with my Wife. Talk about timing; Jan 25 uprising in Cairo coincides with my last days of 5 years with Erlang Solutions, I couldn’t help thinking that it would be a good story to tell my grand children some day.
When I landed at Göteborg it felt as if I was on vacation, as if I was going back to Cairo or London soon. It has now sunk in that I won’t. I’m now Home. Chapter 4 starts now…
For some reason when I work on personal software projects I always start on big ambitious 0nes and never small realistic ones. I get this idea and I get ambitious and work every second I have to spare on it and then burn out and get tired of it and leave it, and all this within a really short timespan.
Most ideas I get have to do with a small concept or technique I want to try out but it seems that I can’t make sense of them unless I put it in a bigger picture. Many of my friends seem to be able to just try out something or build something just for the heck of it but I can’t seem to do that; seriously starting to wonder if there is anything wrong with me hehe 🙂 Sure I’ve written small code snippets to test something but that is different; the concept or technique I’m referring to is a lot bigger then small code snippets.
As soon as I have an idea I have to put it in a bigger picture. All of my projects have been like that and they end up half (more often much less then half) done. I complete the project up until the end where the concept or idea I want to try out is done or a conclusion has reached, proven successful or otherwise, nevertheless, a conclusion.
The project before the one I am currently working on the exact same thing happened, I had a great idea and I started implementing it. As all other projects before it I burnt out and left it after a week of intense hacking, exactly where I leave the other projects; after I reach a conclusion.
The current project I’m working with however became different. When I was to start it I first hesitated and asked myself if this would be yet another boom-bam-thank-you-mam project, so I decided to use a different approach. When reading my favourite news site once (reddit) I came across a user comment (what he was commenting about, I don’t recall) which had a great idea about how to organise projects like the ones I wanted to complete.
I realised that the core problem was not that I didn’t want to complete the project or that I was too lazy, no the real problem was that I didn’t always have hours or even one hour to spend on it. This caused me to shrug every time I thought about continuing the project, I saw this big black hole in front of me consuming all my time when I have so much other stuff to do, even if the project was really really interesting, I simply didn’t have the time!
Realising this was a big break through, now I only had to do what the person in that comment suggest to be done, namely: break down all the activities in 10-15 minute tasks or similar (can’t remember the exact minutes he mentioned but that’s beside the point). I set of to plan the project like I always do and as things started getting closer to actually starting to implement the thing I started making up small tasks in my head about what needed to be done. Every time I wanted to work on the project I now knew that it wouldn’t take more then a short moment of my time to move it forward somewhat.
A task can be anything, and it can be really small… I have realised that there is no task that can’t be broken down, sometimes it can even be to read a section of documentation just to know what to do next and in some cases I have broken down the task of reading one section into two tasks; read the first and the second part. I will try to find the comment on reddit (it was a long time ago) but this has seriously allowed me to push my projects forward even thought I don’t have very much time to spare.
This is also the way I’m writing this blog 🙂