Showing posts with label short story. Show all posts
Showing posts with label short story. Show all posts

Sunday, 2 November 2014

Cubeland released!

Cubeland is out! Mark makes the journey from the lavish marble offices of Banker's Hall to the neo-plastic cube farm in the Scotia building. Adjusting to the cubicle and a life without walls is not the only challenge awaiting our young software developer: No monitors for you!

Tuesday, 21 October 2014

The Nth Reorg

I think this story is one of the most engaging so far and is definitely the most "transitional." I remember at school learning about how in Homer's The Odyssey the "descent into hell" is a technique successfully employed by many good authors.  (I particularly like Poe's story A Cask of Amontillado in this regard.)  This story is definitely an escalator trip down... nothing like going to a meeting to discover you don't do what you did anymore.

Please snag the story from Amazon, Google, or Indigo and let me know what you think! If you like it, post a review on where you got it, and if you really like it, head on over to GoodReads.com and like or review it. Thanks in advance.

Sunday, 19 October 2014

Downturn and Play Nice published!

It took a little bit but "Play Nice Now" is edited and enhanced to be "Downturn" and "Play Nice." Both are published on the usual three eReaders. When I get to episode 10, I will publish the chunk of five on iTunes. The next episode, "The Nth Reorg" is almost done. Might be the most exciting yet. (Thanks for your support! Spread the word.)

Friday, 17 October 2014

Trying GoodReads!

Hi folks! I'm trying to see if goodreads can increase my reader base! Please help out by visiting and rating the stories! Click to visit GoodReads.com

Tuesday, 9 September 2014

Play Nice Now

The latest episode is in edit. "Play Nice Now" sees a downturn in the energy economy and some interesting organizational changes for Mark. I had a lot of fun writing this one because it's based on eight life events.

On Bondolo's urging, I added a "Buy Now" button in an obvious spot. I hope I get some conversions. I am glad blogspot has a generic HTML widget that let me cut and paste some CSS/ Javascript/ HTML. Getting the button image served up through blogspot was a bit of a kludge. I hope it doesn't break.

I uploaded the last two stories to Kobo, so they're now available. (I have no Kobo sales to date.)

Here is a snippet from the draft (that will find its way onto Reddit - I got gilded today - I am not sure what that is but I was happy.)
Mark calls a meeting of his development team. Todd starts with his complaint...

“I would like to mention that my part, the transaction subsystem, was working when I checked it in two weeks ago – but when I got the notice that the data validation tests were failing I updated my repository only to find out that Kenneth had gone in and rewritten parts of my code, and it is those changes that are failing. Mark, would you please ask Kenneth why he would be in the transaction code when his current task is reporting and printing?”

Kenneth piped up before I could be diplomatic.

“In an agile project every developer can modify the code base,” Kenneth said.

“This isn’t an Agile project, Kenneth,” Todd said emphatically. “Why are you touching my code?”

“Don’t be such a baby. Agile is the best way we can do this project,” Kenneth replied.

“Baby?! It took me a month to write that code and you arbitrarily go and change it? Even if we we’re following Agile, that we are not, you should have run the test cases to prove your changes didn’t fundamentally change the functionality! Agile is test driven development! You didn’t run the tests, and you didn’t bother to go back fix the god damn tests.”

“Agile is iterative and adaptive through cross functional teams,” Kenneth said even louder. “Your code was breaking my build so I fixed it.”

“You bloody well rewrote it!” Todd yelled.

“I had to fix my build and your code was broken,” Kenneth snarled.

“That’s because you didn’t do a full update from version control, Kenneth,” Todd fired back. “The code went through a full build and test. All you had to do was refresh-all and run the tests.”

“I shouldn’t have to waste my time on that,” Kenneth said even louder.

“Oh my god you are such an asshole!” Todd yelled. “Just because you talk louder and more often than anyone else doesn’t mean that you are right!”

“What do you even know about programming? My dog is a better programmer than you,” Kenneth shouted.

It was at that point that Todd stood up, grabbed his chair, and threw it across the table in Kenneth’s direction. Kenneth jumped up, but the chair slid by him, off the table, and into the wall taking out a fine chunk of alabaster.

Thursday, 4 September 2014

Legacy Published

Legacy is now published and I'm working on a podcast of it next (mp3.)  Fun.

*** updated ***

Podcasts are cool; just an XML header pointing at an image (cover) and MP3 audio file.

*** updated ***

Until I get the XML wrapper done, I've uploaded Legacy audio to two places:

Wednesday, 27 August 2014

Legacy

First draft of Legacy is done.  In this episode Mark finds out that perception is everything.

Here is a snippet I posted to Reddit (Click here to up-vote.)

....
GASMAN was originally written by a fellow named Dmitri Isayev.  I never met Dmitri but I had heard about him through our client Bob in Gas Marketing.  Bob, the group lead, spoke glowingly about Dmitri and according to him Dmitri was the smartest IT guy around.  He had a PhD in mathematics and was brilliant.  He understood every requirement Bob gave him in the three years Dmitri wrote GASMAN, including some of the complex calculations (that I never got to see how complex they actually were.) I had the feeling Dmitri could walk on water. Dmitri had left Banana almost a year before I got there to go work in IT finance in Toronto.  Alan inherited Dmitri’s legacy and everything was going well, at least Alan never heard from Bob or any of the other traders.
 It waited for my shift before Bob called with an unusual dilemma.  Dmitri had implemented a brilliant, granular security on the transactions.  Only certain individuals or roles were allowed to certain data within a transaction and Dmitri had implemented this mathematically inspired security infrastructure.  Bob complained that one of the junior traders was seeing information he shouldn’t of so I set about trying to figure out why.  I anticipated my call to Alan would be unproductive.  It worked per specification according to him. So I jumped into the code with my handy-dandy debugger tool.  I found the security module.  I put in my break points and watch variables.  To my surprise, the program whizzed on by without triggering them.
My first thought was that I hadn’t done something right in configuring my debugger so I fiddled a bit with no change. Then I looked closer look at the code through my integrated development environment.  I tried to discover where the security code was called.  I found it was never called from anywhere.  I did a deeper dive only to discover that a lot of it was never fully implemented, and what was implemented would never work.   There were recursive calls and other strange instruments. For all intents and purposes there was no data security in GASMAN.
I tried to find out if GASMAN was ever code reviewed.  No one knew, and there were no documents to artifact that anyone aside from Dmitri looked at it.  It didn’t even seem to have user acceptance testing or client sign off.  When I asked Anne what I should do, she told me to talk to Bob.  I scheduled a meeting.
“Hey Bob, I wanted to talk to you about the security issue in GASMAN,” I said.  Bob was a portly fellow and outwardly quite jovial.
“You found it?” he said somewhat excited.
“Well, yes.  The security portion of GASMAN was never completed,” I replied.
“Sure it was.  I saw it working,” Bob replied. “Dmitri showed me the test cases.”
I wasn’t sure how to respond.  Maybe it had worked at some point but Dmitri forgot to check in the code under version control?  “I went through the code Bob and traced it.  There really is no security code.”
“That’s simply not possible,” Bob said with apparent frustration. “You must be wrong.”
“Trust me Bob,” I said, “I spent a lot of time going over it and it looks like it was never completed.  It’s not called by any other part of GASMAN.”
“Dmitri wouldn’t do that,” Bob stated flatly. “I saw it working.  I want someone else to look at it.”
I was stunned into silence for a moment but then I just blurted out, “Listen Bob, believe what you like, but why don’t you try it yourself?  Any user can see anything, and it’s not a bug.  If Dmitri did have it working, he didn’t leave the code behind, and it’s not what is running in production.”
“I will,” Bob said gnashing his teeth.  Our meeting was over.

The next day I arrived to see a meeting request in my inbox from Anne concerning GASMAN.  When I met her in her office she told me that Bob had complained about my unprofessional demeanor: Why don’t I like Dmitri? Why would I lie about Dmitri? I recalled and recited my meeting with Bob in great detail.
“So you see - one way or another - it doesn’t work, and it looks like it never worked.  It’s dead code,” I said. “I don’t know how else I could have explained it to Bob.”
“I know, I trust you,” Anne said.  “The client really holds Dmitri in high regard.  To make things easier, and reduce the heat a little, I’m going to assign this to Kenneth.”

You are going to pour gasoline on a freaking fire? I thought.  The guy has no people skills whatsoever. “That’s fine with me,” I said.  I didn’t know I could feel so relieved and pissed off at the same time.
....

Back-Story
The GASMAN story line happened to me when I was working for a financial systems company.  I was hired to come in and finish a complex role based data security feature that was left in an unknown state.  The developer before me had spent two years on the problem, and I was told to get it working, but not change it substantially.  Sure enough as I started to analyze the code I found recursive sections and major chunks that would not/could not work.  It all became moot when I started to trace back to who actually called the code - only to discover it was never called anywhere.  There were tests that didn't test the functionality, but management believed because tests existed, it must actually work.

I blended this into another experience where I had to maintain an application by a developer who was very popular with the client.  The client was resentful that the developer was off-boarded during a reorg and didn't want to give me a chance to provide service.  This problem will be explored in a future story - where you build personal relationships with clients that get obliterated by lack of organizational change management and impact assessment.

The SNUPEA story line happened to me several times in my career.  Rewriting a large chunk of code or an entire, working application - just to understand it - when you could just ask the right people the right questions or read the documentation (when it exists of course) - is just mind boggling.  I had one fellow rebuild something in six months that I built in one - not that I'm saying I did it quicker - but it is a total waste of time and effort to rebuild working, tested code or fix things that aren't broken.  These mistakes usually get caught if you have periodic peer review or effective project/program management.  This theme will reappear in later stories... around the "I just replaced a whole thwack of working code that I didn't understand why it was there with some OpenSource libraries that were totally busted and subsequently derailed the project 6 weeks."

Wednesday, 20 August 2014

Prima Donna

First draft of Prima Donna is done.  In this episode we see how easy it is to make very public mistakes with technology and how none of us are immune!

*** updated ***

Here is what I posted to reddit.  (Click here to up-vote.)

Hey folks; I'm writing a bunch of short stories based on my experiences over 25 years in IT.  Here is an excerpt from draft of my latest story...

….

I tried to log in to my email but the server was down.  “Your email working?” I asked Todd.

“It was but a summer student managed to take out the server,” Todd replied.  “That’s one of the reasons I’m here.  I can’t do much on my current project because I need the email servers and the messaging team has locked them all up.”

“Wow, what happened?” I asked.

Todd settled back a bit in his chair to tell the story.  “Well this girl sent a fund raising request to one of the corporate address lists by mistake yesterday.  This address list contained most of the people in the company.  So then everyone started replying to all saying don’t contact me, but they carbon-copied her boss, their boss, and now everyone in the company is cc’ing everyone else saying stop replying-to-all and whatnot.  This poor girl started an exponential, internal, accidental, denial-of-service attack.  The email guys can’t delete the messages fast enough and every time they bring the system back up it reignites like a forest fire in a drought.”

“I saw that and ignored it.  But that’s a great start to a career!” I chuckled.  “Does she still work here?”

“I don’t know, but if I were her, I’d be hiding,” Todd responded.   He paused and had a somewhat serious look on his face.  “We need to coordinate the fair dissemination of Dean’s office supplies.”

….

 “Hey email is back!” Jeff exclaimed.

I was feeling a bit anxious about getting back to work, but I wanted to keep talking with the dudes via messaging.  Banana Corp didn’t approve of instant messaging, so I had an idea to use old-school Microsoft network messaging.  “Hey do you guys know if the desktop messaging service is enabled?”

“By default no,” Todd said, “but it’s not like the desktop guys can get rid of it.  It’s a standard part of Windows.”

“Cool,” I said, “Turn it on and we can send each other messages.”  I got the okay from the dudes and I went back to my office.  To this day why I couldn’t use a phone I do not know.


Later that afternoon I got a message on my computer from Dean.  It was preceded by an annoying beep and a pop-up window.  Message from Computer01435: I just met with Anne and I’m clearing out.  Keep in touch bro.  It had been a while since I used the network message command.  I typed, net send /banana deano “Come to my office before you go.”  Then I heard a chorus of annoying beeps echoing up and down the hall.  Even though I was pretty far from the corner office I heard a burst of laughter.  Oh – my – god, I thought as I quickly walked down the hall.  On the way I noticed a few people sitting at their desks with puzzled looks.

When I got to the corner the dudes were still laughing.  On Todd’s screen I could see a pop-up window that read, Message from Computer01541: deano come to my office before you go.

“Forget a colon?” Jeff asked.

“It’s domain, colon, user – no space,” Todd said.

“I just sent this to everyone in the company, didn’t I?” I asked defeated.

“Yep, you spammed everyone online,” Dean chuckled.  “Let me know how many Deans show up.”

“Todd, you said it was off by default?” I said angrily.

“It’s supposed to be,” Todd said shaking his head.  “I guess the desktop guys changed the default to off recently and it wasn’t a retroactive desktop update.  So it would be more correct to say you sent a message to anyone who wasn’t recently provisioned with a computer.”

….

Wednesday, 6 August 2014

Smackdown!

Smackdown has finished its third edit.  And it is not done.  Though I am happier with this version over previous versions, my supporting wife tells me there is too much going on and it is still too technical.  She suggested I put more comedic examples in of how Alan is inept, and maybe use it as an opportunity to explain some of the technical jargon.

She also finds the references to the MMORPG not well aligned with the story line.  Chris too thought this was dangling (and wanted more, so that would mean a dedicated story, or more inline references.  Its hard enough to explain what an Epic is let alone a game like EQ or WoW.)  And my editor also had some comments here...  So this aspect of the Mark's character is going away.  Leave that humor to The Guild.  Goodbye to the following verbiage.

... was home in time to attend the Epic Raid my guild-mates had planned for the day.  The game was a classic “Skinner Box.”  A friend had bought me this massively multiplayer online role playing game (MMORPG) just after graduation and I was quickly addicted.  Players organized into groups called guilds. Several of the folks in my guild were in the United States military.  They didn’t seem to sleep so there was always someone online to play with or talk to.  Accomplishing things in the game seemed to go better than in real life (IRL).   An Epic Raid is one of those events in the game that literally takes months to jump through all the hoops required, and all of your guild-mates help, to get bits and pieces for super rare weapons and armor that only your character can use.  The game took more time and effort than the job; I was over forty hours a week in game time.
.... In passing conversation I discovered Paul played the game too and had a character far superior to my own.  He’d even completed his epic.

.... Losing myself in my Epic Raid game when I got home was much simpler than what I was doing at work. There was no client to keep happy. The team in-game works because they want to play together to achieve common objectives. And you can never work outside the rules.

Monday, 21 July 2014

The Master Plan

Someone asked if I have a plan or order to the stories I'm writing.  Yes.  For the most part it is chronological based on my experience.  But the topics and themes will change.  I've already rolled a couple ideas into one story.  But here is my "second" outline.  I lost the first.  If you see it, let me know.  Possible titles of stories:

  • Graduation/First Job (became "The Beginning")
  • Smack Down
  • The Mexican
  • Executives (became "Talking to Executives")
  • Prima Donna
  • You Must Learn Control (became "Legacy")
  • Playing Nicely with Others
  • The Nth Reorg
  • Project Managers from Hell
  • Cube-land
  • The Christmas Party
  • Hall Monitors
  • The Impressive Clergyman
  • Switching Teams
  • Assassination
  • When Dunning Met Kruger
  • Shadow IT
  • Last Man Standing
  • Up, Over and Down
  • Transformation
  • Start-up 101


There may be others as I dredge up suppressed memories.

Friday, 18 July 2014

More motivation please: Crowd Funding

I was thinking to myself today "Self, what else can I do to motivate?"

I am skeptical of crowd funding but the brain said "What the heck, give it a shot, maybe someone out there wants to pay you to write?"  So you undiscovered angels; spread the word.

https://www.kickstarter.com/projects/217827251/memoires-of-a-self-loathing-it-professional

Thursday, 17 July 2014

Memoirs of a Self-Loathing IT Professional goes on-line!

Here we go!  I've been threatening my friends for years, supported and inspired by them, to write down all the insanity we've experienced together for the last 25 years.  And its longer too, as some of them go back with me to the Apple ][+ days.

This is an experiment.  I want to see if the short story is truly dead.  I want to see if people would pay $1 for a short story.  I want to see how many of my friends that promised to pay me $1 for a story actually do.  Self publishing is awesome.   But does it work?  I will post my experiences on it here too, and answer any questions anyone might have.

But I often tell myself "Writing a book is one things, but what good is it if no one reads it?"  Well, its therapy.  Really.  I have 25 years of poison to get out of my system.  And who knows - I might actually touch a few people (in a positive, figurative way.)

Thanks for joining me on the journey!