Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the twentyfifteen domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /var/www/sunapi386.ca/wordpress/wp-includes/functions.php on line 6121
sunapi386's Blog – Page 17 – Hacker/scientist/entrepreneur.

Nuvation

It’s Velocity Dinner May 29 2014 and the guest speaker is Michael Worry from Nuvation.
When he graduated from uWaterloo in ‘97, he and his cofounders moved to California to do a startup, which led to Nuvation. Today we have him as a guest speaker and he’ll talk about his startup experience. Here are some things I found interesting.

Flinch price

This negotiation strategy focuses on trying to get the most money for the seller. How it works is, as a seller, ideally you want to name a price that is so high that the buyer flinches at the thought of buying it at that price. The buyer needs that product — but at that price, it is painful to think about. Starting a sale like this maximizes the amount you can sell.

Decision made on information

Make decisions based on information. If there are no new information, do not change the decision.
Opinions are not information; but may lead to new information.

Crab bucket mentality

The story goes that if you put one crab in a bucket, it’ll attempt to climb out. But if you have two crabs, when one tries to climb out, the other would pull on its legs and try to prevent it from leaving.
This is analogous to one trying to do a startup — when you want to get somewhere, you’ll have people drag you back. I.e. your parents want the best for you and they want that to be a safe and secure route, which typically is a steady job for steady income.

Fundamentally different skills

Engineers, management, sales are different skills. Those who are good at being engineers may not be good at the others. Michael’s story is that when he initally wanted to scale, he naively promoted his three best engineers to become managers. This was a poor decision in hindsight.

CEO gets the blame

As ceo, when things are going well then my staff gets the credit. When things go poorly, it’s ceo fault.

Stanford Technologies Ventures Program

 My notes on the 2004 Guy Kawasaki video lectures.

Make meaning in your company

Companies that succeed are those that make meaning. If you set out to make money you probably won’t succeed.

Key motivations to start a great organization:

  • Increase the quality of life
  • Right a wrong
  • Prevent the end of something good

Don’t write a mission statement

Make a mantra – three or four words that capture the essence of your organization.

E.g.
Wendy’s “healthy fast food”
FedeEx “Peace of mind”
Nike “Authentic athletic performance”
Mary Kay “Enriching women’s lives”
Kawasaki “Empowering entrepreneurs”

Dilbert mission statement generator website for mission statements.

Get up and get going

Think different, build the product/service that you love.
The best source of entrepreneurial spirit are people under 30 years old and solving a personal problem.
Think different.

Do not be afraid to polarize people. Ideally some people love your product, some people hate your product.

Find a few soul mates. When one person is down, you need the other person to pick you up and help you. Keep you warm.

The new business model

A specific person. Not “we’ll capture millions of eyeballs”. Not “enterprise software”, but “what size, who, and what they do”.

Keep it simple. We want innovate products/technologies.
Fundamentally, you make something, you sell it, you make money — that’s the model a VC can handle.

Ask women. Men has the “killer gene”. Start company to kill another company. Men are predisposed to want to kill things. Women don’t have this predisposition. Don’t waste your time asking men.

Continue reading Stanford Technologies Ventures Program

What Really Happens When We Visit a Web Page

What Really Happens When We Visit a Web Page

The journey down the protocol stack for a perspective of the many, many protocols that are involved in a simple request: downloading a web page.

Our setting consists of: a student, Bob, connecting his laptop to his school’s Ethernet switch and downloads a web page (www.google.com).

Getting Started: DHCP, UDP, IP, and Ethernet

Bob boots up his laptop and then connects it to an Ethernet cable connected to the school’s Ethernet switch, which in turn is connected to the school’s router. The school’s router is connected to an ISP, comcast.net. Comcast.net is providing the DNS service for the school; thus, the DNS server resides in the Comcast network rather than the school network. We’ll assume that the DHCP server is running within the router, as is often the case. When Bob first connects his laptop to the network, he can’t do anything (e.g. visit a web page) without an IP address. Thus, the first network-related action taken by Bob’s laptop is to run the DHCP protocol to obtain an IP address, as well as other information, from the local DHCP server:

1. The operating system on Bob’s laptop creates a DHCP request message and puts this message within a UDP segment with destination port 67 (DHCP server) and source port 68 (DHCP client). The UDP segment is then placed within an IP datagram with a broadcast IP destination address (255.255.255.255) and a source IP address of 0.0.0.0, since Bob’s laptop doesn’t yet have an IP address.

2. The IP datagram containing the DHCP request message is then placed within an Ethernet frame. The Ethernet frame has a destination MAC addresses of FF:FF:FF:FF:FF:FF so that the frame will be broadcast to all devices connected to the switch (hopefully including a DHCP server); the frame’s source MAC address is that of Bob’s laptop, 00:16:D3:23:68:8A.
Continue reading What Really Happens When We Visit a Web Page

Xmonad not regaining focus for IntelliJ

When using GUIs designed with Java Swing, like IntelliJ Idea, the once the focus changes it is lost and cannot be regained. I.e. you can’t type again.

In xmonad.hs you need to add these:

import XMonad.Hooks.SetWMName
import XMonad.Hooks.ICCCMFocus
...
setWMName "LG3D"
...
logHook = takeTopFocus <+> dynamicLogWithPP xmobarPP {

Refer to my xmonad on github.