Making a choice : what about building a startup ?

Two months ago, the company that employed me closed. It leads me to make a choice on what to do next. Being unemployed for a software developer of my age is not a big issue. I have a good working experience and developer skills interest a lot of people. So I am lucky enough to chose between several ways. I list what are those ones and why I decided to chose the last one.

1. Finding a job as a developer

With Newebe and my last job, now I can tell that I have a decent portfolio. So, finding a job in an exciting company is a possibility. I can say I like to deal with technical problematics, so working on another project is a nice path. But It requires to come back in recruitment process, something I don’t like at all. Moreover it is a little bit the lottery and I am not sure to find people that trust the same principles as me.

2. Finding a job as a project manager

I have both an experience as a business analyst and developer and I work since 6 years. So it could have been a good idea to look for a promotion as a project manager. It would be a good carrier choice. On the opposite, being hired would be harder.

3. Finding a job in another field

With BeBurlesque, I met a lot of people from other fields : event organization, fashion, edition, press relation… To get hired in one of those would be really harder but not impossible. They have some interests and could offer a great new experience. Unfortunately they require a lot of energy and a lot of communication skills and I’m not sure that I feel enough passion to struggle to get in one of them.

4. Travelling

Toughest choice from far. I really enjoyed my trip in Laos and met a lot of travellers who explained me how they can travel for so long without having a lot of money. I have enough cash now to travel for several months very comfortably. By the way, when I was in Laos my health improved a lot : no more back problems, no more insomnia, no more skin problems, a better physic condition and overall, my moral rose from under the ground to the sky.
I could also do some coding stuff while traveling, so Newebe could be improved during that time and my dev skills stay up to date.
The bad part is that when I will come back, things won’t be easy. Whatever solution 1 would still be available.

5. Start a new company

This is also a good opportunity. First I am available. Second I have enough cash to not be paid during several months. Thanks to our unemployment insurance, I will have additional funds. This added to my own funds gives me the equivalent of 1 year and a half of a decent salary to survive until this company earned enough money to pay me.
The other good part is that I met two partners who wants to make something about self hosting through a startup. If you read this blog, you know how far I am concerned by the subject.
I am also still young (29) and have no children. So, if it fails I still could go to choice 1 or maybe choice 4.

As you understand I have a big opportunity to build something new about web and self-hosting. My last startup experience was hard emotionally, but I have very good memories too. So I think I want a litte more. And because when things sounds good, they should be listened, I will try this path, hoping it is the best one.

Life logging

For those who want to know what is life logging :

2011 from hey_rabbit on Vimeo.

Date and Node.js

Recently, I did some small developments on Ponyo that made me deal with dates. Unfornately I found a big bug in Node.js about them. By default when you create a date, it changes it and set it one hour before. When you try to modify it, it doesn’t change at all. So I decided to include node-time to deal with timezones and moment to have more human functions to manage dates. But the problem still occurs. There is no good reason for that, when you force a date, it should not be updated to current timezone.

> new Date(2012, 01, 03, 0, 0, 0, 0)
Thu, 02 Feb 2012 23:00:00 GMT

I finally find one solution, that I share here, hoping it will save time to people in the same case as me. To avoid this, the timezone must not be set on the date you work on but on the node process. In your “main” just add this at the beginning :

process.env.TZ = 'UTC'

Now you can use date like in any other programming environment.

Edit : Apparently it’s not a Node bug, it’s the way javascript works…

Newebe 0.4.0 and picture sharing

Newebe 0.4.0 is out. Here is the changelog.

User features

  • Send pictures to your contacts
  • Synchronize with your contacts to get all their pictures since last month.
  • Time zones are now handled properly, you can interact with people from all over the world without time problem.
  • Better rendering for code snippet in micropost application.
  • Display embedded youtube video in the preview column when post contains youtube links.
  • Display a clear message when profile URL is not set correctly.
  • Do not allow password shorter than 4 characters.
  • When an object is selected (micropost, picture, activity…) its background changes.

Under the hood

  • Now all backend modules have their BDD specifications.
  • Refactoring : most of the communications with contacts are extracted in a special client, and activities are managed by the base handler.
  • Improved logging.
  • Add utils to manage date, file upload, and to make testing easier.
  • Add pytz to dependecies.

next version

For the next version, I will focus on the installation script. To be able to install Newebe with one command could really make adoption easier. Then I will work a little bit on security and try to allow user to mix pictures, posts and notes. But before that, I’m going to have a break. So don’t be surprised if the repo don’t move for the next weeks.

Picture application screenshot

Newebe still goes forward

It has been a while since I have not spoken about Newebe. Since my return of Laos, Newebe got some major improvements. The main one is picture sharing. Yes, now you can share picture (=file) with your Newebe node. This feature is already available in the repository and will of course be integrated in the next version.

Another good improvement is refactoring. I did a lot of “behind the scene” work. Server code is cleaner with better logic separation and has better test coverage. Client side had some improvements such as some minor features and debugs but no deep refactoring and testing.

What is a lot more interesting than features, is that… The community grows ! We have now 10 watchers on Github (champagne!). Robin, a great canadian software engineer, help us by testing and providing  security advice on Newebe. Moreover a small company use it in a private network as a communication tool. Another cool fact : my post about the “first year of free software” had many good feedbacks when I posted it on Linuxfr two months ago.

I expect to make a new version of Newebe for the end of the month. Things go slowly but they go !