Transatlanticism, Day 6 – Ice Core Chicken

Day 6 – 27°24.23S  000°16.38E
14 September 2013 – Total Distance Covered: 1122nm

Spent most of the day with headwinds… We have the donkey (diesel engine) running at low revs but we’re still sailing with a substantial amount of sail up.

We still haven’t caught any fish and are trying different lures and lengths of line. Catching fish in the Atlantic is a, excuse the pun, catch 22. You’re unlikely to catch a small Tuna, so you end up with a huge bloody mess on deck and then days of tuna for breakfast, lunch and dinner… Still, fresh tuna sashimi and ceviche are very good.

I installed the 4 ICOM VHF handhelds today which involved some soldering and wiring in the new back panel. Cleaned up some other 12v wiring with the help of Chris the engineer.

11884173536_9a5dbfdfe5_z

Magnus made chicken for dinner, which was amazing. Speaking of chicken, it’s worth mentioning that chicken is often a rarity at sea because very few vessels have freezers, certainly not the rough and touch expedition yachts. We’re lucky in that we have a temporary deep freezer on board from a previous season’s Antarctic science group doing ice core sampling.

One of the interesting things about travelling at sea (ie. slowly) is that you gradually creep through time zones. You’ll notice from our latitude and longitude that we’re nearing 0 degrees longitude, which is also the international date line, or Grenich Meridian etc. For every 15 degrees of longitude we cross we lose or gain an hour. Obviously there is no real need to do this because it’s just us on board and it’s not like we have dinner appointments to get to on time, but we do have to continually adjust or we will arrive way out of sync with the rest of the world. We usually do the changeover during dinner when most people are awake. The boat therefore has what we call “local time”, which is what we use for all our shifts, but all the log entries are done in UTC (which time nerds will go to great lengths to explain is not the same as GMT). I do find it quite hubris that we have a Universal time… I wonder if any other life forms inside our universe are dutifully resetting their clocks based on our odd planet’s spin rate.

A random photo of dolphins.

Seeed Studio GPRS Shield 1.4 and Arduino Mega 2560

Recently I battled to get the Seeed Studio GPRS Shield 1.4 and Arduino Mega 2560 to talk to each other. I eventually discovered that they are not actually compatible when stacked (without some ugly pin jumping, and even then, not really compatible because the Software Serial can’t seem to really handle 19200 baud rates).

So here’s how to treat it as a breakout board. (my notes in blue):Image

This only requires 5 connections. The blue labels represent the Arduino pins to connect to.

  1. 5v and GND – These should be pretty obvious.
  2. Pin 9 – This pin is used to turn the SIM900 on and off.
  3. Pin 18 and 19 – These are the HW serial pins

Finally note the position of the jumpers (HW Serial) and the position of the Power Switch (Internal).

Which, when connected up should look something like this:Image

Then finally you can load up the following sketch to get serial access to the GPRS modem via the Arduino’s serial monitor.

#include <SoftwareSerial.h> 
#define terminator 10 // DEC value for a LF(line feed) to skip while loop

/*
SETUP
 
 See https://arbitraryuser.com/2013/04/07/seeed-studio-gprs-shield-and-arduino-mega-2560/
 
 This code is partially "borrowed" from idS2001 at http://www.seeedstudio.com/forum/viewtopic.php?p=12939#p12939
 */

String IncDataSerial = "";

void setup()
{
  delay(1000);
  Serial.begin(19200);
  Serial1.begin(19200);

  // Automatically power up the SIM900.
  pinMode(9, OUTPUT);
  digitalWrite(9,LOW);
  delay(1000);
  digitalWrite(9,HIGH);
  delay(2500);
  digitalWrite(9,LOW);
  delay(3500);
  // End of SIM900 power up.
}

void loop()
{
  if (Serial1.available()>0)  // if date is comming from softwareserial port ==> data is comming from gprs shield
  {
    boolean getLF = false;
    while(Serial1.available()>0 && !getLF)  // reading data into string if activity is on port and getLF is false ==> no LF have been send
    {
      char buffer=Serial1.read();  // writing data into char
      IncDataSerial += buffer;
      if (buffer == terminator) {
        getLF = true;
      }
    }

    Serial.print(IncDataSerial);  // send string ( char array ) to hardware serial
    Serial.print("\r");   // send a CR because it is missing
    IncDataSerial = "";
  }
  if (Serial.available()>0) // if data is available on hardwareserial port ==> data is comming from PC or notebook
    Serial1.write(Serial.read());  // write it to the GPRS shield
}

In Serial Monitor (or similar app) you will then see it start to talk to you after the initial ~5 second startup delay.

RDY

+CFUN: 1

+CPIN: READY

Call Ready

AT
OK

AT+CSQ
+CSQ:18,0
OK

20 Pieces of Startup Advice I Should Have Posted A Long Time Ago

Disclaimer: I am not a successful tech entrepreneur, so you probably shouldn’t read this.

  1. Build what people need and build it in the quickest and easiest (read hackiest) way possible that is barely acceptable to them. There are a lot of very bad implementations out there making millions right now.
  2. Do not build what you want (or what you think people need/want). As a tech entrepreneur you are an anomaly. Most people don’t care about the things you care about. eg. “I want a way to sync my scrobbles to my own server in case LastFM gets taken down by the FBI.” – Only 5 people care about this.
  3. Build products around use cases, NOT use cases around products.
    If you can’t explain what your product does in 20 seconds then you don’t have a product, you have a big idea. Unless you have unlimited resources and funding you’re going to need to tame your idea. Find a specific implementation of your big idea in action that resonates with the masses and run with that. If building that specific instance of your idea doesn’t sound sexy enough, think about how sexy it is going to be when you go back to your old boss and ask for a job. Once you’re making a profit off your not-so-sexy idea you can start self-funding your big idea.
  4. Big ideas don’t get funding. Google was not a big idea, it was a vastly better search engine in a market flooded with search engines. It was a product. Angels and VCs need to be able to understand your idea and then be able to communicate your idea to other people who will also understand it and immediately see how it will make money.
  5. Don’t let VCs lead you down the garden path and never commit. They’re doing you a disservice. If they truly like your idea and believe in you they can do their due diligence in 2 weeks and have (some) money in your bank account in a month. Too often it seems that VCs who don’t really “get” an idea are too scared to tell the founders to go away, just in case their idea starts to make sense. (No one wants to be the record exec who told the Beatles to go away). But this can give youa false  impression of how good your idea is, because if a VC seems interested, then surely your idea is a good one, right?
  6. Don’t make friends with VCs. Friends don’t want to tell friends that they “don’t really get it“, or more specifically that they “get it, but don’t see how you will be able to sell enough of it“. This kind of feedback can too easily come off as a personal insult for anyone to ever say it… so they’ll lead you on in the hope that one day you’ll say something to convince them because they really want you to do well.
  7. Don’t get too personal or precious about your idea. You are a smart, attractive person with great hair and a wonderful personality, you don’t need your product to validate your worth. Getting too personal about your product leaves you unable to change anything because it’s like gazing into the eyes of your beautiful new born baby and wishing they had been born with with nicer ears. You need to be ready to dump that baby in the dumpster at a moments notice.
  8. It’s all about cash, sales and runways. Building the product is the easy bit. Any nerd with a laptop can build a product. Selling it is HARD. You need to realise up front that your “tech startup” is 90% on-the-street-corner-sales. If you think you’re immune to this you’re a fool. If you aren’t earning 50% of what you need to break even after 50% of your runway you are in trouble.
  9. If your runway is 100 meters long, you need to be selling your product at 25m. The next 75m is refine, sell, refine, sell, repeat.
  10. Make sure know how long your runway is from day 1. Count down in days, have it up on the wall in big print.
  11. If you can’t build a product that people would pay for in 25m, make it simpler. If you don’t think you can sell this new simplified product then charge less for it or try and find some more runway… But figure this all out before you start.
  12. If you think you have a longer runway because you will obviously get more funding, don’t quit your day job. Negotiate all your funding before you quit your job. You might need to develop an MVP to get this funding. Do that at night or on weekends.
  13. Selling isn’t sexy but don’t avoid it. Rather get your hands dirty from day one so that you get used to the smell. (You’ll also get better at not stinking up the room every time you try)
  14. You need to realise that there is a difference between what people are impressed by and what they will pay for. If you’re removing some significant pain or frustration from their life, they might not be impressed but they will pay for it. People pay for lots of very unsexy things all the time.
  15. Design and field-test products until something resonates. Mock something up in photoshop and then go and see if you can sell it. You need to get to the point where someone is willing to give you cash out of their wallet in order to go home and use your thing.
  16. Sell to people you don’t know and who don’t know you. If you’re going to be successful then 99.9999% of your market is going to be people who have never met you, so why would test your sales on people who know you? Firstly they’re biased (they want to help you and may even give you their hard earned money out of guilt/pity/just-to-be-nice) and secondly, you have insider knowledge– you know who to sell to and which of your friends to not even bother with. That’s not reality.
  17. If there is more than one of you in the startup, don’t assume roles like “sales guy” and “coder”. Send the coder out to sell (especially when you’re still faking it)… He/She might just surprise you, and, at the very least they’ll learn more about how the product fits in the real world.
  18. Get a simple office (or even a room in the back of someone else’s office). Be there every day from 9 until 5 (or 10 till 6, or 11 till 7 etc) from day 1. Stick things on the walls, decorate your corner… get a crappy coffee machine. There is something about a humble office that will bring out the best in you. Working from someone’s home, even if you all work together just doesn’t have the same effect.
  19. Don’t believe everything you read on the internet.
  20. Read The Personal MBA before you start. Even if you have an MBA.

Letter to my 15 year old self.

Hi, it’s me, the 30 year old Jonathan. Here’s a list of things I wish I’d known when I was 15.

  1. Stop trying to be cool.  Being “cool” requires you to act “cool” so you end up acting like other people who are also acting “cool”… Eventually everyone is acting like someone else. Just be you.
  2. You have an extraordinary amount of free time, most of which you waste watching TV.  This might be your single biggest regret. STOP IT. Do something else, write software, hitch-hike to joburg, whatever, just stop watching TV.
  3. Take risks, be unpredictable, do things spontaneously. You might get in trouble but it’ll be worth it.
  4. Don’t let yourself become a nerd, but also don’t worry about being a nerd. Nerds are cool.
  5. History is actually very cool. Don’t drop it. Accounting is lame.
  6. God, in any form, does not exist. Humans have always created gods to explain the things they could not understand. Creation, Solar Eclipses, “miracles” etc. Native Americans dancing around a fire asking god for rain is no different to Christians praying for healing etc. Read up on the Placebo Effect and then think about religion.
  7. Be a good person. You don’t need a book to tell you what is wrong and right. Don’t tease anyone for any reason.
  8. Don’t waste your time trying to get a girlfriend. Girls are awesome but you don’t need a girlfriend now.
  9. You’ll make some great friends over the years. Make an effort to be a good friend back.
  10. You can be anyone, achieve anything. Who you are is as much a journey of discovery as any other great adventure.

The end. Don’t stress kid. You’ll be fine.

ps. Invest all your money in Google and Apple, but only after they fire Steve Jobs the first time