My greyhound can run faster than your honor student.
Monday, February 28, 2005
Saturday, February 26, 2005
I
-Brad out.
Friday, February 25, 2005
I am modeling my intake somewhat on the Atkins and South Beach diets, but not going crazy on the saturated fats. Eggs once a week. Just a little bit of cheese at a time.
My intention is to make this a permanent change in my eating habits, not just a sprint to drop 20 pounds and then start eating Ho Ho's, ice cream, and crap until the 20 pounds goes back on. That is not a healthy cycle to fall into.
The soy protein powder is especially important to me. In the morning I am not usually hungry (I think because of the glycogen that is released from the liver into the blood while you sleep.) A lot of times I would therefore just run out of the house without breakfast. After an hour or so at work the glycogen gets burned up and I am starving. This leads to eating things I shouldn't. Donuts in the break room. Chocolates that they keep in the Impact Fee department. Stuff like that.
For the past month I force myself in the morning to mix three scoops of protein powder with 16 ounces of water and six packs of Equal sweetener in the blender. I knock that back and I don't even think about food until between 11:00 am and 11:30 am. Then I will have a couple handfuls of low salt almonds from Trader Joes and a glass of water. That holds me until about 1:00 pm when I stick a frozen meal in the microwave. Around 3:00 pm I start getting a little hungry again and I will have another couple handfuls of almonds. That has been my habit for the last month, and it is pretty easy to stick to.
On the weekends we have made a meal on a batch of guacamole, low carb tortilla chips, and some shredded cheese to make a few nachos out of under the broiler. That is satisfying and feels indulgent, but is very healthy. It feels like party food when we watch movies. (Avocados are one of the best foods you can put in your body. The oils they contain lower your cholesterol, lower your blood pressure, fight certain kinds of cancer, especially colon cancer, and help your skin. They also have more potassium than bananas and have a ton of fiber. Don't feel bad about the calories if they are displacing other unhealthy fats and calories from your diet.)
It is a danger time if I come home from work in the evening and I am starving. That is when I am most likely to go on a rampage through the fridge. On those days I force myself to make up another 16 ounce protein shake and wait a few minutes until that settles in. Then I am better able to make healthy food choices rather than eating things I will regret.
Thursday, February 24, 2005
I wanted to forward this to you so you can see what an outstanding job you did with the ### report. We went from over 7,000 vulnerabilities to just over 1,000 as a result of your work. That is what one would call great work! I think the scan should continue to decrease in number, but if you could work on these vulnerabilities over the next week, I'd appreciate it. We look the best of all cities at this time by far, thanks to your efforts.
When each point is collected, the field person will also enter into the GPS unit:
- each pipe that enters that structure
- how many inches in diameter each pipe is
- which compass direction each pipe is heading
As the data comes back into the office I need to connect the structures to represent the pipes. This code will put the pipe measurements around the point on the screen in the approximate compass heading. It will look something like this:
48 - -
- · -
- - 48
In this example there is a 48" pipe coming into the structure on the NW side and the SE side. The dot in the middle represents the GPS location of the surveyed feature.This visual representation will make it easier for me to validate the accuracy of the data.
The end result of all this will be a network showing how the stormwater is drained out of the county. It is an EPA requirment. In case of a chemical accident they will use this information to see which areas downstream are at risk, and as a diagnostic tool to find out the source of the spill.
Here is the code:
option explicit
Function FindLabel ([Pipe1Size], [Pipe1Dir], [Pipe2Size], [Pipe2Dir], _
[Pipe3Size], [Pipe3Dir], [Pipe4Size], [Pipe4Dir], [Pipe5Size], [Pipe5Dir],_
[Pipe6Size], [Pipe6Dir], [Pipe7Size], [Pipe7Dir], [Pipe8Size], [Pipe8Dir])
dim N, NE, E, SE, S, SW, W, NW, PipeDir, PipeSize
N = "-"
NE = "-"
E = "-"
SE = "-"
S = "-"
SW = "-"
W = "-"
NW = "-"
PipeDir = [Pipe1Dir]
PipeSize = [Pipe1Size]
if PipeDir >23 and PipeDir <= 68 then
NE = AssignValue(PipeSize, NE)
elseif PipeDir >68 and PipeDir <= 113 then
E = AssignValue(PipeSize, E)
elseif PipeDir >113 and PipeDir <= 158 then
SE = AssignValue(PipeSize, SE)
elseif PipeDir >158 and PipeDir <= 203 then
S = AssignValue(PipeSize, S)
elseif PipeDir >203 and PipeDir <= 248 then
SW = AssignValue(PipeSize, SW)
elseif PipeDir >248 and PipeDir <= 293 then
W = AssignValue(PipeSize, W)
elseif PipeDir >293 and PipeDir <= 338 then
NW = AssignValue(PipeSize, NW)
elseif PipeDir >338 and PipeDir <= 360 or PipeDir >= 0 and PipeDir <= 23 then
N = AssignValue(PipeSize, N)
end if
PipeDir = [Pipe2Dir]
PipeSize = [Pipe2Size]
if PipeDir >23 and PipeDir <= 68 then
NE = AssignValue(PipeSize, NE)
elseif PipeDir >68 and PipeDir <= 113 then
E = AssignValue(PipeSize, E)
elseif PipeDir >113 and PipeDir <= 158 then
SE = AssignValue(PipeSize, SE)
elseif PipeDir >158 and PipeDir <= 203 then
S = AssignValue(PipeSize, S)
elseif PipeDir >203 and PipeDir <= 248 then
SW = AssignValue(PipeSize, SW)
elseif PipeDir >248 and PipeDir <= 293 then
W = AssignValue(PipeSize, W)
elseif PipeDir >293 and PipeDir <= 338 then
NW = AssignValue(PipeSize, NW)
elseif PipeDir >338 and PipeDir <= 360 or PipeDir >= 0 and PipeDir <= 23 then
N = AssignValue(PipeSize, N)
end if
PipeDir = [Pipe3Dir]
PipeSize = [Pipe3Size]
if PipeDir >23 and PipeDir <= 68 then
NE = AssignValue(PipeSize, NE)
elseif PipeDir >68 and PipeDir <= 113 then
E = AssignValue(PipeSize, E)
elseif PipeDir >113 and PipeDir <= 158 then
SE = AssignValue(PipeSize, SE)
elseif PipeDir >158 and PipeDir <= 203 then
S = AssignValue(PipeSize, S)
elseif PipeDir >203 and PipeDir <= 248 then
SW = AssignValue(PipeSize, SW)
elseif PipeDir >248 and PipeDir <= 293 then
W = AssignValue(PipeSize, W)
elseif PipeDir >293 and PipeDir <= 338 then
NW = AssignValue(PipeSize, NW)
elseif PipeDir >338 and PipeDir <= 360 or PipeDir >= 0 and PipeDir <= 23 then
N = AssignValue(PipeSize, N)
end if
PipeDir = [Pipe4Dir]
PipeSize = [Pipe4Size]
if PipeDir >23 and PipeDir <= 68 then
NE = AssignValue(PipeSize, NE)
elseif PipeDir >68 and PipeDir <= 113 then
E = AssignValue(PipeSize, E)
elseif PipeDir >113 and PipeDir <= 158 then
SE = AssignValue(PipeSize, SE)
elseif PipeDir >158 and PipeDir <= 203 then
S = AssignValue(PipeSize, S)
elseif PipeDir >203 and PipeDir <= 248 then
SW = AssignValue(PipeSize, SW)
elseif PipeDir >248 and PipeDir <= 293 then
W = AssignValue(PipeSize, W)
elseif PipeDir >293 and PipeDir <= 338 then
NW = AssignValue(PipeSize, NW)
elseif PipeDir >338 and PipeDir <= 360 or PipeDir >= 0 and PipeDir <= 23 then
N = AssignValue(PipeSize, N)
end if
PipeDir = [Pipe5Dir]
PipeSize = [Pipe5Size]
if PipeDir >23 and PipeDir <= 68 then
NE = AssignValue(PipeSize, NE)
elseif PipeDir >68 and PipeDir <= 113 then
E = AssignValue(PipeSize, E)
elseif PipeDir >113 and PipeDir <= 158 then
SE = AssignValue(PipeSize, SE)
elseif PipeDir >158 and PipeDir <= 203 then
S = AssignValue(PipeSize, S)
elseif PipeDir >203 and PipeDir <= 248 then
SW = AssignValue(PipeSize, SW)
elseif PipeDir >248 and PipeDir <= 293 then
W = AssignValue(PipeSize, W)
elseif PipeDir >293 and PipeDir <= 338 then
NW = AssignValue(PipeSize, NW)
elseif PipeDir >338 and PipeDir <= 360 or PipeDir >= 0 and PipeDir <= 23 then
N = AssignValue(PipeSize, N)
end if
PipeDir = [Pipe6Dir]
PipeSize = [Pipe6Size]
if PipeDir >23 and PipeDir <= 68 then
NE = AssignValue(PipeSize, NE)
elseif PipeDir >68 and PipeDir <= 113 then
E = AssignValue(PipeSize, E)
elseif PipeDir >113 and PipeDir <= 158 then
SE = AssignValue(PipeSize, SE)
elseif PipeDir >158 and PipeDir <= 203 then
S = AssignValue(PipeSize, S)
elseif PipeDir >203 and PipeDir <= 248 then
SW = AssignValue(PipeSize, SW)
elseif PipeDir >248 and PipeDir <= 293 then
W = AssignValue(PipeSize, W)
elseif PipeDir >293 and PipeDir <= 338 then
NW = AssignValue(PipeSize, NW)
elseif PipeDir >338 and PipeDir <= 360 or PipeDir >= 0 and PipeDir <= 23 then
N = AssignValue(PipeSize, N)
end if
PipeDir = [Pipe7Dir]
PipeSize = [Pipe7Size]
if PipeDir >23 and PipeDir <= 68 then
NE = AssignValue(PipeSize, NE)
elseif PipeDir >68 and PipeDir <= 113 then
E = AssignValue(PipeSize, E)
elseif PipeDir >113 and PipeDir <= 158 then
SE = AssignValue(PipeSize, SE)
elseif PipeDir >158 and PipeDir <= 203 then
S = AssignValue(PipeSize, S)
elseif PipeDir >203 and PipeDir <= 248 then
SW = AssignValue(PipeSize, SW)
elseif PipeDir >248 and PipeDir <= 293 then
W = AssignValue(PipeSize, W)
elseif PipeDir >293 and PipeDir <= 338 then
NW = AssignValue(PipeSize, NW)
elseif PipeDir >338 and PipeDir <= 360 or PipeDir >= 0 and PipeDir <= 23 then
N = AssignValue(PipeSize, N)
end if
PipeDir = [Pipe8Dir]
PipeSize = [Pipe8Size]
if PipeDir >23 and PipeDir <= 68 then
NE = AssignValue(PipeSize, NE)
elseif PipeDir >68 and PipeDir <= 113 then
E = AssignValue(PipeSize, E)
elseif PipeDir >113 and PipeDir <= 158 then
SE = AssignValue(PipeSize, SE)
elseif PipeDir >158 and PipeDir <= 203 then
S = AssignValue(PipeSize, S)
elseif PipeDir >203 and PipeDir <= 248 then
SW = AssignValue(PipeSize, SW)
elseif PipeDir >248 and PipeDir <= 293 then
W = AssignValue(PipeSize, W)
elseif PipeDir >293 and PipeDir <= 338 then
NW = AssignValue(PipeSize, NW)
elseif PipeDir >338 and PipeDir <= 360 or PipeDir >= 0 and PipeDir <= 23 then
N = AssignValue(PipeSize, N)
end if
FindLabel = MakeLabel(NE, E, SE, S, SW, W, NW, N)
End Function
' ********** End of main function. Custum functions used above are below.
function MakeLabel (NE, E, SE, S, SW, W, NW, N)
dim Row1Cnt, Row2Cnt, Row3Cnt, MaxLine, _
TopSpace, MidSpace, BottomSpace, TopExtra, BottomExtra
Row1Cnt = len(NW & N & NE)
Row2Cnt = len(W & E)
Row3Cnt = len(SW & S & SE)
' If a row has an odd number of characters, this adds an extra space to make it even
if Row1Cnt mod 2 <> 0 and Row1Cnt > 3 then
TopExtra = " "
else TopExtra = ""
end if
if Row3Cnt mod 2 <> 0 and Row3Cnt > 3 then
BottomExtra = " "
else BottomExtra = ""
end if
' The next two if statements finds how long the longest line is
if Row1Cnt > Row2Cnt then
MaxLine = Row1Cnt
else MaxLine = Row2Cnt
end if
if Row3Cnt > MaxLine then
MaxLine = Row3Cnt
end if
' This makes sure that the longest line will have on space between each section
MaxLine = MaxLine + 2
TopSpace = space(int((MaxLine - Row1Cnt)/2))
MidSpace = space(int((MaxLine - Row2Cnt)))
BottomSpace = space(int((MaxLine - Row3Cnt)/2))
MakeLabel = NW & TopSpace & N & TopSpace & TopExtra & NE & vbNewLine & _
W & MidSpace & E & vbNewLine & _
SW & BottomSpace & S & BottomSpace & BottomExtra & SE
end function
' **********
function AssignValue(PipeSize, DirVar)
' If one of the compass point variables already has a value
' assigned to it, this will append the value rather than overwriting
' it. If there is no value it will just write the value over the
' default dash character.
if DirVar = "-" then
AssignValue = PipeSize
else AssignValue = DirVar & "/" & PipeSize
end if
end function
' ********** End of code
Monday, February 21, 2005
Sad
RIP Hunter S. Thompson
Sunday, February 20, 2005
You can go sleep at home tonight if you can get up and walk away
What was your first?
Friday, February 18, 2005
Wednesday, February 16, 2005
Vonage service is $25 per month, and my ISP offers VoIP service for $37 per month. We currently pay MCI about $70 per month for unlimited local and long distance, which includes all taxes and fees.
One of my big concerns is number portability. I know I can transfer our current home telephone number to whichever VoIP provider I choose, but since VoIP providers are not regulated, I am worried that I would not be able to ever move my number from them once they have it.
Monday, February 14, 2005
Sunday, February 13, 2005
I have some Starbucks's Sumatra beans at home so I just made myself an iced Americano to enjoy while I type this.
We have 5 coffee makers:
Krups espresso machine
Stove top espresso maker
12 cup drip
4 cup drip
Senseo
I have been craving chicken salad for about the last two months. Yesterday evening we went to Bobak's. A lot of times they have rotisserie chickens on sale, and last night they were $2.50 each. We bought two and left them on the kitchen counter to cool while we watched The Grudge. After the movie, at about midnight, I de-boned both chickens and made an excellent batch of chicken salad.
I also made another good batch of guacamole last night. I used fresh cilantro, tomato, and onion instead of using the salsa shortcut.
It is supposed to rain all day today in Chicago. I think I am going to back the car out into the driveway so that some of the heavy salt and road grime gets washed away.
The movies we have in right now from our queue are Ray and Friday Night Lights. I am excited about seeing Friday Night Lights.
We don't know what we are going to do with ourselves today.
Saturday, February 12, 2005
Wednesday, February 09, 2005
Tuesday, February 08, 2005
Once it reaches Lemont the salt is offloaded and treated with magnesium chloride and food grade molasses.
After the salt is treated it is loaded back onto the barges until orders are received from the various municipalities. It is then scooped back off of the barges and into the big tractor-trailer dump trucks and delivered.
maps.google.com was just released today. You can use your mouse to drag the map image around on your screen. It caches parts of the map you have already viewed so when you drag that part back into view it just appears. No waiting for the images from the web. This might be my new favorite on-line mapping site.
Monday, February 07, 2005
Rhetorical Question...
Sunday, February 06, 2005
Therefore we just got back from a Super Bowl food run. We got:
very ripe avocadoes for my award winning guacamole
Trader Joe's low carb tortilla chips
shredded chedder to melt on top of a few of the tortilla chips under the broiler
a box of Trader Joe vegetable samosas
That is the "for sure" list. We also got the following to prepare as needed:
Trader Joe's frozen pizza
soy chicken nuggets
We are going to watch Employee of the Month right now, and then switch to the Super Bowl after that.
We watched Sky Captain and the World of Tomorrow last night. The story and acting was not as bad as people said it was going to be. The look and feel of the movie however (I can not state this strongly enough) I LOVED! It was gorgeous. If nothing else, you have to rent it just to see what is possible with film making technology today. I thought the first ten minutes was especially good. The ENTIRE movie, even scenes set in an office, are all done on a blue screen stage. Here is a link to a trailer so you can get an idea. (click on either the large, medium, or small buttons to start the clip) There is also a link to download a free game that I just noticed. I think I will give that a quick try right now.
Saturday, February 05, 2005
Sheri's birthday so far
After about 30 – 45 minutes and a few fat free Pringles Sheri got back in the water and we did laps back and forth and talked until 5 PM.
Then we both got out, toweled off and read magazines pool-side for 30 minutes while we air-dried.
After that we went upstairs, showered and went out to dinner at the Atlanta Bread Company. We started off splitting a wood fired sausage pizza and an iced tea. The pizza was not nearly as good as we anticipated. After that I went back up and got a sandwich/salad combo. I had half of a chicken salad sandwich on 9 grain bread and Sheri had a salad that had field greens, apples wedges, blue cheese, dried cranberries, onions, and a nice dressing. Then we split a cappuccino and an oatmeal cookie and sat in the comfortable chairs by the fireplace, read the paper and talked until I think about 8 PM.
We were more tired out than we thought we were from swimming, so we just hung out in the room, watched TV, and surfed the web. (They have free wireless internet and Sheri brought her laptop.)
While we were watching TV there were loud people in the hallway and in the room next door. At about 11:45 PM after we had turned out the lights they were getting louder, so I called the front desk. The second I hung up the phone (literally) all the talking and door banging stopped. Cool. We both started to drift off.
About an hour later they must have returned from a food run and started up with the loud talking again. I called the front desk and they said the guy went up last time and didn’t hear anything. I told her it was weird that they stopped the second I hung up, but they are back at it again. She apologized and said she would send someone up again. This time I think he caught them because all of a sudden the whole floor is dead silent. Great, but now I am wide-awake, which is why I am making this post. I think Sheri is asleep, but I am not sure. I think I hear deep breathing off and on. I hope my typing isn’t keeping her awake.
We have a great room! I was going to reserve a room from their website for $79, but at the last minute I called their front desk and chit chatted with the woman for a few minutes. I ended up getting the $109 room for only $69. Yeah me! Right now I am sitting in a big recliner by the ceiling to floor length picture window with the curtains fully open typing by the light of the city lights.
The plan for tomorrow is to get up as early as possible and have breakfast downstairs, come back upstairs to open Sheri’s birthday presents, and then go swim for a few more hours before checking out.