Sunday, June 30, 2013

Musings

I am not a great man nor a terrible one. I am simply a man coming to terms with his own mortality and perhaps this is what ultimately defines us. It is easy to be charitable when you have wealth. Easy to be caring when you have health. Easy to be concerned about others when you have no concerns, but to give of your life when yours is dwindling, to share when you have little, is the true test of life.

Sometimes I think the meaning of life is to create a meaning for your life.

Saturday, March 9, 2013

Fantasy and Reality

I think one of the reasons I am so delusional is because when I was growing up I got most of my morals from TV; not my parents.

My parents and other adults were always saying one thing and doing another. My father would tell me to turn the other cheek, then the first time my mom would piss him off he'd haul off and whack her. The only other cheek he would turn was my mother's.

TV on the other hand offered a safe haven. A place where a man was only as good as his word. Where honor was worth dying for. I gravitated towards Westerns. The code of the old west. Different shows had different moral themes; Bonanza reinforced the belief that wealthy people were good people, Have Gun Will Travel posited that a hired assassin could still be educated and culturally refined. The Bounty Hunter each week proposed that those who transgress must pay the price.

So when I got out in the real world it was quite a shock to discover what was going on in my home was reality and what I idolized on TV was fantasy.

Wednesday, February 13, 2013

On the Potential for ScrumBan

So the cool thing about Kanban when applied to software development (let's say, an already Scrum enabled team) is that it is truly a ground up optimization technique which eliminates the need for sprints.

Let's take the classic example of Kanban; a door worker on the Toyota assembly line. He picks up the 5th door from a pile of 10 and a Kanban card instructs him to place an order at workstation 'C' for 10 more doors. At this point he has an opportunity, one might argue an obligation, to report any inefficiencies in this process to his superiors. This is a central concept of Kanban.

Lets say that every time he went to fetch 10 doors, he realized he really only needed 7, or maybe he says it is far closer to station 'B'  than to station 'C'.  Well here is an opportunity for optimization. The issue isn't so much whether we can optimize a process, but rather where the input for that optimization comes from.

Now what is happening at each station like the one described above is a pull system;a fungible resource has been asked to review the work in waiting Q and decide whether he or she can act upon it. In our example, 'Here is an order for 10 doors'. The next available resource (person) will either move the Kanban card into the work in process state and start doing the work, or they will leave it in place. While this could result in a  blockage of lanes, the assumption is that a eventually a swarm will develop and resolve the potential bottleneck later.

Why Do I say potential bottleneck? Because central to the concept of Kanban is the regulation of the monetary currency (Kanban) so we limit how many Kanban cards may be in circulation at any given point in time. Cards represent work in progress (WIP) and a limitation on the amount of currency allowed in the system is also central to Kanban. We can not over tax the workers nor may we schedule more work than we have resources to allocate to it.

Think back to when you were a young programmer. Perhaps you were strong enough to do the work of two but we should not attempt to schedule around your ability to do the work of three so we must limit our WIP currency to match our available resources. Some prefer .75, some 1.5. It doesn't really matter as reality will ultimately provide this value. Your job as a project manager is to attempt to influence it and get better at managing it.

Kanban does not eradicate the need for project management, it just changes where the PM goes to get their input from. The worker is the best source of input for constant process improvement.

For example, lets say we have 10 Kanban cards. They represent 2 projects assigned to any given programmer (fungible asset) at any given point in time. Now we have these 10 Kanban cards for our 5 engineers and we may now schedule work for the the immediate future with the assumption being that we know what we are trying to accomplish in the near term so we have had made a most efficient utilization of the 10 Kanban units for the next 2-3 months.

Two weeks into production we get feedback from the PM via the station worker that he is waiting on doors. This is what is slowing his production. Well at this point the Kanban approach has done its job. Its pretty easy to see what needs to change. This is one of the benefits of the Kanban approach.

If we can next organize teams like this (fungible assets) and we can spend the necessary time to process worker feedback, then we can begin to realize the benefits of ScrumBan - Scrum without the sprints; constant product production (or in the case of software; integration), synchronized customer and worker feedback; True Engineering Nirvana.






Monday, February 11, 2013

On the Potential for North Korean Nuclear Arms

So one of the things I think I am most proud of as an American (besides Abe Lincoln and Teddy Roosevelt) is the fact that many years ago we as a world leader decided to put aside our petty grievances with the Soviet Union (among others) and sit down and seriously discuss the non-proliferation of nuclear weapons in an effort to save our planet.

Many societies before us have fallen prey to the gluttony of power, the imposition of their will upon the masses, the pillaging of conquered territories. I have not really seen that in my country. I mean yes the war in Iraq is a bit puzzling; if we conquered a country rich in oil reserves than why does my gas cost more?, etc. but perhaps I am naive enough to believe in the good old American set of values; that we just mean to show them the superiority of our ways and they will naturally convert.

The fact that we as a species were capable of sitting down and bridging the significant gaps between participating countries to address the belief that we had advanced technologically to the point that our continued misbehavior could lead to total destruction of the planet (more probably of life as we know it). The fact that we put the greater good of our planet above all else, well that totally blew my cynical mind and made me a big believer that our species may have a future on this planet after all.

I mean I agree we have the ability to do damage on a global scale when we only think locally, and I buy into the belief that we need to be constantly vigilant on the impact we have on our surrounding eco-system (think about the concept of an extinct species), but the fact that we can bind together at a country level to concern ourselves on a global scale is simply mind blowing.

This is why the North Korean issue so perplexes me. I mean at the end of the day it boils down to this in my mind; the big fish have decided to behave so as not to damage their shared environment. Some young pip-squeek wants to get away with intransigence afforded by the politeness of the big fish swimming in this sea. I say its time for the big fish to bare their teeth and be less polite. Its really as simple as that.

Saturday, February 2, 2013

Proud of Myself

So I have been staying in San Bruno for like the last 3 weeks, primarily because it has a casino (Artichoke Joes) within walking distance from the hotel. Over the past 3 weeks I am up close to 2k which is why I returned tonight even though my apartment in San Francisco is now ready. Two hours into this session I grab a smoke and come back looking at a $8 blind since I missed my turn at the small and big blind, so I pony up the $8 (I'm playing 6/12 limit) and draw a 8-J off from under the gun which I decide I should play only because everyone else calls around to me. Right when I go to call,  this bozo sitting across from me decides he doesn't like his hand and tosses his cards across the table and they land on top of mine. I push his aside and call, but the dealer calls a dead hand and has the pit boss come over.

The pit boss asks what happened and decides my hand is dead so they take my cards and continue to play the hand. I'm like, wtf? The pit boss says 'oh, you need to protect your hand' so I ask 'what does that mean'? He says if you would have had something on top of your cards like a chip or token then it would not have been a problem but since you did not protect your hand, your hand is dead. I complain, "you mean because that clown tossed his cards on top of mine I get punished"? He says, basically yes. Turns out next hand I am the big blind so another $6 goes into the pot. $14 gone and I haven't even had a chance to play a hand. I don't think I like that very much.

I start moping and pissing and moaning (even though my aggressive behavior wins me the next two pots) and playing angry and about four hands later the pit boss returns and gives me back my $8 and tells me he is sorry but in the future I will need to protect my hand. I thought that was pretty classy. Eventually about 5 hours later I bust out (lost $200 but still up over the last 3 weeks like $1500) and right before I leave I hunt down the pit boss. I hand him a $50 and tell him "sometimes it has nothing to do with the money and everything to do with how a man is treated". He tells me thank you and I leave. I'm pretty proud of myself tonight which is why I took the time out to jot this down. I hope I can remain this classy throughout the remainder of my poker playing days :-)

Wednesday, January 30, 2013

The First Myth of Management

I remember when I was a young pup working as a programmer for a company that made controlled access (security) systems for IBM and Ford and such, that my fellow coders and I would muse about our managers and how it seemed they were more interested in controlling us rather than encouraging us to work harder. In fact sometimes it seemed like they would deliberately demotivate us for god knows what reason (most probably political gain).

We came to the conclusion that a good manager worked for his engineers, not the other way around. A manager's job is to get his engineers whatever it takes to make them more productive. If they need an in-circuit emulator, then we should rent one. If they are stuck on a coding issue you should be able to resolve it for them. If they need a newer version of a compiler you need to pay the upgrade fee, etc. Within reason of course, but the point here is that the title of manager should be replaced by the term "Uber Grunt" and then you will have the right mindset to manage others.

This is a core value I have carried with me throughout my career; that a good manager doesn't control his people, but rather works for his people in an attempt to make them as productive as possible. The worst thing a manager can do is demotivate a fellow team member. This is easy to do, but must be avoided at all costs. It is one of the major mistakes a manager can make. Better to over look minor transgressions than to alienate an otherwise productive resource. Don't forget who works for who.



Sunday, January 27, 2013

San Francisco Cheap Hotels

So now that I have finally found an apartment I figured I better document my recent travels at cheap hotels in the area so I don't forget all the wonderful places I have found. All of the following hotels I mention are true hotels, not hostels, which basically means you get your own bathroom, you don't have to share one with other people which is a must for me.

The Americas Best Value Inns are all over the place in this area. I stayed at the one in the Marina district which is on Lombard Street between Pierce and Scott street. My friend Nick stayed at  the one near 7th and Folsom. In both cases the rooms were fine, decent sized, pretty clean and fairly cheap. I paid like $65 a night, Nick paid like $65 a night then he booked another week at the front desk and they gave him a $55 a night rate. The Marina District one is one block from Chestnut which is a nice 5-6 block shopping area with decent clubs and good restaurants. There are a bunch of other hotels up and down Lombard street (the Cow Hollow, The Alpha, The Surf, etc) which all rent for between $69-$99 per night. Lombard is a very safe area and I never felt in danger regardless of time or day. It is also an easy walk to Filmore and Union which is a nice shopping area with some decent night life. The Americas Best Value Inn at 7th and Folsom is closer to the main downtown area though.

I also stayed at the Grant Plaza hotel which is one block up the hill from the main Chinatown gate. It is an excellent, safe neighborhood and the room cost me $65 a night (they advertise $69 but I got a better deal online) and while it is clean and centrally located, the room was tiny (maybe under 200 sq ft) and the 20" TV only got like 7 stations. Still, if you want the heart of San Francisco I would recommend the Grant as it is probably one of the best cheap hotels in downtown San Francisco. One block down, actually next to the main gate is the Astoria hotel which I have also heard good things about. In fact one of the guys at work actually lived there for like 13 months. He eventually got them to rent him the room for $1,400/month but the typical rate is like $79 per night. Keep in mind that neither of these hotels have wifi, laundry and most of the other things you might expect. They are very simply a room.

If you are willing to pay a bit more the Mariott near 2nd and Folsom is an excellent choice. My company had an event there and I asked at the front desk how much a room was and they told me $125 a night. I was shocked and asked if that was some sort of special and he said no, that it was just the slow time of year for them (January) and that rooms ranged between $125-$225 a night depending on time if year and in town events (conferences tend to increase the price as they are close to the Moscone Center) but this is a very nice hotel for $125 a night.

I also visited the Gaylord Inn Suites located near Post and Taylor which is a bit close to the Tenderloin but I thought it would be pretty safe if I kept away from the Geary area. The nice thing about the Gaylord is it is a longer term solution, so all rooms are decent sized, have pots and pans and plates and silverware. Typical mini fridge and micro wave and I believe even a small range. The monthly rate is $2,000/month which, for the middle of downtown San Francisco with no lease required is quite reasonable. The neighborhood is close to a bad area though so I would physically check it out at night first before I committed to staying a month. I chose to stay at the Grant for like 2 weeks instead because I wanted to check out more neighborhoods and a month in one place was too long for my purposes. The weekly rate at the Gaylord Inn is like $750 which is not that great a deal.

Finally, I wanted to get a more comfortable, clean and modern room so I visited San Bruno. San Bruno is about 15 minutes south of San Francisco on the Caltrain so it is quite commutable. Once you get off the Caltrain you need to walk 5 minutes to get to El Camino Real which is the main highway through San Bruno. You will walk through a little neighborhood which is a bit odd, but its a pretty safe neighborhood and it is literally a 5 minute walk to the main drag where most of the hotels are located. Much like Lombard street in the Marina District, there are a bunch of hotels up and down the main boulevard ranging from $55-$85 per night (Howard Johnsons, Budget Inn, Ramada, etc). I had discovered the Super 8 which had a 8.4 out of 10 rating on Trip Advisor so I checked it out first before visiting the Gateway Inn and the Ramada. The Super 8 was the best by far. Excellent, large, clean rooms, free breakfast (waffle maker was cool) 40" TV with over 100 channels, free wifi, mini-fridge, microwave, coffee maker, etc. Very nice room, I would give it a 9.0 on Trip Advisor. The staff is friendly and it is across the street from the main San Bruno street which also has a casino on it which is great for poker players like me. It is also one block from a Walgreens which is open until midnight and there are two liquor stores nearby which are open until 2am. There are many great restaurants in San Bruno most within walking distance of the hotels. The Burmese restaurant and Hiro's Sushi are just awesome. Also, San Bruno prices are about 30% less than San Francisco on almost everything ranging from liquor to food so all in all this is my favorite place to stay and when I need to come back to San Francisco in the future this is where I will stay. I ended up paying $65 a night for an excellent conveniently located room.