Giltran #3

In which the Archmagos digresses upon the challenges of cloning, and reviews his handiwork.

If you have the right tools, cloning isn’t difficult. You take some genetic material, use it to create a single cell, put that cell in the right environment, give it a little push and the rest more or less takes care of itself. Wait eighteen or so years, and you have an adult human body that is an exact genetic match for it’s source material.

The catch is thus; a basic clone is a useless sack of flesh, barely even fit for spare parts. No mind, no muscle tone, and the whole process is so dreadfully slow. The latter two issues are effectively solved problems – the technologies for stimulating muscle growth in lieu of exercise and speeding the growth of tissue have been mature for millennia. But the mind is trickier.

A clone that is…unformatted, for lack of a better term, has basic autonomic functions only. It’s heart will beat, it will breathe, etc, but naught else. The firmware of humanity comes pre-installed, but hardware with no controlling software cannot perform tasks. The installation of simple software leads to single purpose servitors, the likes of which the False Mechanicus of the Imperium of Man creates in dizzying numbers. But a sentient mind is infinitely more complex, and provides a challenge even for the greatest adepts of the Arts Biologica.

Biologica has never been an area of interest to me, but let me simply say that the process of implanting mind and memory did not prove a barrier to my work. The less I say about this the better, as there is one particular rogue Apothecary who would be very cross to learn that his methodology isn’t as secret as he believes.

I turned away from the tank containing my fully grown clone and consulted the cogitator standing beside it. Logging data from the implantation process scrolled down the display, which I scanned rapidly before reaching the end of the feed. Dated mere hours ago, the message I had been awaiting stood starkly in bright green text. I could practically feel the smugness of the cogitator’s Machine Spirit as I read it;

++++IMPLANTATION OF MEMORY ENGRAMS COMPLETE. ESTIMATED FIDELITY: 98.3%. ALL UNIT TESTS PASSED, WAKE-UP SIMULATIONS GREEN.++++

I smiled at the sight. Implanting memories is a slow process, and I have many thousands of years of memories, so this copy of my own mind and body had taken many weeks to create. It was in itself an achievement the likes of which very few men in the galaxy can boast. But it was merely a precursor, a lengthy preparation to provide optimal conditions for the final implementation of a thousand years of work.

It was time for me to make history.

Giltran #2

In which the Archmagos crosses the street, and engages in ritual.

Common wisdom dictates that a story should start at the beginning. This is, of course, utter nonsense. If you trust common wisdom, then you will always fall to common misunderstanding. The beginning of a story is a subjective matter, and the choice of where to begin ultimately provides the framing for the rest of the tale.

For example, I have chosen to begin this story on the day of my first expansion. Prior to that point in my life I had accomplished much, and the records of those feats are detailed elsewhere. This is not the beginning of my story. But given the effect it has had on the rest of my life to date, it is nonetheless the perfect place to start.

I stepped outside to walk the short distance between my hab and the workshop. The greenish morning light bathed the streets, and stepping upon the ferrocrete sent distortions rippling away from my shoes. Bemused, I crouched down for a closer examination. At the touch of my hand, it again rippled like water and felt wet to the touch, though it left absolutely no residue on my fingers. Repeating this experiment in the shade of a nearby vehicle produced no such effect. Seemingly, the morning light was indeed liquid, at least where it touched upon ferrocrete. Such are the delights of life upon a Daemon World.

The workshop was another large and blocky structure, much as the same as any that can be found on Vrykul. It is not a decorative place, but aesthetics were not a factor considered in the design of the sprawling industrial sectors covering it’s surface. The buildings of the Hellforge are supremely functional, and there is inherent beauty in that.

Stepping through the open doorway, I doffed my greatcoat and tossed it to the floor beside me. Mere moments later, a nurgling wiggled its way out of an improbably small hole in the workshop floor and waddled over.

“You know I hate it when you do that,” it said, it’s angry facade quite ruined by the small smirk it couldn’t quite suppress. It’s voice had an odd quality to it that I can only describe as nasal, though that isn’t quite correct. It was as if its vocal chords were coated in phlegm- which was almost certainly precisely the case.

“Yes, I do. Good morning, Squelch.” I replied, also trying to keep a grin off my face.

Squelch turned from me to the coat with a loud “Harrumph!”, and began gathering it up for storage.

Squelch is an odd little thing. It is the only nurgling I have ever met that insists that things that things be tidy. Not clean, mind – that would run directly counter to its nature – but tidy. This exchange was something of a ritual for us, established over long centuries. Now that the pleasantries were out of the way, I could get it work.

“Anything abnormal overnight, Squelch?” I asked over my shoulder as I strode over to a large glass tank in the corner of the room. It ignored me, busy with the coat. So be it. I peered into tank, the liquid and figure within lit from above.

I studied myself, suspended in the liquid within the tank.

Giltran #1

In which Archmagos Giltran begins as he will almost certainly continue; with excessive pseudo-philosophical digression.

It never rains on Hellforge Vrykul. That simple and physical fact isn’t particularly remarkable, even among worlds in realspace. But it was the thing that most often struck me about the place, no matter how much time I spent on its chaotic surface. After a few thousand years you start to miss the little things.

I distinctly recall watching the sunrise on the day that my second life began. I had made it a habit to climb to the roof of my hab block in the morning, and watch the light creep across the hard edges of the industrial landscape. No two sunrises are the same on a Daemon World. The sheer malleability of reality in such places allows (or perhaps demands) that the sight, once beheld, is never repeated. There is poetry in that, I think.

On the morning in question, the dawn had a turquoise tinge to it, and the illumination flowed across the rugged transport lanes of the hellforge more like liquid than light, as though the speed of light itself was perceptibly lower than normal (insofar as the concept of normality can be applied to a place so steeped in the forces of the Warp). I abandoned superstition long ago, but I took the sight as a reminder that the realms of possibility are only bounded where we are willing to accept boundaries.

Back then, anyone would have told you that I, as I am now, am an impossibility. In fact, some people still insist that I am, as if I am undertaking an elaborate ruse for no greater purpose than my own aggrandizement. But I am not impossible.

I am proof that anything is possible.

‘buildNumber: unbound variable’ in Ambari Setup

I’m currently experimenting with Apache Ambari, because setting up a Hadoop cluster manually looked like no fun whatsoever. However, the Ambari project does not distribute binaries, and the freely available Hortonworks binaries required a support identifier in order to deploy a cluster. That’s a hard no on that one there super chief.

So, I built Ambari from source. That was a trial that probably deserves a blog post in its own right.

But, I got my RPMs,  installed them on my target server and tried to run the setup process;

Well, fuck.

A first look, the internet proved little help – I found a couple of people with the issue, but no helpful information. So, in my desperation, I went to the third page of a google search. I know, shocking.

And what I found was a chinese blog post. I don’t read a work of any asian languages, but a quick text search of the post led me to this;

Aha! So, I tried it (replacing the value of the variable with the correct version number, 2.6.0.0 in my case), and lo;

And we are in business. So, it seems that if you build ambari-server yourself, it is reliant on a buildNumber enviroment variable. (I don not recall having this issue with the Hortonworks binaries).

Would have been nice to have that in documentation huh?

National Treasure

What’s not to like about National Treasure? This one breaks the spirit of the List a little, since I have seen this movie multiple times are remember it fairly well. But also I like it a lot, and didn’t have the heart to reject it when it was suggested. So here we are!

This is a really fun historical heist movie. The DaVinci Code, eat your heart out. I have actually not seen many Nick Cage movies, so this one (and Lord of War) is the foundation for my appreciating of his particular brand of acting. It’s the good shit.

Good:

  • I’m going to steal the Declaration of Independence
  • Using said Declaration as a bulletproof shield
  • Using fire around ancient crumbling documents
  • Rotting wooden stairways that break slowly for the heroes and IMMEDIATELY for bald assholes
  • LIGHTING MYSTERIOUS SUBSTANCE ALIGHT IN ROOM FULL OF CRUMBLING DOCUMENTS

Bad:

  • You don’t hear the bald asshole hit the ground
  • Riley drives on the grass at the end like a fucking barbarian
  • Sean Bean didn’t die

The Mummy & The Mummy Returns

The recommendation for tonight was The Mummy Returns, but watching a sequel as a standalone movie just seems like bad practice, so I decided to watch the two back to back. First up: The Mummy.

I had apprehensions about watching The Mummy Returns. I thought that maybe the movie would be gruesome or scary, but it wasn’t either of those things – creepy at points, but an adventure story at its roots. This movie was one of the reasons my List watching project for so long – I didn’t want to watch this franchise. I was avoiding it. That was totally not justified apprehension.

Good:

  • Dual wielding pistols
  • Good animation on the mummy, especially for the time when this came out. Not what I expected.
  • Smart lady characters who are the only one who can figure out whats going on are a weakness of mine
  • Winston Havelock
  • To be fair to the Mummy, that’d distract me too
  • Literally riding off into the sunset

Bad:

  • Presumably experienced librarian makes really stupid rookie mistake and destroys the entire library
  • Really poor artifact handling practices
  • Scarab-based body horror
  • Flying low to escape a sandstorm seems like objectively the wrong choice
  • Why are treasure rooms always such a goddamn mess?

And then, the Mummy Returned. The protagonists of the last movie, apparently not having learned his lesson from the last movie, are still fucking around in ancient Egyptian burial sites.

This franchise really didn’t need a lore expansion. The first movie was weird, but self contained. If there had been some hints of some of the meta-plot and wider scope worked into the first movie, I’d be less bothered by the sudden expansion of the scope of weirdness. But this is a modern idea, so it isn’t quite right to expect it from these movies – blame Marvel, basically.

They also really didn’t explain why the Mummy wasn’t permanently destroyed at the end of the last movie. Whatever.

Good:

  • And so the dark god accepted, because mortal souls are both tasty and full of fiber and B vitamins
  • Henchmen with really henchman-y accents
  • Those pillars fell over just like the shelves in the lib- ooooooh.
  • The fights are still properly bombastic (this style grew on me during the first movie)
  • Little mummies

Bad:

  • I’m sure the magic visions will totally be explained to my satisfaction
  • They never wanted anyone to find this, let’s open it
  • Just for once, I’d like it to be the male half of the leading duo that gets kidnapped
  • ‘Just because I’m a kid, doesn’t mean I’m stupid’. Uh, yes it does, sorry
  • CGI monster kissing
  • Stormtrooper-level aim (unless your character is named, and then you can’t miss)
  • Character death that came out of nowhere and served literally no purpose other than momentary man pain

Bonus Round: (500) Days of Summer

This movie made me laugh a lot, because most of the jokes were absolutely at the expense of people like me. And I appreciate that. I gave up lying to myself about the nature of my foolishness a long time ago. And the fact that Tom is much worse than me (I fucking hope) helps that as well.

I went from Sweet!bitter on the 50cm bonus round to Bitter!sweet in 500 Days, and it was rough. But it was good. I have a lot of other thoughts about this, but they are all just a little too close to home, so suck it up cupcake, ’cause I ain’t sharing.

Good:

  • I lost my shit and laughed aloud at the top of my lungs at the opening dedication. Perfect.
  • Lemony Snickett style narration.
  • Zooey Deschanel
  • The lady dothn’t.
  • ‘No jobs, I’m still unemployed.’
  • Han Solo reflection
  • I didn’t know most of the music in the soundtrack, but it had that classic feel that I appreciate regardless
  • Tom was right.

Bad:

  • This is why I never want to go to an open mic karaoke bar
  • I guess its only a walk of shame if you aren’t a dude
  • Wisdom of the ages from the younger sibling (this is Bad because I’m pretty sure she’s right)
  • It’s a free country
  • Denial
  • Infinite cringe
  • Look at camera, roll credits

Bonus Round: 5 Centimeters Per Second

Holy crap, this movie is gorgeous. The sky, the sky! Fucking brilliant. It was pictures of the skies in this movie that convinced me to watch this, and it wasn’t a mistake.

I haven’t watching anything anime-ish in quite a whole, and it took me a little while to slip back into the groove of reading subs. It’s a bit like riding a bike though – it can be difficult to pick back up again, but you don’t really forget. And the stories…well, the stories reminded me of the good bits of being a teenager deep in the throes of emotion, without really bringing up my sourness on the subject. And that’s a rare thing.

I don’t even really have anything else to say. If you have a taste for the beautiful and bittersweet, watch this. You won’t regret it.

Good:

  • There are so many lines early in this movie that hit me really hard, but quoting them out of the context made them hollow, so I gave up.
  • Fucking nerd children talking about science shit. Cute.
  • Imagine the station master. ‘Oh shit, now there are two kids here, and they are both crying. Fucking great.’
  • ‘I wonder when I got into the habit of writing messages to nobody?’

Bad:

  • I started watching this on DVD, but what is the point in watching such a pretty movie in 480p?
  • Public transport that waits if a connecting service is running late? THAT SOUNDS FAKE.
  • Oh, Sakai, girl. I feel that.
  • Windows Vasta
  • SUDDEN MID-MOVIE CUT TO AN OPENING STYLE MUSIC MONTAGE
  • Wait…that’s the end? Fuck you movie, I was NOT DONE with Story 3 yet.

Citrix VDA Re-Registers After Every Application Launch

When implementing our XenApp 7.8 farm, I ran into a little problem. Every time we a launched an app hosted on the new 7.8 farm, the Terminal Server/Virtual Delivery Agent that hosted the connection would lose its registration with the Delivery Controller, dropping to an ‘Initializing’ state for 20 seconds or so before successfully returning to a state of ‘Registered’. This symptom would also occur when an app was closed.

The following message appeared in the Event Log on the VDA when the issue occurred – but only very rarely. Not sure why it was so rare. After turning on VDA logging, the same error could be observed in that log every time.

Our environment had three farms; one Presentation Server 4.0 farm, a pair of XenApp 6.5 farms, and now a pair of XenApp 7.8 farms. These were accessed by various Citrix Web Interface 5.4 servers (for older PNAgent clients) and a Storefront 3.0 cluster (for modern Receiver versions & thin clients via a Desktop Appliance site). Both access methods are configured to communicate with all farms. You might notice that this is quite a raft of technologies, from different eras of Citrix products. This was ultimately the source of the issue.

This issue only occurred when using Storefront to launch apps, and only on the XenApp 7.8 farm. All other combinations were fine.

After a long investigation with Citrix Support, the source of the issue was discovered. Our Storefront cluster has been implemented more than a year before the project to implement XenApp 7.8, and at the time the Store had been configured to disable Launch References, to enable Storefront to launch apps from the Presentation Server 4.0 farm. This was done by changing the web.conf for the store, setting RequireLaunchReference=”off” and OverrideIcaClientname=”on”. See this blog post for more details.

Unfortunately, this configuration causes issues with XenApp 7.8. Unlike PS4 or XenApp 6.5, launch references are required for XenApp 7.5+ farms. As soon as we changed the web.config for the store to default settings (RequireLaunchReference=”on” and OverrideIcaClientname=”off”), the re-registration issue disappeared. However, the removal of this setting does stop apps in the PS4 farm from launching.

Presentation Server 4.0 is not supported by Storefront, so I do not believe there will be a way to get apps from PS4 and XenApp 7.5+ coexisting happily on the same store. My solution for this was to disconnect the PS4 farm from our existing store and reset its settings to default and create a new store that is dedicated to PS4 apps. By disabling LaunchRefs on the dedicated PS4 store and configuring my clients to have access to both stores, I can still present all of these apps to my users with only minor changes to end user behavior. It isn’t the best solution (the best solution would be to get rid of the PS4 farm entirely, but business realities prevent that), but it will suffice to solve the immediate issues and has removed this roadblock from the project.

 

The Citrix XML Service at address has failed the background health check

When implementing a new Storefront 3.7 server, I encountered an issue with communication failures between the Storefront and out XenApp 6.5 farms. Intermittedly, applications from these farms would not enumerate. The following events were logged in the event log repeatedly, indicating transient connectivity issues;

The Storefront server had been built following Carl Stalhood’s excellent Storefront build guide, which includes several non-default configuration recommendations. As I was not experiencing the issue on our existing Storefront 3.0 servers, I was led to thinking that perhaps one of these changes was the source. While researching the issue, I found a Citrix support forum thread in which a user recommended turning off socket pooling in order to aid in troubleshooting the connectivity issues, which set me to thinking.

A quick look at my config confirmed that, yes, socket pooling was enabled as per the build guide recommendation. In addition, in the Event Log there were messages that I had overlooked before;

Aha. Something odd is going on there.

So, I disabled socket pooling in the settings of all the stores configured on the Storefront sever. This has caused the messages above to stop being logged, and I have not have the symptoms reoccur since, so I believe the issue is solved.

Obviously there is something not quite right happening with socket pooling and communication with XenApp 6.5 farms – but our environment is not large enough for socket pooling to be required, and thus this is a good enough solution in my case. If you have this problem and require socket pooling to be enabled, I suggest opening a case with Citrix Support for investigation and proper resolution.