Paul Geromini

To content | To menu | To search

Sunday 24 May 2015

Two Years at Oracle

Today is the second year of my full time employment by Oracle. Studious readers will remember a similar article exactly one year ago on this day. There is nothing particularly important or auspicious about this day, but it is a good milestone to reflect upon the previous year.

What Did I Learn This Year?

1. Buying a house is hard when you are picky. At this point I have looked at around 20 houses or so. I have come close to making offers on two of those, but ultimately decided against it. The benefit to this is a growing down-payment which will make the purchasing easier. The downside is a a kind of purgatory where I wait for something to happen. I am going to give it a few more months and then consider more seriously a place less optimal than I would have liked. The thought of another winter, house less is decidedly unpleasant.

2. I do not have to do everything. For a few month I have been helping to oversee a project at work. It has been tough, but I am growing more accustomed to delegating things to be fixed instead of just doing myself. It is tempting to try and be the guru who knows and does everything, but this leaves no room for the team to grow and become empowered themselves. It also serves to centralize knowledge which can make maintainability troublesome in the future.

3. I have a better idea of my long term life plans. Expect an article on this to come, but I have a much better sense of how I want my career to go and how (hopefully through good planning) I can retire early and pursue a second less profitable career.

4. Investing is a big large monolithic subject, but easy to do once you clear that first hurdle. I started a small account with Betterment and I am up $10 last I checked. With continual investments every month this service (or some other endeavor I run myself) will greatly contribute to my long term goals.

5. As you remember from last year I wanted to find old friends who I had been out of contact with for some time. The good news is, in this digital age, finding old friends is easy. The hardest part is starting to talk to them. It is a lot like pulling out the knife from deep in the peanut butter jar, slow but once you finish you get a sweet reward. I have had some great success rediscovering what made us friends before.

What Am I Looking To Explore This Year?

1. Interested in doing some more metal working projects. With the great success of my foundry I want to try actually making something useful with it. Maybe a butter knife. The real problem now is making a good mold so my research will focus on that next.

2. More puzzle hunts. We have done two so far with a vast increase in success with the second one compared to the first. Hopefully we can do some more and maybe even finish one.

3. Film projects of the small variety. I really like AMVs so I want to try making a few to see how difficult they are.

4. Improve my technical skills. I said I would do it last year, and I am recommitting to that again. I learned a lot of web2.0 frameworks this year such as knockout, angular, some of the new java 1.8 enhancements (like lambdas), and a fair amount about our build tools like ant and rpm.

Things I Failed at This Year

1. Buying a house.

2. Doubling down on costuming. I did do a little work making a helmet, but I was nowhere close to making the two costumes I thought I would. I am just less interested in this than I used to be.

3. Historical reenactment. I did nothing in regards to this during the year. It is on hold until the house thing is settled.

4. Contacting my old friends. I had some success, but there are still some who elude me.

Overall, an enriching year. 6 more years to retirement? 16 seems more realistic.

Saturday 18 April 2015

Melting Metal:Attempt 2

When last I attempted this I was met with a decided lack of success. Whether it was a faulty microwave or a generally bad plan I will not pass judgement. Luckily, I was groomed to be stubborn and one failure was not going to dissuade me from my dream of controlling intense heat.

Thus we arrive at attempt two (try one):

What are we looking at here? My very own homemade foundry with a hairdryer for a bellows. Instructions courtesy of this youtube video. The general idea here is, put a bunch of coals in the foundry, turn on the blower, and hope it gets hot enough. The results were again disappointing. After about half an hour the foundry was at about "hamburger grilling" temperature and the zinc block still resolutely solid. I needed to get to, "melt your hand" temperature and that did not happen. Another failure, but an instructive one. This leads us to attempt two (try two):

For the first try with the foundry I had not filled it with coals, using only a conservative six coals or so. This time I could really amp the number up so I packed in as many as I could which was 21. I accomplished this by reducing the size of the crucible from a stainless steel pet food bowl to a tall shot glass. I also significantly increased the air flowing into the foundry by replacing the hair dryer with a leaf blower. The results were impressive:

And this was on the low setting. It is hard to see clearly, but there is a very hot glow from the foundry this time. The difference in heat and noise was immediate when I turned the blower on. With the hair dryer, the heat was tepid at best. With the leaf blower there was very much a fiery roar. Looking in from the top, the coals were glowing with heat within a few minutes. A marked difference from last time. The heat pouring out the top was, in the words of a person who never looked at a thesaurus, very hot. Worryingly, I found a part of glass blown out from the foundry. Regardless, I let the whole thing run for about ten minutes. After I turned off the blower, the sound died down and I took a look. Upon removing the lid I came to a few conclusions:

1. The coals looked like moon rocks.

2. I could not find the glass.

Digging around a bit I eventually found what was left of the glass:

Yes it seems I put too much faith in the $2.09 Walmart glass purchase I had made. Looking online it says glass does not melt until 1000-1500 degrees, but it could become malleable around 700-900 degrees. Since 787.2 degrees is the melting point of zinc, the metal I was trying to melt, this was not good. Lesson learned the hard way, do not use a glass crucible next time. What of the zinc though? I too was perplexed until I dug to the bottom of the foundry and saw it had pooled at the bottom as a liquid. Yes, sweet success never felt so hot. Moving quickly we were able to pour it into a coffee can and then to the mold. The liquid was so hot it burnt the label off the can, but thankfully the can was stout enough to not melt itself.

You can see the bottom of the mold was not good enough as the metal pooled out, but the general shape is there. I would call this a success.

What did we learn?

1. Glass is not a good crucible.

2. 21 coals and a leaf blower is enough to get 800 or so degrees of heat. I honestly did not expect it to get so hot. I really must get a IR Temperature Gun to see how hot I can get it. Also would be interesting to see if I can get the same results with less coals.

3. I need a bigger foundry cover. A number of embers slipped out via the edges and we had to constantly put out small fires and keep the ground around it wet. This should not be too hard to do, I can just add on to the cover I already have.

4. I need a better mold, with a better seal on the bottom. Perhaps investigate these sand molds on the same youtube channel.

Overall, it took three tries, but after some tweaks I got it. I look to make some improvements and give it another shot. You can find a few more photos in the album.

Sunday 12 April 2015

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.

Monday 16 March 2015

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.

Sunday 8 February 2015

Trip to India


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:


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.


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.

Saturday 20 December 2014

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.

Monday 24 November 2014

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.

Thursday 6 November 2014

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 =;


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.

Thursday 16 October 2014

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?"



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.

Sunday 5 October 2014

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.

Thursday 2 October 2014

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.

Sunday 21 September 2014

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.


Tuesday 16 September 2014

Thoughts on BFIG

Boston Festival of Indie Games was last weekend. This was my third time going to the festival which has been operating for the same period of time.

There is a very curious dynamic at play at this festival. Generally I am a very reserved individual. If you were in a charitable mood you could use the word taciturn. The point is I rarely talk to people at these things. I am more inclined to see and listen and take in what I can. Except at this convention. I talked to way more people than usual, far in excess of what is normal for me to do. I talked to just about every indie developer there. This is no joke, I went to every table and saw every game in the digital section. I even played most of them. Best of all I got to play this cooperative survival board game (After the Crash):

with this nice fellow:

the game creator. Go check out his site and buy the game when it is available it is awesome. I also played an in development real time restaurant management game. Each player played a role (I was busboy aka plate and glass washer) and helped work customers through an assembly like system. There were many sand timers and much yelling. I can see it being a great party game as it is real quick to learn, but pretty stressful to actually play well. Those two board games stood out the most. In regards to the digital section there were a lot of familiar games, either from past festivals or ones new to the festival that I had heard about prior. Some ones that stood out:

  • Anchorage Adrift: a cooperative space ship game, similar to Artemis, players are tasked with running a particular role on a space ship. A little rough technically and usability wise, but showed great promise.
  • Soda Drinker Pro and Vivian Clark: the first game is a first person soda drinking game which is hilarious. The second game is hidden within Soda Drinker and is weird and strange and has to be played. It is akin to dreaming or hallucinating. You play a rain drop that changes to whatever it touches. Also the developer is a real funny upbeat guy so that is cool too.
  • Adrift: a real polished looking arcade space shooter and tower defense hybrid. It is slick, fun, and a good coop experience. Why it still is not greenlight yet is curious.
  • Talon: a fast quake style spaceship multiplayer shooter. It reminded me of playing Unreal Tournament or other arena shooters.

Best part of all though was I got to throw my business card in one of those raffle bowls. The phone number is wrong on it though so hopefully they just send an email.

Sunday 7 September 2014

Stop Confusing Intelligence and Experience

Has someone ever called you smart? I will brag a bit and say I have been called that a few times. The thing is, its just not true. It is not true because people are confusing intelligence with experience. Intelligence, as was once described to me, is the ability for a person to turn the abstract into the concrete. The more intelligent your are, the less information you need to solve a problem. An intelligent person can look at an issue and, with no prior experience in that domain, solve it. The smarter you are the less information you need and the quicker you are in solving an issue. To give a concrete example a smart person might not be able to start their car one day. Not knowing anything about cars, they start to investigate, beginning with the ignition all the way through until they find a problem. A experienced person recognizes a problem and solves it based on past experience. To use the same example their car will not start, but they recognize the symptoms. In the past they had a car that had a similar, but not exactly the same problem. They can rely on that past information and associate it with the problem at hand. In other words they know x, how does x relate to y?

In both cases the solution is the same which may lead some to think that these attributes (intelligence and experience) are interchangeable, but that is not the case. Intelligent people solve problems by there ability to quickly understand how systems works. Experienced people solve problems by using their past knowledge and experimenting off of what they know.

It is a nice compliment for sure, and it does wonders for my ego, but it will not be true for some time. It takes a while for me to study systems and understand how they work. My skill comes from my ability to remember how I solved past problems and relate them to the problem at hand. I have worked with truly frighteningly intelligent individuals. It is a disservice to their skill to place me amongst them. Many more years of service are required before I reach their level.

Wednesday 3 September 2014

Impatience is the Mind Killer

I am not a patient man. It is one of the main reasons I went into software engineering. It is very quick to think of an idea and convert it to machine language. This desire to do things as quickly as possible has served me well in that past, but lately it has caused great harm. An example and then an explanation. I have been working on some systems at work that require a lot of tinkering with some of the special database sauce we use. An unfortunate side effect of this development is the need to constantly replace rpms (a kind of specialized automated zip file). I was having great difficulty getting the system updated with my changes so in my haste I just uninstalled all the rpms of a particular package so I could reinstall all my newly built ones. Of course what I should have noticed was I was uninstalling rpms that I had not built new versions of. There is a sudden clarity when your console stops accepting commands. In that brief window before you get told for certain that you lost your connection you curse the gods, which for me happen to be the trinity of Richard Stallman, Dennis Ritchie, and Ken Thompson. As you can surmise the system died a quick death. And since the issue I was working on was hardware dependent I had to develop on an actual blade instead of a virtual machine so I had no snapshots or backups to revert to. Thus the afternoon was lost to resuscitating the system via the HP ILO system and its fantastically poor console. It was a huge pain, a waste of time, and ultimately did no good to helping debug the problem. The solution it turns out was far more targeted, I just needed to update a few system files instead of blowing out all these rpms. So what is to be learned from this? Be patient and be sure of what you are doing before acting.

The thing is, I used to get by wielding a giant hammer but I need to be more comfortable with the scalpel. If I had just taken the time, talked to people who knew the issue, and acted with a bit more foresight I could have saved myself much gnashing of teeth. I chose an engineering example as I tend to like thinking with that discrete mindset, but the lesson should be applied elsewhere. The problem with impatience is its side effect, anxiety. I have been kind of obsessed with grand schemes that can be rapidly achieved. Then, inevitably, when things begin to drag I grow agitated that my plans are not proceeding with the rapidity I prefer. Take my house hunt for example. Many dreams, little progress in resolving them. I could buy a house tomorrow, but, given the options available now, it would be a poor call. Rationality in conflict with impatience creating anxiety.

Not sure how to resolve the quandary. Engineering-wise the solution is simple: be more deliberate in action. I should work harder to understand the systems I work with and only make the smallest possible changes at a time. Personally though it gets harder to fix. If I do all I can to achieve something and yet it remains unachieved the only result can be frustration. The beauty of software is understandable systems where input produces expected output. When I expect the same from the world disappointment will abound. Impatience is just a byproduct of this unfortunate truth. It is as if I am desynced from reality, like we are running on separate clock cycles. I expect one speed of progress and get another. In time I hope to sync up, but until then I remain impatient.

Aside: I goggled this title before using it and seems I was not as clever as I thought. A regrettably common occurrence. I still like it though so I am going with it.

Sunday 31 August 2014

Things I Am Not Supposed to Like:Katawa Shoujo

Starting a new series if you will about things I am not supposed to like because people tell me otherwise. The series starts with a photo.


This a picture of Lilly from Katawa Shoujo a free visual novel novel. She is appropriately enough waiting in line for a tea sampling. Neither she nor I got into the room, but that is not the point. What motivates someone to cosplay as such an obscure character? I have seen two Lilly cosplays in my life and barely anyone recognizes them. This is from a game that has no retail release, had no marketing. A game whose popularity is purely through the words of others. And yet here she is. If that is not all the indication you need that is game is special, I doubt my poor skills at wordsmithing will convince you otherwise.

This game is unique in its ability to capture moments. You have a game like Call of Duty that can very skillfully capture a feeling. COD makes you feel tense, or excited, or angry, but has it ever captured a quiet moment? Some of Bioware's offering get close, but all these big budget triple A games fail again and again to capture the moment. What do I mean when I say this? A moment, as defined here, is a single interaction between people. A moment is not bombastic, its not life changing, its just people talking, just conversation. Here is a perfect example. It is not special, nor unique, but its eight minutes and 54 seconds of a dozen or so people's lives. Its raw, its unscripted, its life. This is a moment and Katawa Shoujo is a game that captures these interactions between its characters better than any other game. There is a clarity to dialogue that makes the interactions seem so natural, so unforced. That is why I love this game so much. Who cares that it is anime inspired, or a dating game, or a made by a bunch of people from 4chan. This game offers the greatest thing any form of media can give: a brief look into the lives of others. Is that not what anyone wants? Some games are empowering, they make you feel things. To be fair this game makes you feel a lot of things, but that is not the point here. The point here is to see a person's life over a few months. That is unique amongst video games, it is awesome, and it is why I love this game despite what others thing.

Saturday 23 August 2014

Melting Metal:Attempt 1

A little while ago I read a how to on melting metal in a microwave. So having more money and time than sense I figured it was worth a shot.

First I needed some safety equipment for this job:

Here we have some metal tongs for grabbing the dish the metal is going to melt in, some gloves that can hold hot things, and a face guard to prevent molten meal from showering my pretty boy looks.

Now here is the general setup:

Microwave plenty of distance from anything that can catch fire, safety equipment ready to go, and a fire extinguisher in case things get out of hand. As per the instructions I fashioned a brick kiln in the microwave. The brick under the steel bowl is silicon carbide and should provide a nice hot surface to warm the bowl.

In addition I sealed off the entry and exit vents of the microwave to try and get the inside as hot as possible. We do not want our hot air flowing out the back.

Bricks with holes in them was not ideal, but it was what I had to work with. The metal to melt is zinc:

Yup, I hand cut that with a hacksaw and it took a ton of time to do. The melting temperature of zinc is 786.2°F. Supposedly the max temperature you can achieve using this microwave strategy is 900°F-1000°F so it should be possible to get the metal up to melting temperature. Fumes from molten zine are relatively harmless, but if you breathe too much it is possible you can get metal fume fever. The long term effects are negligible, at most it seems to produce flu like symptoms for a few days. Here is a material safety data sheet if you want to know more. Of course we are going to need a mold for our molten metal:

A bit rough, but should work. This mold is made out plaster of paris with wood blocks to give the plaster a form to mold around. Of course I broke it getting the wood out so its been put back together and secured with a rubber band. Nothing else to do but fire it up and wait. I turned on the microwave for about an hour and here is the result:


I was unable to achieve a high enough temperature. The metal and bricks were certainly too hot to handle, but I had no temperature gauge so I have no idea how off from the melting point I was. A couple things contributed to this failure:

1. After 30 or so minutes the microwave front became loose reducing its ability to build up heat inside.

2. I did not make a full kiln with the bricks, and the bricks I did have had holes in them making it harder to build up heat in there.

3. The microwave I was using was $5 and was made in 1993, it is possible it just does not have enough power to build up the heat I need. Over time the magnetron inside the microwave will weaken based on how much use the microwave gets. Since I have no idea how intensively this 21 year old microwave was used this may or may not have started to happen.

4. It was quite a hefty chunk of zinc. Perhaps things would work better if I had a smaller block.

So things were a bit of bust, but I have not given up yet. I may try again once I get some more bricks to build a better kiln. A better microwave might be found at a yard sale or I might try doing this the old school way with charcoal. It might also be good to try and get a baseline for this by melting something with a really low melting point like solder (370°F).

The Lazy Workaholic

I have a curious perversion of mine to speak about today. I call it lazy workaholism. What it basically boils down to is I do not like taking days off. Most people who say this are called workaholics. The definition of a workaholic (via Wikipedia) is: 'a person who is addicted to work.' That is not true in my case, I certainly like not working and on the whole, given the choice, would prefer to not work as opposed to work. Yet my actions are in conflict with this statement. I have almost three weeks of paid time off sitting waiting to be used and yet the longest vacation I have taken since starting was two days last July.

It is not like my job is even that important. There are plenty of people (who are more capable than me) of filling in for me while I take some time off, but I cannot break away. There are emails to answer, bugs to close, projects to finish for approaching deadlines. Oracle has no expectation that I never take time off, but I do. It is as if I fear the consequences of leaving for too long. That something will break that I am responsible for or that I will grow slovenly in the time off and dread going back. I like being in the groove, working everyday, following a pattern. It is breaking the pattern that I dread most. So I just keep working. Maybe I will want to stop someday.

Monday 4 August 2014

Review:Real Love

Real Love is a six episode romantic comedy weighing in at about 2.5 hours, about a bunch of friends living in a Boston apartment a few years out of college. It is not my usual fare, but it was actually kickstarted by some people I know so I had to watch it. As such, I am not sure I can be totally unbiased (honest) with my review, but I will do my best. Some minor spoilers abound so if you want a pure viewing experience skip to the summary.


Real love is a story about trying to find out whats next. In that sense it captures the feel of TV shows like Freak and Geeks and Undeclared. Without spoiling too much of the plot, we spend most of our time watching the interaction between Dylan and Beth. The back and forth play between them and the other characters is funny, but still manages to be poignant at times. There is a real good sense of characters just trying figure things out which especially appeals to me. Some of the plot beats I found a little jarring, such as the early marriage proposal between two characters and the strange closeness already apparent between Dylan and Beth. I did not know the characters well enough to understand why they were acting this way early on. Speaking more to the script there is quite a lot of humor to be found here. A number of jokes keep reoccurring and seemed to only get funnier the more they happened. I was a little concerned things would get a bit cheesy, but the writing smartly avoids these pitfalls and kept things feeling real. The plot moves along briskly, there are no wasted scenes, and the dialogue is believable and not loaded down with exposition.


There are four main characters, and three side characters. Of the main characters my favorite would have to be Dylan. The actor, Patrick Skeyhill, always manages to capture an otherworldly physicality that is really quite humorous. He elevates normal scenes to funny scenes with just his comic actions. Beth, played by Courtland Jones, is the emotional strength of the series. She brings the gravitas and is a good foil to the general silliness of Dylan. The other two main characters (played well by Richard Nickerson as Liam and Jess Corey as Emma) provide a good compliment to each other and push the plot forward. Jess generally plays it pretty straight, but her husband to be, Richard, always has a non-sequitur to mix things up.

The side characters play effective roles in support of the plot. Eddie, played by, Nick Wakely has a deep thundering accent and his strange thought trains always keep the scenes he is in light. Adam, Beth's boyfriend for most of the film, is perhaps a bit too earnest, but that makes his deadpan line delivery all the more funny. Finally Cara, portrayed by Katie O'Connor, is perfect in her role as the crazy ex-girlfriend of Dylan. Her manic delivery and borderline crazy voice provides a real believable edge to her character which she uses to good effect.


You can see the indie roots most clearly in the technical aspects of the film. The film quality is generally good, but scenes with a lot of light suffer. Windows and doors to the outside are often bathed in high intensity light. It looks odd and it was distracting. In addition I think some of the characters lines were overdubbed in post and it did not sound good. It was not super noticeable, but I did notice it.

In general I liked the score, I am not much of a musical fan so it is kind of hard to judge this aspect of it, but I thought it complimented the emotional feel of the scenes nicely. That said sometimes it felt like the music was too overwhelming. Some scenes would have been better if the music was less obvious or quieter. Shot selection was pretty standard, nothing too creative. One of the few times Real Love gets clever is the pan from midday to a night time party scene. It is smartly used and makes the transition slick. I would have liked to see some smoother cuts, as most of time the camera just seemed to bounce from character to character.


If you buy the special edition DVD (which I did), you get all six episodes, the prologue, the soundtrack, and two audio commentary tracks. I have listened to some of both commentary tracks and they provide good insight and more laughs. I wish the DVD had included the deleted scenes and shorts they mention in the commentary, but that might have required another DVD so it is not a big deal. The case insert is good quality and its simple design looks nice on the shelf.


I liked this film, It had important things to say about life after college and it was funny enough to not take itself so serious all the time. You can buy it via their store.

Back of the box quote: "Real good, real funny, worth your money."

Sunday 3 August 2014

A Few Words on the Greatest American Sport

Our long dark offseason has ended with the playing of of the Hall of Fame game tonight. With that starts another season of the greatest American game, football. Not that game with the round ball, the game with the egg shaped one. I love football and many people think that is an aberration of my character. I want to explain why I love this sport so much. So its time for my favorite organizational structure, the numbered list.

1. I love the violence.

I am not going to pretend that football is not a violent game. Last year you could literally hear the screams of a player tearing up his legs on live tv. Some of the most entertaining plays in the sport involve the big crushing tackle from behind, the power of players running over one another. This in fact could easily be the downfall of the sport as it probably leads to long term damage. Despite that, it is supremely entertaining to watch huge burly men run into each other all day long. It is nothing refined, just pure, base, animalistic love of violence.

2. This is a team sport.

All the other major sports in the US (baseball, hockey, basket ball) are team sports too, but football makes full use of the team. Each play has 11 players try and work in unison to accomplish one goal. I do not mean to diminish the team play of other sports, but no other game has so many players working together at one moment. Football is a game the celebrates the accomplishment of a team first and a star player second. Sure we all hear of famous individual football players, but the actual impact these players have is the least amongst professional sports. Tom Brady may be the best QB ever, but if his receivers cannot catch or if his offensive line cannot give him enough time, the team will lose every game. Plenty of other sports focus too much on the individual or allow them to have too much of an impact. Basketball in particular is notorious for this. A real good player can make or break your team. Not so in football, it is all about the team working together.

3. This is a game of strategy.

When you have so many players on the field at once it can be a challenge to get everyone working in concert, but that is the best part of football. Watching 11 people (the offense) work in unison to accomplish a common goal is amazing. Even better you can watch 11 other people (the defense) try as team to mess that up. And this happens ever play. Plenty of other sports play lip service to the idea of their game having strategy, but their game is so fluid that it is hard to actually setup a play. To pick on soccer for a second, you can see the players try and setup, as a team, favorable situations, but everything is just moving so fast no one can really do anything but try and win their individual battles. Football stops, resets, and lets each team make a play. This allows a huge variety in plays a team can run, formations a team can field, feints, and fake outs they can make. More diversity than all these other sports means more options which means more strategy can be brought to the game.

4. Each play has many layers.

When you watch a play in football, on the surface, the actual facts of the play are very straightforward. Someone throws a pass and it gets dropped, someone tries to run the ball and gains a yard or two. The actual enjoyment in these not so showy plays is in in the details. Here is a dense example of that. The thing to know is because football is such a team game, tiny individual actions by each player combine to make big plays, or small failures. In the example of a dropped pass, you can see the receiver dropped it, but it really was not his fault because the QB had to throw it early, he had to throw early because his offensive line was not able to give him enough time to find better people to throw to, specifically it was the fault of one player who could not block his assignment. All this detail happens each play and happens to every player. It is that detail that makes both the replay so satisfying to dissect and the actual play so complicated to watch.

5. True league parity.

Every team in the NFL has a chance of winning the Super Bowl. This is because the league works real hard through salary caps, drafting rules, and trade agreements to ensure each team has a level financial field and an equal opportunity to acquire and hold on to talent. This ensures that team that were bad one year have a good shot at coming back the next year. A perfect example would be the Chiefs who went from 2-14 in 2012 to 11-5 in 2013. Plenty of other leagues are not so successful in this endeavors and it ensures teams wallow in mediocrity for years. Not so with the NFL which means more exciting close fought games and respect for a fan that sticks with a team in good and bad times.

So here is to another exciting season and to watching the New England Patriots win the Super Bowl again.

- page 2 of 4 -