Saturday, July 9, 2011

Github

For long time I am preparing to start working on some personal project/start-up - as what we all strive to eventually ... at least us in Internet based businesses.

One of the first step is to start with some infrastructure as well. I already setup some server on Amazon Cloud, but really needed full solution for Software Configuration Management with some other support features.

I was looking at following goals:
  1. Source code repository I can easily share with other people. Other considerations where my own SVN repository, Bitbucket or something else.
  2. Wiki where I can keep all code/project related information such as what needs to be done and so on. Alternative is to run some out-of-box wiki (Confluence, Mediawiki) or some other tools that has embedded wiki such as RedMine or Track.
  3. I needed some way to keep an eye on code itself and being able to perform code reviews. Alternative could be Crucible.
  4. It needed to be simple and top work well in distributed environment with people all around the globe included since this is how this might end up. So I opted more for already hosted option them me hosting it.
  5. Of course source repository clients needs to run on Windows, Linux and Mac. 
  6. I needed Issue tracking system. There are many out there. RedMine or Track have integrated ones, there is of course Jira and Bugzilla.
  7. Source code repository and code review tools need to work nice with different technologies such as Java, PHP, Ruby, C++, Objective C ...
  8. Support for simple build and deploy
  9. Minimize all the effort regarding maintenance of any kind - ideally no effort.
  10. Enable developers to work in full isolation while working on same modules - so minimal dependencies on other people's work.
  11. No complex branching, but keep support for different stages of same code and simultaneous work on same modules
  12. Think about social component of development process and maybe make it a bit more fun if possible
After some discussions with some new colleagues/friends I have decided to give it a try to Github. It is a GIT based code repository running in cloud with many other extra features on top of it. I opted for GIT vs SVN since I think I need more focus on distributed and simple. Other features simply were there so instaed of me thinking what to do and integrating many different systems, I opted for this. Main competitor was Atlassian with its own cloud and set of tools. Main drawback was that I actually did not like source code repository which it offered and tools are perfect but simply maybe a bit of too much complexity and overhead for what I need - I mean no need for Jira or Confluence realistically, i just need the simplest tool available to get the job done.

Github simply answers all my requirements and is cheap. I took cheapest plan called Micro for 7 USD per month (1 private user, 5 repos) I will give it a try, will make 3, 4 modules ... will start with some Grails module and then move to maybe Wicket, do some iOS and Android stuff and will see how it works. Will perform deploys to my Amazon server via Capiostrano. If I involve some other people will have to upgrade account to Small for 12 USD per month. Well, if I need developers I will have extra 5 USD per month I guess to invest.

Thanks to Nicola Paolucci with whom I discussed about this and who pushed me toward this decision.

Thailand Adventure - Art of Packing

D-day
This assumed lot of preparations since it was not a regular trip ... it was a scuba diving trip ... not even a regular scuba diving trip ... a scuba diving trip with significant amount of underwater photo equipment ... which means simply Hell and requires Art of Packing.

Luggage considerations
One needs to put a lot of gear in limited space, by volume (1 bag + 1 piece of hand luggage) and by weight (whatever airlines says - usually 32 kg for long destinations and 23 kg for short destinations). It ended up me being lucky since I got from Turkish Airlines luggage allowance of 32kg for Amsterdam to Bangkok. Rest of the people who were traveling from Belgrade (Serbia) got only 23kg .. so this saved the day. Apart from weight concept, some companies also have piece concept, where 32kg let's say applies only to 1 bag, so you cannot have 2 bags with total of 32kg, while some just have weight concept. This is what one needs to consider when choosing flight.

MAKE SURE YOU ALWAYS ASK WHAT ARE THE LUGGAGE LIMITATION, WHICH CONCEPT APPLIES NO MATTER WHAT IT SAYS ON WEB SITE AND HOW MUCH OVERWEIGHT EXACTLY COSTS.

This is important since it can eventually influence your end price ... even drastically. So, don't chase just cheapest flights ... always consider the luggage limitations and airline company friendliness to hand luggage concept.

Art of Packing
I had to ditch hard cases for photo equipment and somehow pack it all up in one 32 kg bag (with wardrobe and scuba dive gear) and in hand luggage. So here it is how it ended up plus some ideas how to reduce it in future. We additionally had to take another flight from Bangkok to Phuket with Air Asia (I think this is at least like that if you travel to Southeast Asia since all good dive sites are far away from mayor airport hubs). For this flight we had in advance bought extra baggage allowance since we knew we will need it. Air Asia is sort of low cost company in that part of the world (according to European standards, more like SAS then like low cost since they only charge food and drinks on-board per my opinion). Trick here was to buy simply extra 10kg per person classified as general luggage and not to choose option Sport gear, since Sport gear option for some reasons costs much more. Also on check-in we kept quiet about diving equipment.

ADDITIONAL CONSIDERATION IS TO CONSIDER OTHER LOCAL FLIGHTS APART FROM MAIN INTERCONTINENTAL FLIGHT SINCE THESE SECONDARY FLIGHT USUALLY HAVE OTHER LUGGAGE LIMITATIONS.

Big case 
Dive gear
  • Cressi Rondine A fins
  • Cressi booties
  • Cressi mask (took one only to save some space)
  • Snorkel - foldable for BCD jacket - I am fan of snorkels and never go into water without one. Will not say it saved me many times, but can confirm that I was very happy I had it on several occasions when I had to wait for boat in wave sea.
  • Scubapro MK17/S550/R295 regulator with console (I was thinking of something a bit more light weight, but will stick with this for at least couple of more trips until I can field test something of good quality but lightweight). Also considering ditching octopus and use combo of inflator and regulator instead - Scubapro AIR2, but will have to think more, somehow I prefer to have octopus so I can assist someone.
  • 3mm full suit (ended up like a waist of space since eventually ended up diving in rush-guard and boardies). My advice for March in Thailand (and July, August in Egypt) is not take even shorty ... trust me.
  • Zeagle Ranger BCD (need to consider something more light weight for distant tropical water trips where I know buoyancy will  not be an issue and easy dives are expected)
  • Uwatec Smart PRO - battery died when I go there so my advise for anyone is  not to go on trip with less then 60% of battery ... I think I had 58% in Amsterdam
  • BCD jacket knife - no need for even medium size knifes ... when I think better I never had a need for a knife at all :-)
  • Intova Mini Torch - LED pocket lamp - no need for anything bigger. 
Photo gear
  • Ikelite housing for D70s
  • Handles and bar for Ikelite housing and Nikonos V
  • Strobe arms for Ikelite housing and Nikonos V
  • 8'' dome Ikelite port with cover and port ring
  • Some small tools, o-rings, grease, spare parts ...
  • 8 rechargeable ENELOOP batteries + charger (I think will need 12 at least on next trip - to have 4 spare)
I ditched old Mares trolley bag which was great but was too heavy - around 5kg empty. Instead I got  regular Eastpack bag with volume big enough with wheels and bar which weights less then 3kg so I spared 2 kg here + made myself less suspicious.

Wardrobe + other stuff
On top of this I put minimal set of wardrobe required with assumptions I'll bay some extra t-shirts in Thailand (as I always do on any trip anyway) and simply put them in extra plastic bag on my way back. i guess girls are a bit more demanding ... so what can I say ... my main advise is to consider where one is traveling, to think about last trips and really simply ditch what is not needed. For example jeans and long pants - these are simply not needed. Jacket is really not needed, hoody is more then enough, figure out that somebody drives you to airport if winter in your part of world. I travel in sneakers ... no 2nd pair of sneakers in bag ... really no need for that.

Simply make a list of unused items from last trip and automatically ditch them. 

Books ... 1 book maybe and shift to e-books.
Notebook - only if you really need one. Why would one need to bring notebook on vacation. Emails ... you got your smartphone anyway if you're so notebook dependent. Late night movie/tv series - no, just get some sleep or enjoy local night activities. Music - get an mp3 player. Lot of images, get enough memory cards. Believe me, no need for notebook in more then 95% ... think about it.
Minimal medical kit + personal care items. I always buy new stuff in local stores such as shower gel, toothpaste and so on ... no need to care those items with you. 

I put myself limitation of 30kg when measured at home since I assume at airport the weight simply more. To be honest in Amsterdam it was fine, but in Phuket, it added around 2 more kilos compared to Amsterdam for same bag.  So, never hit the limit, always leave 2 kg as spare just in case someone is wrong. And of course - prepare credit card if needed. I personally always make a peace with my destiny that I will need to pay something and if I don't, I am happy.


Hand luggage
  • Nikon D70s body (goes into Ikelite housing)
  • Nikon D700 body with 50mm f1.4G (for land only, new Sea and Sea rig on its way so next trip is FX underwater finally)
  • Nikon 16-35mm f4 (FX lens - for land only)
  • Tokina 11-16mm f2.8 (DX lens - my main underwater lens for D70s)
  • Nikonos V body (yes, I know, but I like film ... it is simply great and makes you think a lot)
  • Sea & Sea 15mm f3.5 lens for Nikonos V (my main underwater lens for Nikonos V - in the mean time I got Nikonos 15mm f2.8)
  • Sea & Sea viewfinder for 15mm lens
  • Nikonos SB-105 strobe
  • Ikelite DS-161 strobe
All this did fit Lowepro Stealth Reporter D400AW. On top of this gear I tucked in also couple of small Thailand guides, backup t-shirt (always have one when traveling), dive c cards and logbook. I highly recommend this bag as a hand luggage. It is not too big so it's not suspicious, but it is very spacious. I think I had around 10 kg in it and nobody checked that so I was fine. When I think more, nobody ever asked me to weight my hand luggage so i guess this will be my strategy for next trips as well.

All liquids go to big bag to avoid any kind of hassle on airport security ... that includes Swiss knife also.

Summary
I was very mobile with all gear since only 2 bags, big one on wheels + hand luggage, so I highly recommend this concept with 2 bags only. If I did not had photo gear, I could fit into 23kg easily with lightweight hand luggage. Who has more should reconsider this approach and is all he takes really required.

Improvements for future
  • Consider more compact BCD
  • Consider more compact regulator
  • Don't take wetsuit if not needed
  • Streamline photo gear by ditching D70s and building rig around D700 (Sea & Sea housing is on its way as we speak :-))  
  • Use more compact strobes - Inon Z240 or Sea & Sea 110a instead of Ikelite 125/160/161 when possible. These strobes use regular AA batteries, while Ikelite uses heavy rechargeable battery.
  • Consider skipping Nikonos V rig when focusing on digital photography on some workshops.
  • Ditch that 1 book also and fully move to e-books while on vacation - still not using full potential of my Sony Reader.
Special Thanks
Special thanks to Predrag PECA Radifkovic for setting up this trip, being excellent group leader and considering all the luggage limitations and finding solutions for them. 
Also thanks to Dr. Nenad Dikic who took care of Air Asia extra luggage and made good decisions there and also assisted during check-in. 
Finally we also had our own tourist guide, Dejan Maksimovic who assisted with local transports and everything else - his role will be starred couple of more times in this Thailand series of posts.


Keep following the adventure - next stop is Bangkok.