12 September, 2008

Week Four

I feel like I am at the top of my game right now, as far as it could be expected.  I have taught myself far more than I think they had expected me to learn in the short time I was there.  I also brought to the table a lot of organization tips and tricks I used when I was an operations sergeant.  A process is a process, and many have things in common, and so some things work no matter what the project is.
For a while I felt a little constrained, and it was starting to frustrate me.  I didn’t feel like I was getting taught as much as I wanted to learn.  Sometimes I wish they would just get out of my way and let me work.  Some of them spend a lot of time griping about things that have to be done or changes to which we must adapt.  It’s telecommunications.  If I wanted stability I would do something else.
I like the challenge of having to constantly stay abreast of new requirements.  I like having to keep everything well documented.  I like challenging assignments.  I like feeling swamped.
There is nothing, nothing at all, that feels better than when, at the end of the day, I know that I rose above expectations.  Although this is dangerous, as Murphy pointed out:
#25.  "If you take more than your fair share of objectives you will be given more than your fair share to take."
But I still live for the thrill of supermassive accomplishments.  I love feeling like I have accomplished something difficult through my own efforts and mental capabilities.
There are a lot of patterns in the things I am doing, and I am good at picking up patterns.  I am excellent at finding breaks in the pattern, once I know what the pattern is supposed to look like.  I have had the most success in troubleshooting stream errors in the last few days.  Our addressing scheme was all screwed up, and I found it.  The way we were iterating our MAC tables was conflicting, because IPoE and DHCP emulations are built differently.  I caught it. 
It is exhilarating to look at a large sequence of numbers and be able to interpolate on the fly what the trend is and then translate that to a break in a physical system.  I feel like SuperNerd.  Except in this instance I put away my cape and tights and put on my spectacles and business suit.
I am not dumb at all.  I am well worthy of this job. 
I am still having trouble decrypting a TCL script that we use to populate the DHCP emulations.  I needed to change the MAC schemes so that there would be no conflicts.  MAC schemes are rather arbitrary but, since this iteration we are running multiple encapsulation protocols on a single card, we ran into problems. 
On each card there are 32 ports.  On each of those 32 ports we are assigning 8 MAC addresses for a total of 256 MACS per card.  Then we have 10 cards per shelf and four shelfs in the system.  It’s a lot of MAC addresses.  Having a script that populates the DHCP encapsulated ports takes a lot of work off my hands, but only if it works.
The problem is that PPPoE emulations are populated by MAC, and then laterally increment the ports.  DHCP emulations are populated by port and then laterally increment the MACS.  In other words, a card full of PPPoE streams would have 8 rows of MACs with 32 ports.  A card full of DHCP stream would have 32 rows of ports, each with 8 MACs.  They had designed their MAC scheme to be useful only on those individual cards.  It didn’t work once the cards became mixed.  The MAC addresses were stepping on each other.  But they couldn’t figure out why the traffic wasn’t getting through.
I was frustrated because at the beginning of the week I didn’t know enough to troubleshoot a damn thing.  And the person who was supposed to be teaching me seemed more interested in commiserating with others about how difficult it all was.  I empathized, but I always find it more rewarding to look back on how difficult it was after achieving it than to look forward to how hard it is going to be.
So I leaned forward in the foxhole and started sifting through the code myself.   And I found it.  And not only that I came up with a solution and I proved my solution.  I even wrote a small script that would automatically populate our MAC scheme based on the table entries for shelf, slot, port, and MAC sequence. 
Now the only problem is that the TCL script that the Agilent guy wrote for them before I got here was designed to increment MAC addresses and ports for the old scheme.  Now I want to iterate the 5th octet for the port and the 6th I want to use for the MAC.  I know how to do it manually in the program we use to test, but not how to write a code that interfaces with the program, yet. 
All I can do is to try and deduce how the original script is operating and make alterations to that.  I thought I had it figured out, but the changes I made to it didn’t affect it the way I had thought.  So I must not fully understand the code.  But, I have a copy of it here with me and a reference book for the TCL language.  I have coffee, and 56 hours before I have to go back to work.
I’ll figure it out.
Namasté,
Sisyphus

No comments: