Archive for the ‘Employment’ Category

Monitor Burnout

Tuesday, December 27th, 2005

I was in another office with my coworker today and I noticed a smell. I asked her if she smelled electric. She smelled something, but didn’t think it was electric. Her laptop had been run over by a car and the screen looked like a piece of modern art. She had a regular CRT monitor hooked up to it so she could still use it. I suggested that she should keep a close eye on it and use caution.

From there I went to my cube and sat at the desk. I had a black screen and figured the screen saver had kicked on and that the monitor went out due to my energy saving features. It even had its amber “standing by” LED turned on. This is common as I’m usually away from my desk for hours at a time. Only this time, the screen wouldn’t come on.

I jerked the mouse, typed a few keys and even hit the infamous CTRL+ALT+DEL combination of keys. Nothing. I decided to just hit the power button to turn it off and turn it back on. Snap! A very bright white horizontal line was burning across my screen as smoke came out of the back of the monitor. After some quick reflexes, the monitor was turned back off and all cables were pulled out of my battery backup system.

The system administrator was on vacation so the configuration management guy and myself took care of things and left a nice note.

This monitor literally blew up. This is was Lewis’s monitor.

So for the rest of the day, I had been working on everyone else’s computers with them getting my work done. As I said before, I’m usually not in my office. It gave an interesting task for one of the new people to work with me as I walked through my tasks.

Holiday parties

Tuesday, December 20th, 2005

I feel like I just went through 3 holiday parties last week - or was it the week before where I work. Yesterday and today there were two more. I skipped the one yesterday as it was a holiday pot-luck and gift exchange. I didn’t bring a dish or a gift to give away. Instead, I had chinese at the food court within the hotel across the street.

Today, our group was treated out to lunch at the Bistro inside the Marriott hotel. It was a nice gathering and there was much to talk about. Topics ranged from the XBox 360, Star Wars, Harry Potter, spots on dishes, Christmas preparation, Sony’s Virus’s, cold fries, and the list goes on.

The day was dragging on as we did our work. We had a problem that didn’t make sense before lunch. After coming back, I tried something just for giggles and it worked. I’m still a little confused as to why it is working. As long as it works, we can go on to the next problem. My manager says that sometimes you need a break just so that you can get a fresh point of view when you get back. There is nothing more important then Lunch. The work will still be there when you get back.

Christmas Parties

Thursday, December 8th, 2005

For lunch I got to see my old boss. Or was he my boss’s boss. Then he was my co-worker for a while. Now he’s a manager again, but somewhere else within the company. Anyhow things are doing good with him and another friend that I hadn’t seen in a while.

My manager and I had lunch with them at a Thai restaurant. We got lost on the way, but we found the place quick enough. I didn’t know what I was ordering so I made a bold move and choose things that didn’t have any English words at all. I got a nice soup with chicken and mushrooms. It was spicy but not hot. I also got a plate of … stuff. It was good too but I’m still unsure of what I ate.

Later today was another Christmas party at work. Yesterday the building management people held a party in the lobby for all of the tenants. Today my company had its own party.

The 10th floor isn’t as mysterious as it was during last years Christmas party. One thing that I noticed rite away is that everyone appears to be middle aged or higher. I felt so young just walking around up there.

Much of the same selection that was at yesterdays party was there today. I joked with a co-worker that it must have been left overs. The food was pretty good. We had few people catering to us. There was fruit, crackers, meat on a stick, lots of plates of cakes, brownies, cookies chopped up in little pieces in different parts of the office. My favorite snack is the chocolate covered strawberries and mini eclairs.

I went to the back and choose to have a bottle of Heineken. I had a choice between a few types of wine and champagne. I have no clue when it comes to that kind of stuff. All I know is beer - and the beer of choice is Heineken. I didn’t have a place to set my drink so I gulped it down pretty quick so I could start eating my food.

I didn’t get too light headed. I stayed a few hours after work and left four hours after the party just to be safe. I had some work that I really needed to get done anyway.

Certificate of Appreciation

Saturday, October 29th, 2005

My coworker asked me to come into work early today and indicated that it was very important. She said there would be bagels and orange juice, but it seemed something else was in between the lines. I printed some directions to the office over on MapQuest to avoid the highways, hoping that I could get an edge on how long it takes to get to work since I wouldn’t be able to take the HOV lanes.

In the end, I got to work in just under two hours and arrived thirty minutes later then I was supposed to. I was a little down because I had thought what ever was going to happen, already did and that I had let her down as well as my manager.

I got to doing my work and had to hunt for another coworker for some debugging assistance. I couldn’t find him until my managers door opened. He walked out and the manager as well as the director asked me to come into the office.

They filled me in that the meeting was to be held on the hour and that my coworker and I would be recognized for our contributions to the team. Our database developer had left us last year and I took over his tasks and kept up on my own stuff as well. I have a deep knowledge of many of the projects we work in both the database and programming code.

CSC Certificate of Appreciation

Of course, everyone wanted a speech and I was clueless as to what to say. I acknowledged that one of my coworkers worked through a lot of things with me and that the team is a really good help as well. The other coworker who got an award helped save me from the torment. We all had bagels and orange juice.

Found some shoes

Thursday, October 27th, 2005

I misplaced my employee badge two days ago. I arrived at work and realized I didn’t have it. I quickly hunted for it this morning and failed to find it. So tonight, I’m cleaning up my room. I found a pair of shoes that I had lost track of for a few months now among the junk.

Found Shoes

So now that my room is “cleaner”, I still can’t find this badge. I’m going out of my mind. For some reason, losing stuff is the only time when my room gets clean. I’m even doing a load of laundry too.

Other things that I have found:
- A mini box of rice crispy’s
- The missing lense to my glasses
- A floor
- Tools (Drill, Wrench, Screwdriver)
- An MP3 Player (Rio Forge)
- A business card for a fitness center

News Flash!

After almost 4 hours of throwing things into garbage bags, I found my badge! Each night when I come home, I empty all my pockets onto my bed before I change my clothes. Somehow the badge went a little too far between the bed and the wall. Maybe it was one of the cats playing with it. Maybe it was me forgetting about it and moving sheets. I don’t care. I have my badge! I can stop cleaning and wait a few more months before I lose something else.

Working with open-source

Friday, October 21st, 2005

I had made a pretty nice template for a website that I’m working on in the office. Since I didn’t have any graphic editing software where I work (besides MS Paint), I created the graphics at home and brought in the final images. Today I ran into a problem. The graphics that I made a few months ago needed some modifications and I couldn’t just run home to work on them.

Enter The Gimp. The Gimp, (an acronym for the GNU Image Manipulation Program), is a very powerful graphic editing tool that has been around for a long time. You could compare it to Adobe Photoshop. Rather then paying six hundred, fifty dollars for commercial software and an extra one hundred, fifty dollars for each upgrade that comes out, you may download The Gimp free! It also works on many operating systems including windows.

Being familiar with the features of Photoshop, I knew what it was that I needed to accomplish. My primary problem is that I am not familiar with The Gimp. I was stumbling while trying to understand how to use its layers when pasting images from my clip board and moving them around. The GUI (Graphical User Interface) works much like applications do on Linux, such as the dialog for saving a file. There are many unfamiliarity’s that I’m just not used to. Some of the recent news on The Gimps’ support site is starting to focus on usability, so it may not be long before it gets easier for people like me to figure it out.

I think it is great that feature rich software is available like this. Another piece of software that I’m starting to work with at home is OpenOffice. Sun Microsystems donated the source code of StarOffice to the open-source community five years ago and the rest is history. You can still purchase StarOffice from Sun, or you can download the free OpenOffice sponsored and contributed to by Sun along with many other companies and developers.

From what I have read, Open Office 2.0 kicks Microsoft Office around the block. The review pretty much said that Open Office competed very well and perhaps much better as a word processor then Microsoft Office. Slide presentations are better in MS Office due to the availability of clip art. Spreadsheets are fine as long as you are not going back and forth between MS Office and Open Office.

Ever so slowly, I’m starting to move over to open-source applications. As each new version of current software comes out, I get really frugal and start asking myself if I really need to buy into it. What is offered that is not already available to me? Is the upgrade worth it? Do I need those new features? Is there another product that can already do this?

When it comes to graphic design and word processing, the need for new features really isn’t in too much demand. With each subsequent upgrade, I always find myself just using the same features that I originally had. A few tweaks do come in handy and are noticeable, but I would have been able to get the task completed without them. It seems that most software gets bogged down with features just so that you have more reason to buy into the next version when what you have is good enough.

All for one, and one for nothing

Wednesday, October 19th, 2005

I had been putting my nose to the grind stone for the past few business days. I completed a big part of it on Monday and had been pretty proud of what I had achieved. My coworker saw the final results today and was impressed, but pretty much said it was not what she had asked me to do. She was not aware that the technology existed to do what I did.

I don’t know if it is a miscommunication issue because I had shown her what I had been working on last week. She had even made the extra requirement of adding the capability of using web services within Excel - and this really made it extra hard on my part. For the rest of the day, it seemed hard to get anything done at work. My accomplishments seemed to be all for nothing and I started dragging. I even had a dream about unproductive work tonight.

When I do things that my mind is really heavily involved with, I always have this feeling like I shouldn’t be doing it in the way that I am. The problem is, I have a set of requirements that I don’t know how to accomplish otherwise. I know that I had been given this requirement. I guess it would help to sort of make a paper trail of some kind so that I can refer to when the requirement was given.

In other news, I purchased a bucket of Spice Drops.
Spice Drops

A little relaxed

Monday, October 17th, 2005

This morning I had thought that I forgot something as I got into the car. I had my iPod, my badge, the laptop computer, my mobile phone, and of course, my keys. I went ahead into work anyway. I have this habbit that I always feel for my wallet as soon as I get out of the car, get out of my seat, or pass through crowds. (Paranoid?) Anyhow, I immediately felt naked. Ok, not really, but I definately felt like a part of me was missing.

DELL box and Foreign MailI drove home for lunch since I had no money and was starting to fail at holding out until dinner. I arrived, got my wallet, and kissed Angel. I nuked some of the Lean Pockets that she didn’t care for and sat down for part of The Twilight Show on the Sci-Fi channel. As I began to kiss Angel goodbye, a loud knock came at the door. The UPS guy had me sign for a big box from DELL. My nephews birthday package had arrived.

I think I had a good day today. I made a big breakthrough with some coding at work on a task that I wasn’t sure of completing. It was one of those days where your head is in deep thought for the bulk of the day trying to work out some code.

After work I went shopping and was pleased that my shopping cart wasn’t filled to the brim. I stocked up on some extra good food for Angel and I hope that she is pleased. I even got a few of the old things that I used to get for her before we got married. It’s the little things in life that make you feel good. I wasn’t even stressed out shopping. I usually just focus on getting in there and getting back out.

I arrived home and found that I didn’t have much room in my freezer. Angel and I went though a few things. I found a box of fishsticks that were almost gone so I heated them up for dinner. Angel dug into the chicken tenders and we put them on the same pan. I started getting a little jealouse when I started smelling her chicken tenders. I should have gone for a few myself.

I sat down and had dinner while watching the television. I began to wonder if FireFly is available on DVD yet, because I’ve missed just about every show there is. Now that I saw the movie Serenity, I am more interested in seeing the story around it. I still need to look into getting a digital recorder from my cable company because the show comes on before I get home from work.

queen stampsI went through the mail and found that Rowland from DarkCompass had made good on his word and sent me a CD from the UK. There were 5 stamps of a queen in different colors and a post mark from what appeared to be Wales. I don’t know what is more exciting - the CD or the postmarked stamps from a different country. The CD has a few of his earlier podcasts and he also mentioned something about putting a few others on for me to listen to.

Rowland usually records his DarkCompass podcasts during his ride into work on the metro. Just for fun, I found a little program called Scrolling LED Bitmap Generator to create the following animated GIF:

I got a bottle of premixed mudslide and had a small glass. I’m not a big drinker and its been a few months since my last drink. I like the drink, but the problem I have is that the bottle is too big for me. One of the many things I lack is a few local friends to help me with this problem. I wonder how long that bottle will be setting at the bottom of the fridge this time. Anyhow, if you are in the Northern Virginia area, at least 21 years of age, and wouldn’t mind helping me out one evening, send me an email.

From there I found one of our cat toys as I was hiding the big box from DELL into one of the rooms downstairs. We lack cat toys with feathers on sticks. This one even had a bell on it. I played with Skyler, Prince and October for a while and then brought it up to Bandit. October watched from the corner of Angels bed and growled as I played with the little kitten. Bandit had a blast. Octobers finally got so mad that he walked out of the room. Skyler sat under the dresser and Prince walked back and forth keeping his eyes on the prize. I gave in and let those two play with it when I was done with Bandit.

Using SOAP in Excel

Monday, October 17th, 2005

Ok, I feel like a million bucks rite now. A few weeks ago (or was it months?), I figured out how to use SOAP on web pages using JavaScript within both Microsoft Internet Explorer and Firefox. The use of communicating back and forth with a webserver and a web browser using XML and JavaScript is known as AJAX - Asychrounouse JavaScript and Xml. SOAP is another layer known as Simple Object Access Protocall written in XML and transferred through objects such as XmlHttp.

I figured out how to use SOAP with JavaScript a while back. This knowledge aided me to do the basics of communicating with my web services with Excel. This time I got the client working a bit better with how the message is formed and how I am able to parse data as it comes back. You got to love XML for making things easy on us programmers.

Anyhow, I had to scratch my head for a long time. From what I understand, SOAP is built into current versions of Microsoft Excel Applications. I don’t have that luxury so I had to make it backwards compatible. Think of it - most people have to worry about making web pages backwards compatible over multiple web browsers. I have to make macros backwards compatible with multiple versions of the Excel spreadsheet applications. Sheesh!

This is the best that I could come up with so far. I’ve tried to set it up as asynchronouse, but my version of Excel doesn’t support the GetRef method. The best that I could do was calling DoEvents.

    1 ‘ Variables that may help to identify the end-user
    2 ‘Debug.Print Environ(”USERNAME”)
    3 ‘Debug.Print Environ(”USERDOMAIN”)
    4 ‘Debug.Print Environ(”USERDNSDOMAIN”)
    5 ‘Debug.Print Environ(”COMPUTERNAME”)
    6 ‘Debug.Print Application.ProductCode
    7 
    8 Private WebClient As Object
    9 Private m_ActiveXPrefix As String
   10 Private m_ParameterNames() As String
   11 Private m_ParameterValues() As String
   12 Private m_MethodName As String
   13 Private m_XmlNamespace As String
   14 Private m_OnReadystateChange As String
   15 Private m_ParameterCount As Integer
   16 Private m_EndPoint As String
   17 
   18 Private Property Get ActiveXPrefix() As String
   19 If Not m_ActiveXPrefix = “” Then
   20 ActiveXPrefix = m_ActiveXPrefix
   21 Exit Property
   22 End If
   23 Dim Prefixes(4) As String
   24 Prefixes(0) = “Microsoft”
   25 Prefixes(1) = “MSXML”
   26 Prefixes(2) = “MSXML2″
   27 Prefixes(3) = “MSXML3″
   28 Dim test As Object
   29 On Error Resume Next
   30 For Each Prefix In Prefixes
   31 Set test = CreateObject(Prefix & “.XmlHttp”)
   32 If Not Err Then
   33 Set test = CreateObject(Prefix & “.XmlDom”)
   34 If Not Err Then
   35 m_ActiveXPrefix = Prefix
   36 ActiveXPrefix = Prefix
   37 Exit Property
   38 End If
   39 End If
   40 Err.Clear
   41 Next
   42 End Property
   43 
   44 Private Property Get ParameterIndex(name As String) As Integer
   45 For i = 0 To m_ParameterCount
   46 If m_ParameterNames(i) = name Then
   47 ParameterIndex = i
   48 Exit Property
   49 End If
   50 Next
   51 ParameterIndex = -1
   52 End Property
   53 
   54 Public Property Let Parameter(name As String, Value As String)
   55 Dim i As Integer
   56 i = ParameterIndex(name)
   57 If i = -1 Then
   58 AddParameter name, Value
   59 Else
   60 m_ParameterValues(i) = Value
   61 End If
   62 End Property
   63 
   64 Public Property Get Parameter(name As String) As String
   65 Dim i As Integer
   66 i = ParameterIndex(name)
   67 If i = -1 Then
   68 Parameter = “”
   69 Else
   70 Parameter = m_ParameterValues(i)
   71 End If
   72 End Property
   73 
   74 Public Sub AddParameter(name As String, Value As String)
   75 Dim i As Integer
   76 i = m_ParameterCount
   77 m_ParameterCount = m_ParameterCount + 1
   78 ReDim Preserve m_ParameterNames(m_ParameterCount)
   79 ReDim Preserve m_ParameterValues(m_ParameterCount)
   80 m_ParameterNames(i) = name
   81 m_ParameterValues(i) = Value
   82 End Sub
   83 
   84 Public Sub ClearParameters()
   85 ReDim m_ParameterNames(0)
   86 ReDim m_ParameterValues(0)
   87 m_ParameterCount = 0
   88 End Sub
   89 
   90 Public Property Get MethodName() As String
   91 MethodName = m_MethodName
   92 End Property
   93 
   94 Public Property Let MethodName(name As String)
   95 m_MethodName = name
   96 End Property
   97 
   98 Public Property Let XmlNamespace(uri As String)
   99 m_XmlNamespace = uri
  100 End Property
  101 
  102 Public Property Get XmlNamespace() As String
  103 XmlNamespace = m_XmlNamespace
  104 End Property
  105 
  106 Public Property Let OnReadystateChange(Method As String)
  107 m_OnReadystateChange = Method
  108 End Property
  109 
  110 Public Property Get OnReadystateChange() As String
  111 OnReadystateChange = m_OnReadystateChange
  112 End Property
  113 
  114 Public Property Get EndPoint() As String
  115 EndPoint = m_EndPoint
  116 End Property
  117 
  118 Public Property Let EndPoint(uri As String)
  119 m_EndPoint = uri
  120 End Property
  121 
  122 Public Function Query(Optional Asynch As Boolean = False) As Object
  123 Dim Envelope As Object
  124 Set Envelope = CreateEnvelope()
  125 WebClient.Open “POST”, Me.EndPoint, Asynch
  126 WebClient.setRequestHeader “SOAPAction”, “”"” & Me.XmlNamespace & Me.MethodName & “”"”
  127 WebClient.setRequestHeader “Content-Type”, “text/xml; charset=utf-8″
  128 WebClient.setRequestHeader “Content-Length”, CStr(Len(Envelope.xml))
  129 ‘Debug.Print Envelope.xml
  130 On Error GoTo ErrorTrap
  131 WebClient.send Envelope.xml
  132 On Error GoTo 0
  133 If Asynch Then
  134 While Not WebClient.readyState = 4
  135 DoEvents
  136 Wend
  137 End If
  138 ‘Debug.Print WebClient.ResponseText
  139 If Envelope.loadXML(WebClient.ResponseText) Then
  140 If Envelope.LastChild.FirstChild.FirstChild.nodeName = “soap:Fault” Then
  141 MsgBox “An error occured while communicating with the server.”
  142 Debug.Print Envelope.LastChild.FirstChild.FirstChild.FirstChild.nextSibling.text
  143 GoTo Reset
  144 End If
  145 Envelope.loadXML Envelope.LastChild.FirstChild.FirstChild.FirstChild.xml
  146 Set Query = Envelope
  147 End If
  148 GoTo Reset
  149 ErrorTrap:
  150 MsgBox Err.Description
  151 Reset:
  152 Me.ClearParameters
  153 End Function
  154 
  155 Private Function CreateEnvelope() As Object
  156 Dim Soap As Object
  157 Dim Envelope As Object
  158 Dim Body As Object
  159 Dim Method As Object
  160 Dim ParameterNode As Object
  161 Set Soap = CreateObject(ActiveXPrefix & “.XmlDom”)
  162 Soap.async = False
  163 Soap.appendChild (Soap.createProcessingInstruction(“xml”, “version=”"1.0″” encoding=”"utf-8″”"))
  164 Set Envelope = Soap.createElement(“soap:Envelope”)
  165 Envelope.setAttribute “xmlns:xsi”, “http://www.w3.org/2001/XMLSchema-instance”
  166 Envelope.setAttribute “xmlns:xsd”, “http://www.w3.org/2001/XMLSchema”
  167 Envelope.setAttribute “xmlns:soap”, “http://schemas.xmlsoap.org/soap/envelope/”
  168 Soap.appendChild Envelope
  169 Set Body = Soap.createElement(“soap:Body”)
  170 Envelope.appendChild Body
  171 Set Method = Soap.createElement(Me.MethodName)
  172 Body.appendChild Method
  173 Method.setAttribute “xmlns”, Me.XmlNamespace
  174 For i = 0 To m_ParameterCount - 1
  175 Set ParameterNode = Soap.createElement(m_ParameterNames(i))
  176 ParameterNode.text = m_ParameterValues(i)
  177 Method.appendChild ParameterNode
  178 Next
  179 Set CreateEnvelope = Soap
  180 End Function
  181 
  182 Private Sub Class_Initialize()
  183 Set WebClient = CreateObject(ActiveXPrefix & “.XmlHttp”)
  184 Me.ClearParameters
  185 End Sub
  186 
  187 Private Sub Class_Terminate()
  188 Set WebClient = Nothing
  189 End Sub

Shrinking SQL Databases

Friday, October 7th, 2005

I have a few hundred database catalogs that I administrate over and found that I was desperately running out of space. I had recently been attempting to shrink my databases using the Auto Shrink wizard that comes with SQL Server. This was doing the job of bringing the file size of my databases down to reasonable levels for a few of my databases. I still had the problem where there was a minimum limit on other databases, even though there was more then 90% of free space allocated.

It appears that I was in the rite place, but I just wasn’t doing everything that I needed to do. The Auto Shrink wizard has another option to shrink individual data and log files rather then the entire catalog as a while. It will allow you to specify the size to shrink the file down to, and indicate the minimum value.

I found that shrinking log files required an extra step. The wizard wasn’t able to detect how large the log file was. I had to go into the database settings and turn off the “Auto Close” property. Once this was done, the wizard was able to detect the logs file size.

The next problem that I ran into was that a minimum size of 0 MB was indicated for some of my log files. When I went along and asked the wizard to shrink the file down to 0MB, it told me that the file was truncated, but hadn’t actually done anything. I had more luck when specifying a minimum value of 1 MB for these log files.

I would find that the log file would only shrink down to a minimum size of 25 MB at times. I got around this by turning on “Auto Shrink” and “Auto Close” in my settings. I also set the recovery model to “Simple”. I closed my connection to the database itself and reconnected to find that the transaction log file was able to shrink itself on its own.

With all of these steps, the process can be time consuming. It gets worse with the larger databases as you are left there setting and waiting without an indication of how long the process will take. I may look into automating this process in my spare time.

Note: I realize that putting my databases into a simple recovery model hinders my recovery options. This is not a problem since most databases I am managing are not data-critical production databases. However, if you are in an environment working with live databases, then please backup your databases first before following these steps and do not change your recovery model to the simple recovery model as I have done.