Paul Geromini

To content | To menu | To search

Sunday 24 July 2016

Another Video Project

Just like last year I have created another video for Connecticon. This time, instead of an AMV, I made an FMV (fan music video). This translates to using a live action video source instead of an anime one. Go on and give it a gander. It may not have won any awards, but I like it.

I approached this piece differently than my last one. At first I was planning on making a far more simple video than before. The last one was very drama/story focused and I wanted something a little less involved and easier to grok. Something more actiony and less reliant on knowing the story of a particular series. I already knew I wanted to use the song I went with after remembering its use in Metropolis. As far as the video source, I was not quite sure. I knew I needed something with a lot of action, but I did not want to do something very well known (e.g. Attack on Titan or Black Lagoon). I want my videos to not only be entertaining, but also to highlight less known works. That is when I remembered Ran. This is not the most obscure film, but it is not super well known or talked about either. Based on the Shakespeare play, King Lear, it is about a Japanese warlord who divides his kingdom amongst his three sons. Two of the sons betray the father who goes mad, only to be rescued by his third son. It is an engaging film, with vibrant colors, devastating battle scenes, and masterful direction by one of Japan's great filmmakers: Akira Kurosawa.

Initially, I was thinking that just setting the battle scenes to music would make a pretty good action entry. In preparation for making FMV, I printed out a copy of the lyrics and rewatched the film, taking notes and marking time stamps of scenes I wanted to use. As I started to string clips together I naturally progressed to a more story focused video, like my last one. The actions scenes did work well set to the music, but If I had used just those scenes for the whole thing, I would be stretched thin clip-wise. Kurosawa is a skilled director which means he is not one to linger for too long, so there is not a whole lot to work with. That is when I started going for more of a storytelling piece.

+Comments on Particular Scenes+

The cold opening (0:00-0:0:15): I really like the opening. Most AMVs/FMVs do not do that. They just go straight into the music and video. I toyed with making this part SUPER long because I like the idea of people sitting there wondering what is going on, but I did not want people getting too bored. It is a real fantastic scene from the movie and I just had to put it somewhere.

Start of the music (0:16) The dichotomy of the violent murder of the King's entourage and the feel good lyrics of the song is a really dissonant in a good way, IMHO. It sets the tone early on that this is going to be a weird piece of work, with the song and images constantly at odds.

Flashbacks(0:29-0:0:38) I wanted to put more in here, but there is very little time in the song to allow for that. This does an acceptable job of providing some back story, but it was a concern of mine that this would not be enough. It is hard to judge how understandable the story is since the audience is probably unfamiliar with the film, but I am intimately familiar.

King's guard bleeding out(0:55) Again, the song and pictures should be at war with each other. This is a scene I really like which highlights the dichotomy at plan.

King picks flowers(2:41) I love this cut. The King is really happy (in a mad way) in this scene, but it is totally at odds with the scene that came before.

Son comes to king's aid(2:59) It is a bit on the nose, since "Blue" in the context of the song is really about the singer's emotional state and less about the color, but as Bob Ross would say, it is a "happy little accident" that this scene lines up.

Son's death(4:07) This is a tough one since it is not immediately obvious what happened. In the movie all you hear is a gunshot from the distance, context which is lost given all you hear is the music. I left it in since it sets up the next two scenes, but I am not a huge fan of it. This is the real struggle of making these videos: trying to convey meaning with the scenes you have.

King's death(4:10-4:12) A big peccadillo of mine is flapping lips or any speech you cannot hear during an AMV or FMV. Unfortunately there is just no way to cut this scene to avoid that. Yet, if I leave this scene out the funeral procession next scene makes no sense.

That is it. It took about ~10 hours to do with minimal changes after I made a first draft. This was a lot quicker than the last one, but I had a lot less footage to work with and a much stronger them. I hope you like it. I will try again next year and see if I can get an award this time around.

Monday 30 May 2016

Three Years at Oracle

Today is the third year of my full time employment by Oracle. And with that I say hello to Oracle's one and only longevity perk: five more days of paid time off a year. Jokes on them though because I rarely take it. Long time readers of the blog will remember last year's post on the subject and even longer readers will remember my first post about this

Let us review the year.

What Did I Learn This Year?

1. I am addicted to process. I hope to write more about this, but the short of it is I find myself getting mired in why something happened and how we can prevent it. Which is helpful in a small way, but in conflict with the guiding principle of all workers: getting things done.

2. My patience is growing shorter along with my temper. It may just be a function of the quantity of work we have left on the project I contribute to, but I find myself with a shorter and shorter amount of patience each day. The end result is terser conversations, less guiding hands, and more links to the development guide.

3. I have a better, if still incomplete, sense of how large scale applications are built. Before I understood only pieces of the whole. Now, with another year of experience, I have a much broader and holistic view of the app. The benefit here is knowing where to put code, not just what to put.

4. The money is in management, but the passion is in engineering. This is the second year I have split my engineering time with management time. Management is a lot harder. In some ways, this is frustrating as I much prefer to be programming compared to making slide decks or charts. On the other hand, helping keep three sites supplied with relevant work and pushing a project forward is an interesting challenge. I am not ready to hang up my still shiny programming spurs just yet, but I understand now why managers make more money than the people they manage.

What Am I Looking To Explore This Year?

1. Different conventions. Last year we went to DragonCon for this first time and it was awesome. I want to broaden our horizons and check out some other, perhaps further away conventions.

2. My investments. I made steady progress this year increasing my investments. I continue to work with Betterment and I have happily broken the five figure mark. It is that sixth figure that will be my next challenge. It is hard to say how much this is helping my ultimate plan, but it certainly is the right path.

3. Small film projects. Last year I made my first AMV which was quite fun, but simplistic. I want to try and make a few more things this year, AMV or otherwise.

4. Improve my technical skills. Like every year, and like every programmer, I must continue to improve my technical skills. This year, I am less interested in the technology and more interested in the design or architecture. To be sure, I must continue to learn the tools I have at my disposal, but using tools without purpose is inefficient. I must concentrate on learning how to build large scale apps so that I can be judicious about the code I write (or need to write at this point).

Things I Failed at This Year

1. Buying a house. For a second year I remain houseless. This is causing me increasing consternation, but I remain committed to this campaign. It just may be I will not find the house that meets my exacting specifications so I must learn to compromise on some parts or be without home for a very long time.

2. Car maintenance. My car runs fine, and I do change the oil when I should, but I cannot dodge the feeling that I should be doing more. Everything is still working, but I feel like I am missing something and it will all fall apart on me. For sure, the brakes will need to be replaced soon, but how soon is the part that is vexing me.

3. Writing more for the blog. There are a number of topics I want to pontificate on, I just need to settle down and get writing.

Tuesday 22 March 2016

The Little Death

I have been growing the neck beard out lately, much to the chagrin of people who know me. I must confess it does look awful, all scraggly and unkempt. Some people grow nice full beards, but all mine ever seems to do is grow down, not out. Still, I have got to make out for my losses up top somehow. I do this about once a year, partly to see if it looks better (it never does), but mostly just to prove a point to myself: that I still am myself and not what others want me to be.

To be a part of a society is to conform to that society. To uphold a common set of rules and standards. In many ways this is a good thing, you probably would not like to live next to someone who thought arson was ok. This gives rise to the good side of society: our laws. There is an inverse side though, an insidious side: the drive to create automata. Automata (singular automaton), as Wikipedia defines, is "a self-operating machine, or a machine or control mechanism designed to follow automatically a predetermined sequence of operations, or respond to predetermined instructions". What is an automaton as it relates to a person though? It is a person who has lost their identity, who has become what society expects of them. It is a person who gets married, has 2.5 kids while working 60 hours a week. It is a person who works 40 years and retires at 67, who owns a house, likes football, and vacations once a year. Yet, despite how negative I have made this all sound, there is nothing wrong with this if that is what you want. Not surprisingly, If you were to look at the things I like (football), and the the things I want (a house), you would see the automaton reflected in me. Is that what I want or am I just playing along because that is what everyone wants for me?

This is the the little death. It is the slow subjugation of yourself as you integrate into a society. Each time you think to yourself, "Well, it is just what people do." or "That is what everyone else is doing." a little part of yourself dies. A unique piece of the multifaceted color of you goes gray. Make no mistake, this is what some people who know you want. They want you to be like them, they want you to like the things they like, to have the same goals, the same aspirations. They are not evil for trying to do this, it is just their nature. If that is what you to want, great, but if not, do not suffer that little death.

So too do I often wonder if the things I like and want our my own wishes or simply my desire to be part of society. How can I prove otherwise? How can I prove I am my own man. Simple, do the things society shuns, do those things that are frowned upon, relish the embarrassed laugh you get when you surprise a person. Cherish that look of disgust and disappointment. This is not an excuse to be a bad person, but an excuse to be you. So yes, my neck beard is awful, but it proves I am me.

Monday 8 February 2016

Review: Star Trek Hidden Evil

Star Trek has never had the video game pedigree other Sci-Fi properties, like Star Wars or Warhammer 40k, have enjoyed. For every well received Elite Force or Bridge Commander there are a dozen more Away Team and Borg waiting in the Briar Patch. Sadly, Hidden Evil, a 1999 Presto Studios game, joins this unremarkable bunch. It is short, difficult to control, and forgettable.

Story

You may be forgiven for forgetting the great contribution Insurrection made to the Star Trek canon. A film in which the best scene involves Data acting like a life preserver. To be fair there is probably a decent episode's worth of material in the film, maybe a two-parter. Yet it loses its way somewhere between Picard and crew becoming leather clad action heroes and the enterprise being maneuvered by a joystick. Thus, it may surprise you to realize this game is a sequel to that masterpiece. Our main character is Ensign Sovok, a human raised by Vulcans. He joins Picard and Data on the planet of the film to investigate a hitherto undiscovered alien artifact the Son'a and Ba'ku found while constructing a colony. There is not much story to ruin as the game is quite short, but suffice to say the Son'a still do not like the peace loving Ba'ku, Romulans are evil, and the alien artifact is actually really dangerous. It ends up being pretty well traveled territory, both by Star Trek's and other show's standards. It is enough to move the plot along, but it will never surprise you.

Gameplay

This is not an action game, despite what the publisher's screenshots may tell you. This is an adventure game in the same vein as Grim Fandango. Walk around, collect items, solve some light puzzles, move the story forward, etc. Fans of Fandango will find a similar awkward control scheme at work here. Sovok controls much like that of a high schooler's car: poor maneuverability, slow acceleration, and no speed. This is a troubling foundation on which to base a game that requires a fair amount of phaser shooting. There is some light auto-aiming going on, but you still have to slowly rotate to face enemies. Your best tactic is running in circles until they miss then trying to get a quick shot off. This is if you can remember the key to select your phaser. All your equipment (tricorder, communications badge, phaser, nerve pinch!) is accessed via the number keys. This is functional, but every time I wanted to get at an item I hit the wrong button. Most of these items end up being useless anyways, occasionally you have to scan the environment, but it rarely tells you anything interesting. Nerve pinch sounds cool, but it is ridiculously hard to get in the right position to use it, and the enemy has to be unaware for it to work. Most of the time you will be blasting away with your phaser. Occasionally you can pick up a hypospray for healing or another equally powerful weapon, but for most of the game what you start with is what you got.

Lengthwise You are looking at 9 missions, for about 5 hours of ok to frustrating gameplay. Everything is pretty easy, except for the last two missions which have you navigating corridors that look very similar. With no minimap except for the weak imposter they use with the tricorder in the last mission. Most of your time in these last two missions will be spent trying to remember what is where.

Graphics

An unexpected high point. Despite being released in 1999, the game looks pretty decent. Backgrounds are static in the style of Myst and are suitably detailed. Actual characters and objects are 3d models which, though rough, are pretty good for the time in terms of detail and animation. It is a bit of mishmash putting 3d characters in 2d paintings, but it works.

Music, Sound Effects, and Voice Work

Nothing egregious here, Christopher Gorham, voice actor for Sovok gives an unremarkable performance, backed up Patrick Stewart (Picard) and Brent Spiner (Data). The actual plot does not give them much to work with, but you will not be clawing your ears out either. The music is forgettable, but all the sound effects from TNG are faithfully replicated. Phasers and transporters sound like you would expect.

Summary

Overall, its a short game that is occasionally frustrating, but has a decently moving story and some of your favorite TNG characters. I give it 5 Lt. Cmdr. Datas out of 3 Stargazers.

Notes

1. If you are going to play this, I recommend this walkthrough. 2. This game does run on Windows 7, but you must install the packaged version of Quicktime player and install a NoCd crack. It also helps to run it in Windows 95 compatibility mode. 3. There is no quicksave, it was a 90s thing.

Sunday 4 October 2015

The Doctor Who Problem

Doctor Who is back for a new season and having seen the latest two episodes it is right back to having the same problems that have dogged the new series for years. Before we get into it, some background first. I do not claim to be a super who fan. You will find plenty more knowledgeable folks than I. That said, I have watched a number of the old serials, and all the new series, and there is a distinct difference between the two. More than just the clunky special effects the old series approached its stories and characters in a fundamentally different way. Some spoilers incoming, so you have been warned.

Lets start by comparing the very first episode I saw of the classic series, Pyramids of Mars, to the most recent two episodes: The Magician's Apprentice and The Witch's Familiar. At the start of Pyramids of Mars an outside force surprises the Doctor and his companion (Sarah) and the Doctor stops to investigate. They then start to uncover a mystery while avoiding malevolent unstoppable mummies. It is all very fun and engaging. In The Magician's Apprentice in the first scene we encounter a younger version of an antagonist to the Doctor. Then we spend the next 30 minutes or so (in a 45 minute episode) trying to find where the Doctor is and what he is up to. Everyone is all concerned about having him solve their problems, or they want to talk to him about this and that. In my book, that is a problem. The new series has always been focused on the Doctor. How he impacts the worlds he goes to, his past, his motivations. The old series was never that concerned. Who cares why the Doctor travels around, who cares where he comes from. Let us go someplace exciting and different and have an adventure. The new series is obsessed with the Doctor to the detriment of the story. In the Whoverse there is no one more important, and that is a problem. I may sound old and crotchety here, but the older serials had the right idea. Doctor Who is an anthology series that happens to have a few recurring characters.

The second problem in play is the characters. Lately Doctor Who has just been a factory for tumblr memes. Sure you are allowed some funny lines from time to time, but all this off beat, look at me I am so random, twitter chaff is just distracting. Especially guilty is this Missy character. Every other sentence is trite "I'm evil so I speak in stream on conscience style and it only makes sense to me. But you know I am serious because I kill people from time to time." I admit to having a special loathing for this character. She has added so little to the series and it is just awful to hear her lines.

Next up we have some serious worldbuilding issues. Nothing is ever final in the Whoverse. People die and come back. Planets are destroyed and come back. Whole races are killed off and then miraculously reborn the next season. In the series 8 finale Missy dies. She is literally disintegrated. Series 9 starts, shes back just fine. Just a simple hand wave and no respect for the continuity of the series. When your universe has no consequences there can be no suspense. At the end of The Magician's Apprentice, Claire (the companion) and Missy are both disintegrated by Daleks. It is supposed to be a great cliffhanger, but you literally brought a character back from death at the start of this episode, no way I believe these main characters just bought it. And of course at the start of the next episode you drop some contrived garbage for how they survived. Take some risks, kill some characters, have some actual consequences in your show or else no one will ever trust you when a main character is in peril.

Speaking of the Daleks, that nicely highlights another issue the new series has. It keeps going back the well. Star Wars has this same problem. Everyone likes the old characters, the old races, let us just roll them out again instead of creating a new idea. I am so sick of the Daleks showing up every series for a few episodes. Seriously, look at how many races we have to play with! You can use them too we do not have to have the Daleks be the big bad again. Maybe then we can have the Doctor use something other than his sonic screwdriver to get out of a jam for once. Maybe then someone other than the Master can be the Doctor's big nemesis.

Let us summarize, the new series: 1. Revolves around the Doctor instead of the adventure. 2. Loves to fill dialogue with jokes and upstart memes instead of contributing to the plot. 3. Prefers to constantly fiddle and retcon the past instead of having something they did be final. 4. Loves to go back to the well instead of creating new things.

And yet, after all that, I am still going to tune in next week, because when everything works the show really is something special. When they go somewhere wonderfully new and meet a new race and have a rip roaring trek it is magical. It is worth all the awful. Each time I hear that music I hope this will be the episode all sins are forgiven. Sometimes I am right.

Friday 28 August 2015

Lets Get NASty

I want to talk a bit today about my storage setup, specifically my NAS or Network Attached Storage. I have been running my system for a little over a year now and have had no issues so it is a good time to give a brief half review, half description of setup. I started considering a longer term storage setup when the available space on my desktop began to dwindle. I am a bit of "digital hoarder" if you will, constantly butting up against my limit. When space is so cheap and ubiquitous why throw anything out? The problem with this is you always need to be increasing your capacity. At the time I was getting my NAS my several year old external drive had failed, another drive in my desktop was faltering, and the rest of the case was already filled up with other drives. I did not want to get rid of my existing drives and I also wanted a better solution than continuing to lock data to my desktop. Enter the ReadyNAS 104.

The first thing you need to know about NASs (NASes?) is that there are a ton of models on the market featuring wildly different prices and sets of features. You will need to determine what you want out of your NAS before you consider purchasing one. For me I had just two requirements:

1. Four drive slots. This allows for a ton of storage and is very flexible when it comes to determining your RAID setup. 2. Minimum computational performance, I do not need my NAS to be a file server or another computer. I need to put files on it and get files off, that is all.

With those requirements you can pretty much be satisfied with things at the low end of the market, hence the ReadyNAS 104. Your real cost on the low end here is going to be in drives. I went with four of these drives for a total capacity of 16 terabytes. Total (including the NAS) this ran me $1045.94. You could cheap out here and go for smaller drives or slower drives. From what I read 5600RPM drives work just as well, albeit slower. I went max size and max speed because I wanted a long term solution. There were at the time some rebates, but I do not remember how much they were for. As far as quality of drives this particular brand came recommended, but other brands are just as well regarded.

For setup I configured the drives in RAID 5 (~10TBs of space). Take a moment to read up on the different RAID options here. In my opinion RAID 5 gives you the best space efficiency (you lose about 1/4 of the capacity compared to 1/2 in some other configurations) and reasonable fault tolerance (you can lose one drive and not lose any data). I do not want to lose data, but then again it is not exactly mission critical. Actually formatting and configuring the drives takes about a full day so sit tight. After that there is not much other configuration to be done. Plug it into your router and it should assign itself a local IP address automatically. It would be wise to configure a static address in your router's control panel so its not always changing on you, but this is not required. You can access your system via its IP and (at least on Windows) it will appear like one giant network drive.

Of course since your NAS is basically a low powered computer you can run any number of programs on it. The ReadyNAS people helpfully have a site with some options. I myself jun run qbittorent for my torrenting needs, but there are some useful apps to be found. If you are handy with the command line you can SSH into your NAS and do whatever you want since it runs Linux.

For daily use a NAS is pretty helpful. Transfer times can be slow since I connect through mine wirelessly, but its not terribly slow. Think a few minutes for a couple GBs. It is certainly quick enough to stream video from itself to your computer which is what I primarily use it for. Although when initially transferring all your files to it I suggest hooking up an external drive. There are a few USB ports on the back so it can mount drives, but I could not figure how to connect it physically to my desktop.

In regards to configuration you can mostly roll with stock settings. I suggest disabling file snap shots, which can be a bit of a pain, but will save you a lot of space. I also recommend enabling SSH access (so you can fiddle with things yourself) and enabling "Disk Spin Down" to both conserve power and the life of your drives.

Overall a NAS is a little pricey, but it is a convenient way to get a lot of storage you can access from anywhere in the house. It also allows you to sleep safe knowing your files are backed up. Granted its not off site, but if your house burns down you probably have bigger things to concern yourself with.

Wednesday 29 July 2015

My First AMV

It is true here it is spoilers and everything: view here, download here.

For a while now I have been thinking of doing one of these and I mentioned it as a goal for this year. I recently finished the main anime adaptation of Legend of the Galactic Heroes and it was very disappointing to me the series has such little visibility amongst English anime viewers. Granted its age and its MIA English localization probably play the largest role in its lack of popularity. That said I wanted to do a little something for a show more people should watch, to that end my first AMV.

For those not familiar with the format, an AMV is a series of anime clips set to music. Sometimes they tell a story, or showcase some action, or are just funny. I wanted to make an AMV that covered roughly the events of the first half of the series (episodes 1 - 53 to be exact). I did not want a flat retelling of events though so I themed it or focused it around the relationship between Reinhard (blonde hair) and Kircheis (red hair). To those not familiar to the series, they are childhood friends who set out to conquer the galaxy.

For the music I wanted something that fit the feel of the series. The show makes extensive use of famous classical music, mostly Beethoven. While not classical I went with Time To Say Goodbye, sung by Sarah Brightman and Andrea Bocelli. I like the mournful nature of the song and the interspaced use of English. I did not want to go with a poppy contemporary piece as it would be jarring with the visuals of the series.

Scene Breakdown

Now that I have given a brief summary I am going to provide some commentary on parts of the AMV.

00:00-00:22, I wanted to start big to give a good scale the series works with. A shot of the galaxy to begin with and with each strum I narrow the shot until we focus on the ship of our two main characters and then the characters themselves. The preceding shots show a vast battle taking place until we fade out to the end result of the battle, lots of ship wreckage. Not a huge fan of the fade, but it does its job. These scenes are mostly from early episodes so we see a very young Admiral Reinhard.

00:25, Shot of the Odin, the capital of the Empire. Its not important that you know that, but series fans probably recognize it.

00:25-00:31, I wanted to establish that Reinhard is important within the Empire, but still not the leader. The scene shows him being honored for the battle we saw in the beginning.

00:32, Start of the flashback. Need to establish the long relationship between Reinhard and Kircheis that started when they were young.

00:38-00:46, This scene with the bully helps establish both Reinhard's aggressive nature and how Kircheis is always there to help Reinhard out. The rock beating scene also nicely matches up with the music. At times I think it is a bit humorous, but I resisted changing it.

00:47-00:58, These are some scenes set after the bully time frame, but still when Reinhard and Kircheis were young. I wanted to convey Reinhard ambitious nature and I like the imagery of the gun shooting into space that fades into his ship in full action. As you can tell I like fades. There is an important subplot to the series involving Reinhard's sister that these scenes are important to, but it is not important for the story I am telling.

00:58-01:12. Easy call here to tie Kircheis's death to the first "Time to Say Goodbye" lyric. It is perhaps a bit quick setup after the flashback, but it is really important that death and lyric are timed up well. This is a pretty big spoiler for people who have not seen the series and arguably the most important event in the entire series.

01:22, I went back and forth on including this somewhat gratuitous death clip. It is a bit jarring, but I think it works. Kind of quick flashback that Reinhard is contemplating.

01:25-01:43, Second flashback showing a bit more of Kircheis interacting with Reinhard and doing his own thing. As a side not we can really see the jump in quality across some of the early episodes in these flashbacks. After the series came out some episodes were remastered so the quality can be all over the place.

01:45, Its debatable if we need this shot of just the gravestone as the earlier scene basically covers what we need to do, but I like lingering here a bit.

01:49, The locket is a very important item to the series so I had to get a shot of it here. You can see it also includes his sister who is important to the story, but I ignore here.

01:50. Kircheis in the stars may be too cliche, but its from the series and bookends this section of the AMV nicely.

01:53-01:56, The music changes and I need to jump a bit chronologically and show how Reinhard has increased in power in the Empire. The scenes with the crowd accomplishes this.

01:57-2:01, This scene is a bit clunky. I want to convey again how in charge Reinhard is and setup the rest of the AMV, but we linger, perhaps too long, on planning screens.

02:05, I love this shot of Reinhard and all the ships engines. As a side note that is Mariendorf next to him. She becomes pretty important around the half way mark of the series.

02:06-02:13, This is the planet Fezzan, a planet not in the Empire nor the Free Planets Alliance (FPA). The two major antagonists in the show. It is one of the first planets Reinhard takes on his campaign. It is a relatively quick battle which I used to convey the size of Reinhard's fleet in action.

02:14-02:19, Some of the most well drawn scenes in the series. Bookends Reinhard's conquest of Fezzan.

02:20-02:25, Maybe the cheesiest part of the AMV. That is an actual scene from the anime so I went with it. Also you can see the locket again which is super important.

02:26-02:45, Lot of ships again. Start to show some large battles with the FPA, but nothing decisive.

02:52-03:19, Again we return to Reinhard's ship and then show his decisive involvement in a battle. Lots of FPA ships blowing up climaxing in a nice large explosion. I cheat a bit and take a lot of battle clips from across the series, but we need a lot of different shots here and frankly a lot of these battle shots look the same.

03:20-03:23, Good scene to show after Reinhard's great success. You can see how lonely he is on the empty bridge and it contrasts well with the first shot of him and Kircheis from the beginning.

03:24, This is Heinessen, home planet of the FPA, after being captured by Reinhard.

03:26-03:27, This is a shot of Yang Wen-li, Reinhard's counterpart in the FPA. He is super important, but not covered at all in this AMV. I wanted to at least give him a quick showing and I think these two rapid beats help introduce him as the adversary nicely.

03:28, Real cool shot of both of their massive fleets converging.

03:28-03:41, Start of the battle, lots of fireworks to show the scale, but nothing to show who will win.

03:41, Maps again! Its hard to convey how the battle is going so I went with maps (which the series likes using too) to show things going against Reinhard. This shot also has Yang in the middle.

03:44-03:51, Might be asking too much of a person not familiar with the series, but I need to convey the battle turning in Yang's favor. Showing the map of a fleet disintegrating, FPA ships firing, and a lot of Empire ships exploding hopefully conveys this. It might be difficult to get if you cannot distinguish the different sides ships at this point.

03:54, Great scene of the Empire ships moving to defend Reinhard's ships. Hopefully conveys how desperate the battle is going.

03:55, Another really excellent scene of Reinhard having the ships guarding his front explode.

04:01, And here we are end of the AMV. This shot is the best in the series and what motivated me to do this AMV. I love the giant imposing FPA ship bearing down on Reinhard. Its awesome and in my opinion, a a great ending with the sudden cut to black.

The thing about that ending scene is, its a massive cheat. The very next second that ship gets blown out by the timely arrival (in true anime fashion) of Admiral Muller's fleet. I admit its deceitful, but I really just wanted a nice cliffhanger to end on to motivate people to watch the series.

Tools Lets wrap up with a quick tool discussion. All of my editing was done with Sony Vegas 13. I like it a lot since its relatively simple to use. I am sure other editors like Final Cut are just as good, but I have been fiddling with Vegas for a bit now and I know how to do what I want. The only real issue I had was the video sources. I was using files in MKV format and Vegas cannot handle those files. I had to convert each episode I wanted to use from MKV to MP4. I did this using Handbrake which is dirt simple. It was a tedious work around, but it got the job done. I will leave you with a shot of all the clips in the editor. You can see I like to have a lot of clips lying around so I can mix and match and see what works.

LOGH AMV Editor

Monday 1 June 2015

The Grand Unified Plan

I recently mentioned the grand plan I will be pursing these next few years in my yearly Oracle post. I want to provide a overview of that plan in a bit of detail. The main goal of this plan is to retire AS SOON AS POSSIBLE. This is not because I hate work, but because I want to have the time to pursue other projects. To provide some context to that idea, I like to think of my life as split into three portions:

1. Ages 0-23: Education, the time of my life when I was mostly focused on learning. Learning how to be of value to people who know me, future employers, and to the world.

2. Ages 23-40: Work, the time of my life when I get my living and finances in order so I can retire early. The learning has not stopped, but my focus is more on producing things of value. Either for a company or for people who know me.

3. Ages 40-Death: Retirement, the time of my life when I can take my accumulated knowledge and produce something. I hesitate to call this the "Legacy Building" period, but I do want to use the time for some long spanning works and projects.

Now how can we achieve that? The short answer is, predictably, lots of money. Right now I have started a small investment with Betterment, an online investing service. I give them money and the make more out of it. Investing (either through Betterment or something more hands on) is the key here. Now, I am going to start the math talk explaining how this is going to work. If that sort of stuff bores you skip the summary section.

If you look at some of Betterment's returns you can see they averaged 11% a year. Lets round that down to 10% to make calculations easier. That means if you had $100 invested in 2013, when 2014 starts you have $110. Now if we scale that out to say half a million dollars, 10% of that yearly would be $50,000. Plenty of income to live comfortably. So the goal is have half a million dollars invested as quickly as possible.

Now that we have a number, how long will it take to reach it? First we have to consider expenses. I have got two big ones in the future: a house and a new car. The house will probably be around $260,000. This number represents the remaining mortgage including interest and not the total cost. I arrived at this be assuming a $100,000 down payment and a loan with a 3.75% interest rate which I predict paying off in under 15 years. I predict the car will cost around $15,000. Since some sources estimate your car will last on average 10 years, it seems prudent to budget for at least one. So now we pushed the goal back a bit as it is $775,000 (rounded to $800,000). This represents the predicted expenses ($275,000) and the necessary investment ($500,000).

Based on my records from last year I spent $9230.94. I do not expect that to change greatly, but let us round that up to $10,000 a year in personal expenses. I will also be on the hook for around $4,000 in housing taxes and $1,500 in heating costs. So that puts us at around $16,500 in yearly expenses. Let us round that up to $20,000 to make life easy and account for unforeseen expenses somewhat.

Now what about income? If I take my current salary, add in a 6% raise each year (the average so far), and then calculate my total income after 10 years that puts me at $995,990 or almost a million. However, this is before taxes and expenses. If I subtract my average tax burden (26% of income) and $200,000 (my expenses over 10 years) I get $540,000 to put towards my $800,000 goal. Close, but not there yet. If we do the same calculation out to 15 years we get $1,761,362. Now if we subtract taxes and expenses for that period we get almost exactly a million (total income: $1,761,362 minus taxes at 26%: $457,954.12 - minus expenses for 15 years: $300,000 = $1,003,407.88). That puts me well in the range of my goal with plenty of buffer. Now if you look at the above age range and know I am 25 this year you can see how in 15 years I will be 40 and just hitting the retirement age and retirement investment I want.

The best part of this is I suspect the numbers will get even better. If you look at the goal, some of that is just lost/non-interest generating cash (the house and car or $275,000), but the rest goes into my investment account (some $500,000). And that amount will grow year to year, so if every other value were to remain consistent I would get to my goal earlier than predicted since every one of those dollars contributed to the $500,000 goal will be working for me earning cash.

Now it is a bit dangerous to assume all these numbers will turn out as expected. It does seem unlikely to see a 10% growth on investments each year or that my income will rise each year, despite some anecdotal evidence. It could very well fall. You will notice I took some cheats here, like assuming my expenses, taxes, etc stay constant. You should not see this plan or a prediction, but as a guideline with milestones. I have an objective and I have a path to get there. I know the numbers I need to hit on that path, and as I walk it, I can adjust as the path unfolds.

Summary

Through low spending and high savings I hope to have enough invested in 15 years to live of the interest and pursue fanciful goals. I cannot predict the future, but hopefully being thrifty will get me to a retirement earlier than the US average of 62.

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

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.

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

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

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

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.

Obituary

- page 1 of 4