Categories
Uncategorized

Elsie Roth

Elsie Roth, my grandmother died April 2. You can read the summary of her
life here.

It is hard to know someone when they live far away. What with my Grandmother
living all her life in Pennsylvania and me in Massachusetts (Mass-a-choo-choo
to some), visits were infrequent. They were always an event with her though. A
consummate host, meals were lavish affairs. Difficult logistically given the
cramped townhouse she lived in, but still quite a production. It is a shame our
visits became more frequent only after she moved to a nursing home. It is hard
to pinpoint when she actually died. We know when her body died, but this
occurred long after her mind. I miss the bright cheer she showed when she saw
me. Always present when I was young, but less and less each visit. It is this
image I remember, not of a person robed of humanity by loss of memory.

She is gone now and we will not meet again. That is ok though, I need not a
physical presence to remember her.

Categories
GameDesign Video Games

Unnamed Space Strategy Game

Ideas are cheap, so here is mine.

Lately I have been enjoying Homeworld Remastered which got
me thinking about what would make a great new space strategy game.

There is a shamefully limited offering in this genre, see Homeworld, Sins of a Solar
Empire
, Conquest Frontier
Wars
, Nexus the Jupiter
Incident
for some examples. Limited they may be, but on a whole most of
these games treat space battles like naval battles with extra dimensions. This
is serviceable, but can be visually confusing. In the example of Homeworld, it
is hard to see what is happening once a battle begins. Generally the capital
ships will be separate, forming a rough battle line, but they can be split on
various levels from the z-axis. The fighter craft will be intermixed between
the lines. Given enough ships this can make for a very confusing battle. With
ships all over the place it can be hard to see if your forces are winning or
not. A strategy game should not do that. Good strategy games offer clear
feedback if you are winning, losing, or drawing. If you cannot tell what state
the battle is in, you cannot make interesting choices to try and alter the
state. At that point you are not playing a game, you are just watching. The
spectacle of watching a battle unfold however should not be neglected. Space
battles have their own majestic quality. so there must be a vibrant color
palette in both ship and space.

What are the conclusions I have drawn: 1. Current space strategy games draw
heavy influence from naval simulations. 2. Strategy games need to always convey
the state of the battle. 3. Battles in space must be visually engaging.

With this in mind I want to suggest a different influence for games set in
space. Instead of a naval influence we should instead look to the battles of
Napoleon. With a naval influence the number of ships involved in a battle tend
to skew toward the low end. Maybe reaching a 100 capital ships in a lively game
in Homeworld. These numbers are far too insufficient. I want battles to number
in the tens of thousands. There was near to 200,000 soldiers involved in the
Battle of Waterloo. We should aim for similar numbers of space craft. This of
course brings up issues of controlling so many units at once. If we take
inspiration from games modeling this period such as Empire Total War or
Ultimate General: Gettysburg you
can see we do not handle individual soldiers, but collections of them, maybe
100-300 at a time. In this same way we should organize our ships in squadrons
of a similar number. The games I mentioned tend to only deal with about 30-60
thousand units in a battle, so we may want to increase our unit size to around
a 1000 ships per collection. Now that we have split our army into neat
collections of ships we can have both a large number of ships in an engagement
and we can far more easily move them. In Homeworld you may have to move and
organize around 50 capital ships at any one time. In my model of collections of
a 1000 or more, we can easily have players controlling 25,000 ships and still
moving around less pieces than in the Homeworld example. More ships, easier
control.

To the second point, we need to make sure the game always conveys the state
of the battle. To solve this problem look towards Scourge of War: Gettysburg or
Sid Meier’s
Gettysburg
. Both games track how effective a particular unit is doing, both
in dealing damage and sustaining damage. If a unit is taking more damage than
it is dealing it is losing, the inverse, it is winning. So to should our game
always have available this information. Either as a number prominently
displayed, or as some visual element. Secondly, the nature of a Napoleonic
style battle is many units in neat lines maneuvering against the enemy. With
such rigid formations we can avoid the issue of ships intermingling like they
do in Homeworld. This also has the added benefit of always showing a clear view
of the battle which is important for both determining who is winning (the
state) and what moves to make next (the heart of a strategy game).

Finally, we need to ensure our battles are interesting to watch. This is a
bit hit or miss in the examples I have given. Homeworld has a lot of ship
customization, but SIns of Solar Empire and Nexus have little. If we look to
the armies of
Napoleon’s time
we can see a great variety in uniforms. Lots of bold
vibrant colors. So to should our ships sport such dashing design. We should
have a great deal of customization of fleet colors and fleets should lean
towards bright colors, instead of dull navy gray.

To summarize: 1. Draw inspiration from Napoleonic wars, not naval ones. 2.
Enforce collections of many ships and rigid formations. 3. Emphasize bright
colors.

Now that we have solved some of the problems of the genre, at least on
paper, let us look to differentiate the title a bit. As mentioned, Napoleonic
battles should be our inspiration. To that end we should emphasis a rock,
paper, scissors balance. In a battle of that time there were generally three
types of units: line infantry, cavalry, and artillery. In this relationship,
infantry is good against all other types as long as they can be kept at optimal
range, artillery beats all other types at long range, and cavalry beats all
types at close range. We should model our fleet on those types. Average speed
ships with average ranged weapons that fight in massed formation (infantry),
fast agile ships with melee or close range weapons (cavalry), and weak long
ranged ships (artillery). This simple balance make it easy to understand how to
place you units to optimize their potential. Most space strategy games do not
have a concept of cavalry or artillery. They tend to focus on ships that all
engage at or near to the same range, but with different weapons. The idea of
melee in space is pretty unexplored. Homeworld: Cataclysm
has a ship that pushes other ships away from a battle, but I know of no other
game that models very close range fighting. It would be a cool idea to explore
some in-universe explanation for this. Artillery in space is also little
explored. Sins of a Solar Empire features long range missile platforms, so we
would probably have ships equipped for long range missile launch in our
game.

Secondly we should consider adding a layer of logistics to our game.
Homeworld tracked fuel for fighter craft, but had no other supply mechanics.
Conquest Frontier Wars did have supply on a ship to ship basis and it was very
important to the game. Lack of supply ships could doom assaults. We should
consider adding similar mechanics to our game. Units should have two needs,
fuel and ammunition. As the battle progresses it would be necessary to ensure
ships do not run out of either or they would be unable to move or fire. This
adds some complexity, but opens up interesting strategic options, like cutting
off enemy resupply in battle.

The toughest point to consider is how to handle z-dimensional movement. Some
space games, like Sins only support moving on the x,y plane. Homeworld and
Nexus have full 3d movement. I think we should do the same. Players expect that
freedom of movement in space and it allows us some interesting strategy, such
as attacking an enemy from above or below. Our new emphasis on Napoleonic
battle helps us here as attacks from the flanks (or above/below) should inflict
additional damage. We should be careful of constraints here though. If we allow
too much z-axis freedom ships will start going everywhere for little gain.
Perhaps we could limit the area of battle somewhat so the units do not get too
separated. This will be tough to justify in-universe. We could set the area
engagement to be so large that we could enforce a communication delay between
ships. May be interesting to increase unit response times the further they get
from the flagship, the unit sending the orders. This would keep units close to
the flagship and make that unit very important. Do you move your flagship with
an assault so that you can relay orders quickly or do you create a complicated
battle plan and hope it is carried out as expected.

Overall It is not so much that we are making a new design, but repurposing
an existing design for a different setting. I want to shift our focus away from
individual ship management to that of a large scale battle of maneuver. To
those of you familiar with anime this setting is not so new, it is basically
how battles are fought in the classic anime series Legends of the
Galactic Heroes
. Now if only the games
they made were localized.

Categories
Travel

Trip to India

IndiaHotel

At least it is not Oakland.

Almost a year ago I learned Oracle would be adding some people to its office
in Bangalore, India. Some
of these people would be working on a product I am very familiar with. Thus I
hatched some bugs, put them into some ears, and on February 1st found myself
and a coworker headed to India to impart our knowledge. This turned out to be
me my first mistake. As you know I am a lover of the greatest
American sport
and February 1st happens to be the date of its ultimate game. I had thought
this was the date for the least ultimate game of the
year
, but I really should have checked. Regardless, plans were made, hotels
booked, promises made, I could not deviate. Luckily, my team met with victory
on the field which I found out mid flight. This was the highlight from all my
air travel. Flying has got to be the worst indignity given unto woman and man.
Every time I had to board an airplane I was cast (begrudgingly) into some yet
new and wonderful rendition of security theater. A play with many actors, and
yet more directors. I danced off various items of clothing, twirled for the
benefit of machines and humans alike, and finally (with great flourish) had
various forms and paper stamped. Truly a modern marvel. And what, you may
rightfully ask, was my reward for my many labors? 17 hours of flying over two
flights. Every time I fly I think, “It will be fine, I will just sleep the
whole way.” How optimistic past Paul is. I can never sleep on a plane. It is
too noisy, there is too much vibration, I cannot get comfortable. Whatever the
reason, it is a losing prospect. Earplugs, pillows, small flight blankets, all
useless. The saving grace though: airplane food. I have such a low standard for
food that I actually enjoy airline food. I dunno, maybe its all the colorful
wrapping it comes in, but it always seems pretty good to me. Tis a bit weird
though, silently eating food next to strangers. The takeaway is, In the future,
I must acquire a greater title within Oracle. Not for the salary benefits,
strictly so I can book business class, otherwise known as: not baby class.
Every miserable time I have been flown there has been a baby not five rows from
me. There must be some airline supercomputer that ensures optimal flight baby
distribution. This is the only reason people book classes other than economy.
More leg room, whatever. Some different food, do not care. No screaming babies,
give me that ticket. It is like a little organic siren, howling every hour to
remind you that, yes you are still strapped into this metal tube with me. Fear
me giant, for I have a mighty roar. Unfortunately, I am still that lowly Oracle
peon. Bring on the babies.

India though is awesome. Perfect February weather. Clear skies, a dry 70
degrees, nothing but sun. I am told this is the weather all year round. As much
as I like the seasons, snow is only cool for one storm. Anything after is just
messy commutes and delayed arrival. Lets talk logistics. first thing the
hotel:

IndianHotelInside

I was not ready for the swankiness. This was some no name Hilton. Yup, the
same company I stayed with for Java One and OpenWorld. I thought the one in
Oakland was alright for sure, but nothing special. Its totally different in
India. As we were driving to the hotel, the driver kept zipping us down these
small narrow roads. There are cars and people everywhere (city of 4.3 million)
and we are just bumping down these not great neighborhoods. I am thinking, “I
have been watching too much Boardwalk Empire, every gangster dies this way.”
Then (no joke) we take one turn and it is glorious, gentrified, guarded office
park and hotel. The security is a little strange at first, I was not aware
crime was that bad. They even checked the car for a bomb, which as an aside
must be the worst job in India. You know you are only ever going to find one
bomb. Regardless, I thought the facade was going to fall away once in the room,
that was not true. There were so many lights and switches it took 5 minutes to
turn them all off when getting ready for bed. I had so much space I had a guest
bathroom, A GUEST BATHROOM. Who am I going to have over. “Oh, thanks for coming
guest, nice to have you. You need to use the bathroom? Use the guest bathroom
you filthy plebeian, the master bathroom with its separate shower and bathtub
with tv is for my use only!” They even gave me two jars of nuts for some
reason. I hate nuts (except peanuts), but I took them anyways. There were three
tvs in the whole suite. One in the bathtub, one in the living room, and one in
the bedroom (not 10 feet from the other one), just in case you wanted to watch
tv, but also wanted to lie in bed and could not be bothered to go into the
other room. I have an actual kitchen, with pots and pans. There was even a
switch to tell housecleaning you did not want to be disturbed. A switch, for a
light outside your room. No door knob placards here in India. This hotel also
gets the award for best free breakfast. A lot of places just put out some stale
baked goods and dry cereal and call it “continental”. Not the Hilton in India.
Imagine a college dining place, with all the stations and options, now imagine
it was good (minus the floppy bacon, crispy or get out), this is the Hilton in
India. The only negative about my stay was blowing up my radio. I brought the
correct plug converter, but you need an adapter as well or else the device will
be given too much power. This manifests itself as a loud pop and thin wisps of
smoke. My clock radio is now dead, casualty of traveling

On the subject of casualties, while in country Oracle blessed us with a
personal driver. This was incredible and made me feel like a boss, spelled
b-a-u-s. The thing is driving in India is terrible. No one stays in their lane.
Sure there are lanes, but crank up the volume and people will start forming
extra lanes. Two lanes become three, ones become two. This is because everyone
is driving (4.3+ remember). Dads with three kids on their bike, tiny trucks
loaded with food, buses packed with workers. Its crazy and everyone is trying
to shoot for the gap and get in spaces there is none. I sat shotgun a few
times, cars are not meant to be this close. Every turn looks like the start of
an accident. Lights are optional in some cases and so is right of way. Luckily
the office is not too far from the hotel. The placement is odd though. Oracle
could have built it on the nice office park the hotel was on. Instead it seems
like they picked a slum and installed an office park in the middle of it. Not
to worry though, a giant wall surrounds the place to keep out the riff raff and
ragamuffins. It is a strange feeling to be inside the wall looking out.

The actual training though, who cares. I talked for about two full days.
They taped all of it in glorious HD, so there exists 16 or so hours of me
perfecting the dry technical delivery.

All the talking though produced quite the appetite. First day come lunch I
was stoked for that authentic Indian. In comes the boss with Pizza Hut. The
offer was nice, and I was hungry, but what is the deal, this is Pizza Hut, not
Indian. All was resolved come dinner though. We went to a place called Barbeque Nation. The deal is
each table has a grill at it and they keep bringing food on spits for the
grill. I am eating all this food with strange names, and it is good, but spicy.
I am talking spice sweat spicy. Like you just woke up from a bad dream sweat,
but caused by spice. So I gorge myself like everyone else and then they say,
“that was the appetizer, it’s buffet.” You mean there is more food? So I eat
even more food. This is where I hit spice critical. Before it was under
control, drinking water between every bite, but now my mouth is just an oven.
So I bail and eat desert. Paul G top tip: mouth too spicy, get some Indian ice cream.

That was my three days, survive traffic to the office, talk, eat lots of
spicy food, survive drive back. Make sure to leave early or be caught in
horrible Bangalore gridlock. On my last day I thought it would be a good idea
to fly out at 2;50 in the morning.This was not a good idea. I had not
anticipated being so tired. Generally I am an owl of the night. So when I was
nodding off at 11PM, I knew it was going to be trouble. The problem with being
sleep impaired in India is all the bureaucratic nonsense you are subjected to
on leaving. I thought entering was bad enough: multiple forms and an extra
security check (huh). Just try leaving the country. You get your passport and
flight details checked at the door (good thing some flight offices are outside
the airport). Then you check in, go through immigration (passport checked
twice), go through security, passport checked twice. All the while people are
stamping your boarding pass with all kinds of stamps and symbols. Finally, you
get to the gate and then on boarding (which there is no announcement so be
close to the gate) they check everything again. Even the little tag for my
carry on. Glad I did not discard that, would probably not have made it out of
the country. I get being thorough, but the law of diminishing returns comes
into play here. My reward for my hoop jumping ability: 17 hours, two flights,
snowy cold Boston. At least the Paris airport looks like one of those curved
space stations.

ParisAirport

That was India in a nutshell, really far away with a lot of spicy food, and
great weather. I give it six spicy chicken things out of 15 glasses of
water.

Categories
Philosophy

You Just Need One

Take a trip back with me to those halcyon days of 2002. Back when I was in
5th grade a game would come out that would set the template for an great number
of copy cat titles. That game is Medal of Honor
Allied Assault
. Fear not though, this post is not about this game. It is a
great game no doubt, with a number of high quality sequels (although the
further out you get from the original the worse they get). No this post is
really about the game’s intro. Take a gander at it here. Did you catch the last
line?

Can one man truly make a difference?

Normally we can all just roll our eyes at the omission of both genders, but
that oversight is kind of a big deal here because I want to apply that question
to
this article
. Our protagonist is Alayne Fleischmann, who was employed by
JPMorgan Chase during the recent financial crisis. Her story is a good one so I
suggest you read the whole article before continuing.

Having read that, let us take stock of the results:

  • Mrs. Fleischmann told people at JPMorgan what they were doing was
    fraud
  • JPMorgan laid her off.
  • JPMorgan paid the government 9 billion partially due to her testimony.
  • No executives were charged.

By some accounting, yes she did make a difference. JPMorgan was so afraid of
her testimony that they worked very hard to pay off penalties so she could not
testify. But I am going to postulate that no, she did not make a difference.
Show me the executives who lost their jobs, show me that JPMorgan does business
fundamentally differently, show me the laws that enforce greater oversight
(counterpoint).
Granted, It is a bit unfair to look at these complex organizations and judge
their interactions to find a clear difference in operation. I get that, but I
doubt it provides any solace to Mrs. Fleischmann, who lost her job, who dealt
with the legal fallout for years, and who is unemployed according to Wikipedia. Show me she
made a difference.

It is a shame right? She ought to have something to show for it, something
should have changed? And here we arrive at the point: acting to your
ideals is the only reward you deserve
. It is great when things work
out. Wrongs are righted, justice is delivered, lifetime movies are made, the
works. Plenty of times though you act expecting the cherry and get the pit. You
can be exiled from your
country
, you can be on the losing side, you can even die. The
only reward these people deserve is the satisfaction of acting to their ideals.
After that nothing else is guaranteed.

In a way it is depressing to think this, that you can do good and nothing
can change. I would instead postulate a different analysis, that understanding
this is the way of things is liberating. I do not need good things to happen,
the universe does not owe me a reward for being on my best behavior. I just
need to be true to myself and I can be content with the outcome.

This is why I am so happy people like Mrs. Fleischmann exist. She acted
against her own financial interest knowing the outcome was in doubt because her
morals were so strong, such a core part of her being that to not act would have
changed her. It would have made her something she did not want to be.

She did make a difference, for herself. She was tested, her morality was
tested, and she made a choice to be true to herself. You only need one person
to do that.

Categories
Philosophy

I Kill Animals For Sport and I Enjoy It

I love Inflammatory titles. I do not do this just to stir up some passion in
you dear reader, instead I strive to get to the point as quick as I can. With
this hobby of mine there can be no denying its aims. I go into the woods, I try
and find small cat sized birds (pheasants), and I try and kill them with a gun.
If you still do not believe me, and frankly it may be hard to blame you given
the rest of the articles on this blog, here is some recent photographic
evidence.

So why do I do this? You may be tempted into thinking I am a sadist. I am
sure that would be the opinion of PETA. To be fair, It would be untruthful of
me to say that I do not derive some base thrill in the act. Humans have been
hunting animals to survive before we could yet form words. The need is now
passed, but the instinct and feeling remains. This is not the reason though. A
popular explanation is hunting is just another aspect of a nature lover. I too
will confess to enjoying the forest scenery in spurts. It is generally too
early or not light enough for me to fully enjoy it however. You would think an
ex-boy scout would take more joy just being in the woods, but I have always
been more at home in my home. How about enjoying the sport aspect? That thought
is pretty close. There is a fair bit of competition between human and prey.
Pheasants are pretty cunning animals. They hunker down until you are right on
top of them and can move deceptively fast on the ground. Their speed through
the air is nothing special, but given the chance, they can put much distance
between themselves and you with wings alone. Even with all my technology and
skill, my success rate this season is 0%, which is worse than seasons past, but
not by much. This is not my main reason though. Consider a popular question
poised when I tell people I hunt: “Do you eat what you get?”

Yes, emphatically yes, that is why I am getting up before dawn and walking
around in the cold. Why I am covered in bright orange. Why I am wading through
muddy field with tall grass. I am not looking for Pokemon, I am looking for
meat. To put it simply, I eat the flesh of a once living creature. I have to be
willing to do some of the dirty work myself. We live in an industrialized
country with an efficient meat industry. All the blood work happens behind the
scenes. All we get is a Styrofoam plate, some plastic, and a red hunk of
organic material. We are so removed that it becomes easy to rationalize and
forget that this was once a living creature. A creature with thoughts, however
simple. One of those thoughts was survival, but we ignored that for our own
gain. We are queens and kings of the food chain so we have that right, but as
royalty we have a noblesse oblige and that is to not forget that we killed
something to live. I must not forget that, but I have to be pragmatic. I cannot
raise cows and chickens. The expense, the time, the skill, the first I care not
for and the last two I lack. This is my own small recognition of what others do
on my behalf.

Do not fool yourself into thinking you are some how lessened for not taking
part in this little ritual of mine. For me, I must act to appreciate their
sacrifice. Just appreciate that something died so you can live. Something to
chew on.

Categories
Engineering Java

Your System is Finite

Let us talk limits for a bit. No, put away your graphs, this is about memory
limits. Before I get into the discussion, a few notes. I am going to be talking
mostly about particular errors and operations in Java. A healthy knowledge of
the Java Virtual
Machine
with particular attention to
garbage collection and heap allocation
would be useful.

Recently I encountered some issues where our application was running out of
memory. In this case the Java virtual machine is going to throw this exception:
OutOfMemoryException.

Why is this happening?

When your program runs in the JVM the JVM has a specific amount of memory (a
subset of the system’s ram) it can use to allocate objects. This area is the
heap and it is where all the objects you create using the ‘new’ keyword will
live. Stuff like this:

CustomObject customObject = new CustomObject();

The amount of heap space the JVM has access to is based on the system it is
run on. The JVM will set the amount of heap space available to it when it
starts. As your program executes, the JVM will allocate space on the heap for
objects the program needs. Objects you no longer need will be removed via the
JVM’s garbage collector. The garbage collector however, cannot remove objects
still in use. Therefore if you create too many objects you will use up all the
heap space and get an OutOfMemory exception. This is the key point: your
system is finite
.

For example, if your heap size is 256MBs and each object you create takes
1MB then code like this:

CustomObject customObjArray =
getNumberOfCustomObjects(257)

Will require at least 257MBs which you do not have. Thus the JVM cannot
continue and it throws an exception.

How Can We Fix This?

Now there is an easy fix to this. When you start your java program you run
it on the console like this:

java myProgram

You can specify
arguments
on java to increase the heap size. Specifically something like
this:

java -Xmx:1g myProgram

This would set the JVM’s heap size to 1 gigabyte. Do not do this! It is
tempting, it is easy, but it covers up an underlying problem in your program.
Now, of course, there is a time and place for this, but for the most part all
you are doing is delaying the problem, forcing future you to deal with it.
Future you will hate you for it. Let us look at a close to real life
example.

Record recordArray =
getAllRecordsFromMySql();

This is perfectly valid code. All we are doing here is getting a bunch of
objects back from the database. Simple code can get you into a lot of trouble
if you do not have a good understanding of how many records you can get back.
We have three possible cases here:

1. We get 0 items back.

2. We get n items which consumes less than the total heap size.

3. We get n items which needs more heap than we have.

In the first case, we are fine, no issues there. In the second case we are
also fine. You may not even have to worry about that if the number of objects
you expect back is always (key word) going to be be less than your heap size.
For example if our app can only ever store 10 records at a time (like a
rotating log) we will be fine. If, as I saw recently, the number of records you
could get back is near to unlimited then I can promise you at some point that
is going to happen. You can then see that it does not matter what we set our
heap size to. If the amount of records are bound to the size of system’s hard
disk then, at some point, the amount of stored records we have will exceed the
total amount of available ram and then it does not matter what you set the
JVM’s heap size to, you could not possibly set it high enough and your program
explodes.

What you can do however is limit the amount of records you process at one
time. Consider a couple different strategies for this case (reading n entries
from a database).

1. Conditionally Limiting your Mysql query to a certain id range.

If your tables are setup correctly it is possible you could get your rows
based on increasing the id. For example you could execute a query like
this:

select * from records where id >= 0 and <= 500;

This would get all your records with ids from 0 to 500, or 500 records.
Assuming ids are unique (meaning two rows cannot have the same id). Then you
could iterate your id range and get the next 500. Keep doing that until you
have less than 501 results and you have processed all your results.

2. Using a cursor

A cursor is basically an iterator. It points to one row in your database.
From there you can move to another row. You are only allowed to operate on one
row at a time so you will never run out of memory. This can be especially
useful if you want to process a large number of objects, and then update them
in the database. Code that would look like this:

while(mysqlCursor.hasNext()) {

       Record record = mysqlCursor.next();
       processRecord(record); 
       writeRecordToTable(record); 

}

Both strategies will limit the amount of data you have to manage at any one
time.

Key Takeaways

The key rule to remember here is, when working with computers, you are
always working with finite resources. Memory has limits. You can program around
them easy enough, but they are there and they must be respected.

Categories
Philosophy Story

An Example of Things Working Out

Have you ever had plans to meet someone and got there really early. Not like
10 or 30 minutes early, but an hour or two. Does not matter why, maybe you got
the time wrong, or vastly over estimated how long it would take to get there.
What would you do while you waited? Would you get a snack, try and find
something to read, sit around aimlessly? Me, I like to walk around wherever I
am. Maybe it is a big building with a lot of corridors. Perhaps it is a school
ground with some forest paths. Regardless, it is time for an unplanned
constitutional. Maybe I go left, maybe I go right. Perhaps I take this path,
perhaps I take the other. I will not quote Frost at you, but you get the idea.
Sometimes I see people, sometimes I do not, depends where I am. Not the point
of the exercise. I am just burning time waiting. And yet, something else is at
play here. The walk is time limited. You have an end time at which your
wanderings must stop. What if that were not true, what if you just kept walking
and saw everything you could? What would change? Maybe you would see something
unexpected or maybe, low odds that it might be, you would change? This is a
little story of how little things changed me.

Back in University (sometimes it is fun to be pretentious) a few days before
my first undergraduate class there was a club fair. A kind of menagerie where
people convince you to join their clique. The school had a pretty clever play
of only serving lunch that day next to the club fair. So I found myself eating
some Aramark ‘food’ and poking around the tables. Nothing much of interest to
me. I got hit up to join the Society of Black Engineers. Which got the academic
intent right, but maybe missed some other clues. We live in a color blind
society though so I cannot fault them. Things were pretty much a dud so I
started to work my way back to my dorm. Oddly though, while I was making my
exit, I spotted a friend from high school poking around a club table. This was
surprising for two reasons:

1. This friend was a year older than I, yet remembered me.

2. I had no idea he went to this school.

It was a pleasant surprise, serendipitous for those of you studying for
University
Challenge
. There was some minor talking had. It was a hot day. He was
actually there to promote a club, The Society of Physics Students (presumably
all college clubs are societies). Not that he was a major player in the
organization. I suspect, like me, he was there for lunch and wanted to eat near
some people he knew. Regardless, it was fun, speaking of things past and
present. The club was running some simple experiments, playing with a spinning
wheel to show angular momentum, physic things. They gave me the first meeting
date, whatever, I did not really care.

A week goes by, turns out I do care. New school, new Paul. One of those
points turned out to be true. So I am looking for the room, a little before the
meeting time, and the thing about Umass Lowell is they named these two building
next to each other Olsen and Olney. Incredibly easy to get missed up. So,
expectedly, I go to the wrong room first. The tip off was it was an office, and
the second clue was it was empty. I go to the other building and try the same
room number over there. I give the door a tentative push, it is locked, key
card reader outside. How could it be this room? Why would it be locked? At
least the other one was open. So that was an anticlimax, but I know know the
building names a little better. I am walking away with my back to the door when
it opens which I was not expecting to happen.

“You looking for SPS?”

“Yes”

“Cool”

That is not the exact conversation, but it is the intent. I became an SPS
member a handful of minutes later even though I was not studying physics nor
taking a physics class. Then I made some new friends who would be one of the
few constants for my next four years. The name of the club was SPS, but it was
more of a social than academic organization. Very useful to know people who
were more experienced than I in many fields. They kept me in the loop for
things to do and kept me sane. I remember the dinners we would have. Hour long
affairs, people coming and going. Leaving far after closing time. I never ate
and talked so much in a cafeteria before. Six years on the contact has lessened
with distance, but we still drop notes on occasion.

Now consider one point in this story. The locked door. What if I had not
pushed it? No one would have know I was there, I would not have been in SPS,
and my life would be lesser for it. Now how often does that ‘what if’ happen? I
got lucky this time, but I am sure I missed the connection more often than
not.

Just got to keep walking I guess.

Categories
Convention

Oracle OpenWorld and JavaOne 2014

OpenWorld is
Oracle’s giant yearly business expo in San Francisco. It is a week of Oracle
trashing the competition and talking up its own product line. Oracle DB will
save you money, double performance, cure cancer, fix your marriage, etc. The
conference was flashy and large and not interesting to me. What was interesting
was JavaOne. A hold
over developer centric conference from when Oracle acquired Sun Microsystems
(the creator of Java). Being an Oracle employee I got permission to go which is
why I was awake at 5AM last Sunday.

The deal here is, Oracle will try very hard to keep its own developers from
actually going because they make bank on the registration fees from other
companies. A single JavaOne pass costs $2,050, which is pretty absurd. But, if
you actually do get permission to go, Oracle will bankroll the whole trip.
Which is why they paid for a car to come pick me up at that borderline absurd a
hour. I am used to always taking the train into Boston (then presumably a bus),
but the trains do not run that early, so sweet Oracle car it was. I was in full
business garb: army jacket, t-shirt, and jeans. It was pretty exciting to have
someone open a car do for me, made me feel like a real hot shot. The ride was
very pleasant too, classical musical and everything. Pulling up to the airport,
seeing everyone else in their taxis and minivans, I really was a business man.
The illusion suffered when I checked in and was told Chicago
was having trouble
. I might have made it a bit further, but then I had to
do the security dance so whatever respect for myself I had left I lost to the
TSA agents. Still Oracle paid flight, Oracle paid hotel, cannot be too bad.
Wait why am I flying to Oakland? Must be for the fancy accommodations and sweet
view since I will be right near the bay.

Ok, maybe not. Turns
out hotels in the city are for the real big shots and/or people who register
early. Which means, I became very familiar with Bay Area Rapid Transit. The
subway system here is pretty unique. Not only do you get charged when you get
off (hope you have enough money), but the trains are the loudest I have ever
been on. Frighteningly banshee-esque screams every time it takes a turn. So
loud, I am sure the driver has to wear ear protection for fear of an OSHA sound
violation. The best part of commuting out by train was watching all these
suited business types waiting for the hotel shuttle in this incredibly awful
Oakland neighborhood which the hotel driver described to us as “not great”.

None of that is actually important though because the actual conference was
awesome.

Being the dirty, unwashed, Oracle employee, I could not actually register
for sessions to attend, so I had to hope they did not fill up before I could
get in (five minutes before it started). Generally this was not a problem and I
got into some real cool sessions. Some of the stuff in JDK 8 is going to be
very helpful. Lambdas
and Streams
in particular are going to help out a lot. Some of the stuff scheduled for JDK
9 like value types and primitives in collections are going to be real useful
too. There was also a number of sessions that deepened my knowledge of the JVM
such as how the volatile keyword is implemented on the byte code level and the
different types of garbage collection strategies available to Java. A couple
dud sessions in there too, but what can you do. Of course no convention is
complete without an expo hall (both at Java One and OpenWorld), but it was
mostly a waste of time. I am in no position to actually buy any of the products
they were selling, but it was fun to watch how quickly the sale rep tried to
disengage once they found that out. Apparently the product I work on was demoed
somewhere on the floor so hopefully something good came out that.

All this work did lead to long days. I got up, went to the convention, sat
in as many sessions as I could, then rode the subway home to sleep. Some of the
sessions ran pretty late for a 9-5 guy with the latest being 9PM on some days.
In between I got the chance to enjoy some San Francisco food. Weirdly regular
convention goers get served lunch, but not Oracle employees. Presumably Oracle
would prefer I expense a meal that cost more than what they are serving? The
best was, oddly enough, the Korean barbeque I had near the mall at the Moscone
Center. I got way too much rice though.

We also got a chance to visit mother Oracle at nearby Redwood Shores and see
the sweet Oracle boat.

Turns out there are some perks to having a slightly eccentric CEO. At the
convention I got to see him speak for the first time at the key note and I was
greatly impressed. He was funny and engaging. Calling out the competition,
poking fun at himself, he really has a flair for speech and clearly loves being
the big shot. The gift shop at HQ was pretty disappointing though so he is not
perfect. After that it was two quick flights back, and a midnight car ride to
Franklin. Business managed.

The big takeaway from all this is two fold. One, this convention is not for
Oracle employees. Two, find all the Oracle employees you can so they can tell
you who to talk to in the company to actually get stuff done.

Categories
Musings

Am I Making Any Sense?

I am nearing 50 posts on this little blog so an important question naturally
arises after having written so much. Does anything I write or say make sense?
Do people just nod along with it and then when I finally stop and leave think,
“man that guy is crazy, what is he talking about?” I like to think I am
Brain, but do
others just hear Pinky?

An example for context. I am talking about acting to some friends, and how I
am rubbish at it. So bad people would be asking “why did the filmmakers use
actors from Home Depot?”. That is not the exact line I said, but it is close
enough. I thought it was clear enough, but all I could see were confused faces.
The thing is, this is my humor. Anyone can make a joke about a person acting
wooden. You have to go to that next level, where you understand everyone knows
that. You build on that knowledge and layer a joke on top. A person is acting
wooden, wood comes from Home Depot. Simple right? Blank stares, no laughing,
failure to communicate.

It is not just jokes though. Jokes can be excused. The issue at play here is
I might think I am being clear, but actually not being so. Imagine a carpenter
made chairs in a sealed room. Wood comes in one side, the carpenter sends the
finished chair out the other. She does this for many years and things, “I make
so many chairs, I am a skilled carpenter.” Meanwhile, outside the sealed room,
the chair inspector keeps rejecting them and burning them for firewood. Without
feedback how can any of us know if we are making a worthwhile product? I just
happen to be making collections of words here though so we are even further
removed from my example. Not everyone is a carpenter, but, as the internet
teaches us, everyone can write.

So what is to be done? How can I know if I am clear or not? It helps if I
write without error in spelling or grammar. I think I am doing that well, I
have no proofreader, but myself to confirm. I study logical fallacies so that
should help with my arguments, but it is so easy to fall prey to them.
Discussing issues with others seems to help. Easy to establish a feedback loop.
See what is working, adjust, see if it works better. If anything I am going to
blame others for being too polite and not calling me out when I say something
dumb or make no sense.

I hope, dear reader, you are not expecting a sudden insight with a solution
to this problem because I have none. Which is why this is tagged ‘Musings’ and
not ‘Philosophy’. Just thoughts on a continuing process.

Categories
Obituary

Wayne Roth

September 16th is my paternal grandfather’s birthday and now it will be my
maternal grandfather’s deathday. As there are no speakers
near I will fulfill the role.

Wayne Lehman Roth, who lived for 89 years from February 14, 1925 to
September 16, 2014, was a quiet man. His actions and words were chosen
carefully. He was precise. His life running his small print shop taught him
this. Long hours and hard work is wasted because of typos and small mistakes. A
love of letters and words was not just his job, but his character. Not long do
I remember him being separated from either a pun on his lips or a crossword on
his lap. That was his style. He wore suspenders long since out of fashion.
Correspondences were conducted on a typewriter. Smoking was done with a pipe.
He learned how to do something once and that was good enough. He tinkered with
model trains in that small row house of his. A house with no AC for those muggy
Bryn Mawr PA summers. He built Impressive vistas and intricate rail systems
which fought for room amongst the tools and paints of the basement. A busy life
to be sure yet time enough was found to be married for 60+ years. Time enough
for two children and their grandchildren and even a great grandchild. I never
saw him separated from my grandmother for long. Marriage to them was less a
contract and more a bonding of two people. His wife was an extension of his own
body and he cared for that just as much as his own.

To put it simply, he was a builder. Ink at work, tracks in the basement,
flowers in his garden, family any other time.

Perhaps he was not always this way, but I can only speak of the man I knew
for my whole life, which was only a fourth of his. I will never see my
grandfather again. No one will remember his name once I and am my kin are gone.
That is ok though. I will remember him and that will be enough. He never cared
for flashy things.

Grandparents Told you they were inseparable.

Obituary