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.