 Search
 Recent Articles
 Recent Comments
NOTE:
Please create a "reader account"! At present you can post comments anonymously but I may have to turn that feature off if comment spam gets out of control.
I reserve the right to delete offensive comments or spam, and ban repeat offenders.
 Recent Photos
 Month Archive
 Yearly Archives
 Topics
 About the Author
Hello and thanks for visiting my blog.
My name is Chuck and I'm a 40-ish yankee liberal. I am an Atheist Humanist, registered Democrat, bird watcher, music and poetry lover, collector of various things (currently license plates), and owner of a gorgeous 2003 PT Cruiser GT which I have nicknamed "Vanessa".
Most importantly I am a husband to my wonderful wife Patty and a father to my amazing kid Lynnea.
Hope you enjoy yourself while you are here!
Who Links Here
 BADGES AND DOODADS
RSS Newsfeeds

Main Page RSS
 Blogroll
 Interesting Articles I've Read
|
Wednesday, February 28

CAT Scan Results
by
Abacquer
on Wed 28 Feb 2007 10:48 AM EST
Well my doctor just called with the results of my CAT Scan. There is a lot of scar tissue on my lung now, and what appears to be a 3 cm abcess at the base of it. The doc says the abcess shows signs of "infiltrate" meaning that it appears to contain or be surrounded by infection. The radiologist has suggested as a saftey precaution that I be given a test for tuberculosis. My doctor thinks it is extremely unlikely that I have tuberculosis but we're going to do a test anyway just to make sure. So I'm going to run in to the doctor's office now to have that done. It will take two days to determine the results of that.
A matter of concern is the fact that I still have some infection in my lung, and what to do about it. After 24 days on the antibiotic, if it was going to wipe out the infection, I would think that would already have done so. My doctor says she is going to share my CAT Scan results and information with a pulmonologist and see if he recommends any change in my treatment, like perhaps a different sort of medicine. My doctor is glad to hear that I haven't had a fever in almost two weeks, and says that if I weren't feeling better, she would generally hospitalize someone with this sort of injury.
So far nobody has repeated the idea of sticking giant needles in my side to drain out infected fluid, and I hope nobody does. That prospect still terrifies me. I sincerely hope that if that has to happen, I can be sedated for it.
Getting nervy over here. Jesus will this thing ever just go away?
Monday, February 26

Damn, I Want French Fries
by
Abacquer
on Mon 26 Feb 2007 03:47 PM EST
You may recall my New Years resolutions for this year which I posted on New Years Day. The basic thrust was:
From this point forward - no McDonalds, no Wendy's, no Burger King. And nothing fat fried like french fries or fried chicken. I may make an exception for the occasional chinese dinner, but otherwise, no exceptions.
So far so good, I've stuck to the resolution, but man! Am I ever craving french fries. Every single time I think of them my mouth starts watering and I lust for that salty, greasy, fried goodness. I'm not missing the burgers at all. But man do I want fries.
So the other day, after coming home from The Butterfly Place I quickly ate a chicken stir-fry sandwich from D'Angelo before going to bed and sleeping for a couple hours (and dreaming about french fries, btw). Then my wife woke me up around 5 PM, and asked what I had eaten for lunch. I told her about my sandwich and she said "is that it?" I said "Yeah, basically. I also drank a bottle of strawberry/kiwi juice and ate a small bag of baked Lays potato chips." (Note: I hate baked Lays, but they aren't as bad for you as regular chips, so I eat them instead.) Then my wife asked the big question:
"So what's that bowl of fries downstairs?"
I knew my wife had eaten at the Olive Garden for lunch, and I know how much she likes to pull my leg, so I said "what the fries you brought home from Olive Garden?" She swore up and down that she didn't bring any fries home and continued to give me a playful look that said you cheated on your resolution, dintcha? "I don't know what you are talking about," was all I could say, but my wife didn't buy it. Eventually she went back downstairs so I got up and went to my daughter's room to talk with her.
"Neya, honey, did Mommy bring home french fries from the Olive Garden?" My kid knew nothing about it, and said that there were no french fries downstairs. Now I was certain my wife was really having me on in some way, so I decided to go see for myself.
She came into the hall laughing as I was descending the stairs. "Those weren't french fries." I didn't know what to say to that and then she went on to explain she had peeled and sliced up an apple for Lynnea that morning, Lynnea had transferred the apple slices to a bowl and had eaten only a portion of it before leaving the bowl on the kitchen counter for somebody else to clean. While we were out the apple slices had browned as apples do, and when my wife next saw them, they looked very much like fries. 
And inside my tummy cried a little. There were no french fries in the kitchen. Gone was even the possibility that I might give in to my cravings and nick a few of the fries. 
Damn. I want french fries. With salt and pepper and ketchup. Or maybe just with pepper. Mmmm.

Going Back In...
by
Abacquer
on Mon 26 Feb 2007 09:29 AM EST
Well today is the first day I'm going to try working at the office. I could continue to work from home, but I am going a little stir crazy being cooped up here all day every day. If things don't work out, I'll come back home. So don't worry, I'm not going to "push it".
I did a trial run yesterday by driving out to Westford and visiting The Butterfly Place with my family. (We went in separate cars, just in case I needed to leave early.) The Butterfly Place is a butterfly conservatory like Magic Wings out in Deerfield which we visited back in May of 2006. By way of a review let me say the two places really don't compare. Magic Wings is much bigger, nicer, and offers far more attractions than The Butterfly Place. If you don't mind the trip to Deerfield (which takes like, forever, at least from here) it's definitely the superior of the two. If however you live right around Westford and want to spend an 30 minutes to an hour with the kids looking at live butterflies, The Butterfly Place makes a nice local alternative. I took a few pictures which I will upload at some point.
After about 90 minutes at The Butterfly Place, I was exhausted, so I said goodbye to my wife, kid, and in-laws, and drove back home. Whereupon I immediately went to bed and slept for a couple hours. But that was a lot of walking around in an extremely hot room (80 degrees+). I think just sitting at my desk at work will be better. We'll see.
No results from the CAT scan yet. I'll call my doctor today to find out what that showed.

The IRS Wants a Piece of Your eBay Earnings
by
Abacquer
on Mon 26 Feb 2007 08:36 AM EST
It's been years since I sold anything on eBay, and when I was selling, I made a pittance. But some folks make their living via eBay, and the IRS knows it. Unlike full time employment, there are no W-2's from eBay, and it is not up to eBay to report your earnings. Yet...
According to an article on ars Technica, the IRS is attempting to force eBay to submit documentation to the IRS on the yearly earnings of it's sellers. eBay for its part is resisting at present, by rightly pointing out that there are many online auction/sales houses, and if eBay is singled out, the customers will simply go elsewhere.
So a word to eBay sellers out there... if you aren't reporting your earnings, you might want to start.
Friday, February 23

I'm Back!
by
Abacquer
on Fri 23 Feb 2007 12:36 PM EST
I'm happy to say that this time my CAT scan went quick and easy and with it behind me I am feeling a lot better. The last time I had a chest CAT scan done there was an incredibly long delay while I was laying on the platform. And the last time, they were unable to find a vein in either of my arms or my right hand (ouch!) and could not administer the special dye that they use for doing a second "contrast" scan.
This time the technician had no trouble finding a vein, and got the IV into me before the scan began with no trouble at all. I also think that they have since acquired newer equipment because this time the scan went very quickly indeed. I think the entire thing was done in about 10 to 12 minutes.
If you've never had one, basically they have you lie on a platform in front of what resembles a giant donut. For me they put pillows behind my head and a foam wedge under my knees. And for a chest scan, they like to have your arms out of the picture, so they had me put my left arm behind my head and my right arm (the one with the IV) they just had me hold up in the air and rest against the donut. Here's a picture of the scanner they used on me (a Toshiba Aquilion 16):

Inside the donut are x-ray cameras on some sort of track that allows them to (noisily) whirl around the inside of the donut at high speed and take a 3 dimensional "slice" image of your body. The platform is on a motorized track that allows it to slide back and forth through the donut while the cameras take the pictures. For a chest CT, they slide you in all the way up to your chin. This can be a little alarming if you don't like enclosed spaces. I just closed my eyes and didn't think about it.
Then, when the machine is ready to take pictures, it talks to you. Now, take a breath, and hold it. And then the platform moves a bit. Now, breathe normally. The last time I had a CT, this process took about 20 minutes for the first scan only, and the platform would inch along, and then stop a few seconds so the machine could tell me to breathe normally and then take another breath and hold it. This time the scan was literally over less than a minute after it began and the machine only asked me to hold my breath once.
Then the technician returned to inject the dye into the IV. The IV tube's contents was colorless... I couldn't see the dye, but I'm sure it showed up on the x-rays. The technician warned that people react in different ways to the dye, but the most common reaction was a feeling of heat as the dye moved through the circulatory system. He told me that whatever symptoms I felt I should just speak into the air and let him and the other technicians know.
After the platform repositioned itself, I began to feel extremely warm in my temples. Nowhere else, just my temples. They felt very hot like I had a fever or had just run around the block and winded myself. So I said "I'm starting to feel hot." A disembodied female voice came through some sort of intercom in the room and said "That's okay, that's normal. It should pass soon."
Then the second scan began. If anything it was shorter than the first, and this time the machine only spoke to me once. It said: Now, breathe normally. Which was a little baffling because it had never asked me to hold my breath in the first place. Then the technician came back in and said "You're done." He removed the IV and put a bandage over the spot, and told me to take my time getting up and getting my gear on, and offered me a cup of cold water. Which I was definitely in the mood for, since you're not allowed to eat or drink anything for 3 hours before the exam.
He told me that my doctor should have the results within 3-4 days or much sooner if anything serious is found. So that's it. I thanked the technician and complimented him on his bedside manner and the ease with which he made me feel comfortable and reassured, and then I was outta there.
I'm back home now and my lung is hurting. I'm finding that it feels good when I first wake up but as the day wears on it gets more and more sore. Hopefully that will go away soon. I'll be calling my doctor on Monday to see if she has the results, and to see what she wants me to do next. It's day 19 of the antibiotics and I have 11 days left. It would be wonderful to not have to keep taking that moxifloxacin quinolone.

Time to Go...
by
Abacquer
on Fri 23 Feb 2007 09:47 AM EST
Well I'm off to the hospital for my CAT scan. Thanks for the warning James, I was having trouble figuring out which of my cats to bring.
Still pretty nervy, but I'm sure everything will probably go fine. Wish me luck!
Thursday, February 22

Communication Levels -- Typical
by
Abacquer
on Thu 22 Feb 2007 03:05 PM EST
So I'm lying in bed working on this little internal project, when at about 1:47 PM I receive a meeting invite for 2:00 PM. The invite is from someone I don't know (let's call him Chester) who works out of our Arizona office. The e-mail says "Hi, this will be the introduction to Thingamabob. We will set up the phone bridge to conference in the Burlington and Westford offices. Please have NetMeeting running on your machine so you can follow along."
I'm convalescing from home of course, working from bed, and I am not in either the Burlington or the Westford office. I quickly run back through my e-mails for the last few weeks. Nope I've not gotten anything from Chester before, or anything about "Thingamabob". I also don't know if I can get NetMeeting up and running properly while remotely connected to the office LAN (in the next 13 minutes). I've never really used it before. So I send Chester an e-mail which says: "Who are you and why am I being invited to this meeting? Are you aware I am at home convalescing from pneumonia? I am not sure I can get NetMeeting up and running, can you send me your slides so I can follow along on my own? Here is my cell phone number to conference me in..."
A few minutes later I get an apologetic phone call from Chester. Apparently someone thought I would be good as a consultant-type resource on his new project. He knows I am home sick which is why I am not assigned as a full time resource. Basically I'd be available as a "floater". I would review the GUI spec and make comments and suggestions, and also research stuff for the team, or be a sounding board for GUI ideas. It's part time but at least it is billable. Chester is shocked to learn that nobody bothered to notify me that I was going to be on a new project today, or bothered to send me any project materials so I could read up on it. He's shocked, but I'm not. This level of communication (that is to say none) is very typical at my company. But then Chester goes on to say that the phone bridge can only conference in two locations at once, so they can't conference me in. So I'm not going to be attending the Thingamabob project introduction meeting after all. Even less communication. Great. I told the PM that I would be happy to help out on his project in any way I could, and could he please see to it that I am sent some project documentation?
A few minutes later I get an e-mail from the tech lead on the project, a guy I've worked with before. He says "Frank said you might be a GUI consult resource for the Thingamabob project. Tony and I are the officially assigned developers. I am just checking in with you to see if anyone has talked to you about this. I have not been copying you on documents."
To which my basic response is Frank Who? And no, nobody has told me anything. I know a couple guys named Frank, and one of them is a guy I talk to every day and who jokingly says to me every now and then that I should consult out on MFC GUI's since I was now an 'MFC expert'. He says that to get my goat because he knows I hate MFC and would rather boil in oil than work on another MFC GUI. The other Frank is a manager that I have never worked for and haven't spoken to in almost a year because he's always out on travel. Turns out that it was the latter Frank, and I have no e-mails from him about Thingamabob. Typical. 
I swear someday I'm going to arrive at work and find a half-naked clown holding forceps and a turkey baster in my cube and he's going to say "I'm sure you've been expecting me. Your boss said that we could get this done today. Let's get started shall we?" I will not be surprised.
In other news my CAT scan is tomorrow morning at 10:30 AM. I'm pretty nervous about it. I don't like those things.
Tuesday, February 20

Shaken Up
by
Abacquer
on Tue 20 Feb 2007 01:18 PM EST
And yesterday I was feeling so much better about my condition. I just got back from my doctor's appointment.
Although I have improved, I'm clearly not 100% better yet, so she's extending the antibiotics for another 10 days and has scheduled me for a chest CAT scan on Friday.
The xrays revealed cavitary lesions at the base of my left lung, and possibly a fluid-filled cyst. Doc says it may just go away on its own or I may have to have it dealt with surgically. Needless to say that scares the crap out of me. She said the likelihood that I would need such a procedure is very low. I hope she's right.
In the meantime she recommends I do deep breathing (even though it is painful) to stretch out the lung and try to keep it from bunching up as the scar tissue forms. I'm pretty shaken up right now as well as exhausted from the running around, so I'm going to bed.
Monday, February 19

I'll Say!
by
Abacquer
on Mon 19 Feb 2007 11:31 AM EST
When I tell people I have pneumonia a lot of times they say to me "wow, that really takes a lot out of you." They aren't kidding. You lose your strength, your respiratory capacity, and your stamina. Then this morning I stepped on the scale and noted that over the last two weeks I've lost 20 pounds. Guess pneumonia really does take something out of you... in my case, about 8% of my body mass!
I went back to the hospital for a new set of x-rays today. My doc will check those out and we'll talk about where I am during my appointment tomorrow. I really hope the bug is gone or almost gone, as I have only 5 days of antibiotic left. This trip to the hospital was much better than the last one. I had more strength and less pain this time.
Last time was really bad. When we finally made it in the door Patty asked me if I wanted a wheelchair, but male pride caused me to say "no way." Then after checkin we began the long walk to radiology. I had to keep stopping to rest, or to cough up bloody gunk, and my side hurt something fierce. And by the time we finally got there I said "okay... I'm ready for the wheelchair." I went in and had the x-rays and then they transferred me into a wheelchair. By this time I was fading fast... my eyes were half open and I was sort of swimming in and out of consciousness. Eventually the lady who took the x-rays came back and said "honey we need you to stay here for a bit, we're trying to get your doctor on the phone." I just laughed and said "that bad, huh?"
After some amount of time they said we could go and Patty wheeled me to the pharmacy where they filled the prescriptions. I remember feeling immensely grateful that I didn't have to walk all the way back... the male pride had evaporated, apparently having taken a shot in the chones from my illness. And when we got home I went to bed and fell asleep immediately.
This time was much better. I was able to walk all the way to the radiology area with no significant trouble except a little heavy breathing. And after the x-rays the technician just came out and said, "okay you're all set, have a nice day." And I walked out under my own power... male pride restored.
Now I'm back home and believe me, I am pooped from the trip, but definitely not completely wasted like last time. I'm on the mend. 
Sunday, February 18

Weelanders Show How Evolution Leads to Extinction
by
Abacquer
on Sun 18 Feb 2007 10:12 PM EST
Okay this is going to be a lengthy article with a lot of graphics, so I am going to use an excerpt today. Basically it's a summary of the first run of my Genetic Factoring sim, and how it demonstrates that evolution can lead to extinction. It also includes a summary of the most efficient (and robust) genome to be generated by random mutation and natural selection, and how it compares to the original genome. Let's begin with a graph... more »

Genetic Factoring -- Weelanders Run Amok
by
Abacquer
on Sun 18 Feb 2007 10:00 AM EST
I'm sure you remember the Weelanders... artificial life forms which lived on a grid and helped demonstrate that evolution through random mutation causes natural selection to kick in something fierce. At the time I originally ran tests with the Weelanders, I hypothesized that the Weelander concept could be adapted to do more than just demonstrate natural selection.
And, a few months ago, I did just that. I built a new version of the Genome application called "GeneticFactoring", and stripped out a ton of Weelander support code. I wanted to make Weelanders that factored numbers and then reproduced based on how successful they were at factoring. As a result they didn't need to search for and consume food, they didn't need sexual reproduction, they didn't need the ability to move, heck they didn't need chromosomes in pairs, as a result, all of the "critter emulation" code was unnecessary, resulting in a simpler Weelander support system.
What they did need was the ability to compute square roots, find primes, and factor numbers... this was the new code that needed to be added, and it was all going to be written in the native Weelander instruction set. It took me awhile to code the genome "Facto-f", but eventually I had it working. Then I modified the container and world code to invoke the Weelander factoring code in the following manner:
- Populate: at the beginning of time, populate the grid so that it is completely full of the starting Weelander genome "f".
- Setup: build a list of 50 numbers to factor, then factor each number using internal container code and store the results.
- Execute:
- for each critter on the grid
- run through the 50 numbers
- call the Weelander's Execute method and pass it the number to factor.
- The Weelander factors the number and returns the results.
- If the Weelander goes into an infinite loop without returning results, terminate it.
- Otherwise, compare the Weelander's results to the original results.
- If they do not match, terminate the Weelander for inaccuracy.
- If they do match, note how many execution steps the Weelander needed to compute the result, and proceed to the next number.
- Once all the numbers have been factored, compute an efficiency value for this critter (total number of steps divided by total number of tests).
- Proceed to the next critter and repeat.
- Cull: examine all the living critters on the grid and gather the top ten percent based on efficiency, and terminate all the others.
- Repopulate: for the most efficient critters, allow each one to reproduce asexually (possibly with mutation). If after processing them all, the grid is not filled, go back and run through them again. Keep doing this until the grid is filled.
- Loop: Jump to step 3.
An immediate problem which cropped up was that Weelanders would mutate in ways that made them faster at factoring this specific set of test numbers. So if by random chance, none of the test numbers was a multiple of say, 7, the Weelanders might make themselves faster by throwing away the "divide by 7" test somehow. Which is great until you hand them a multiple of 7 at which point they die from inaccuracy.
I solved this problem somewhat by changing step 6 to jump to step 2 instead of 3. Thus on each "tick" of the world, a new set of test numbers would be created and then all the Weelanders would be tested against that set. Makes sense really, and automatically weeds out Weelanders that made the grade last tick by "cheating". I improved this further by making the first 10 test numbers a fixed set that didn't change and which exercised a lot of the conditions I wanted to make sure were covered. The remaining 40 were random.
But another problem appeared, one that completely flummoxed me because the system appeared to drift toward less efficient creatures over time, instead of more efficient ones. How could that be possible? Natural selection should continue to hold true, and the creatures should be *more* efficient over time, not less efficient.
But nothing prepared me for the worst problem at all... hardware. My computer, wonderful though it is, is experiencing a hardware problem. The cooling system is no longer operating, or not operating well. As a result, any operation that pins the CPU usage at 100% for a period longer than 10 minutes or so will cause an audible heat warning alarm to begin issuing. It's an alternating two-tone klaxon which doesn't come from the computer speakers, it comes from somewhere inside the computer case. And it is, needless to say, very alarming. I like my CPU. I don't want to cook it.
Needless to say factoring numbers is CPU/FPU intensive. And I've got 230 Weelanders factoring 50 numbers each, over and over, ad infinitum. After 10 minutes or so of runtime, the CPU gets too hot, and I have to shut the simulation down or risk damaging my computer. This problem cropped up immediately after building the new GeneticFactoring code and caused me to terminate the experiment permanently months ago.
Then last night I broke the code out again and tried to figure out a way to get it to execute without pan-searing my CPU. Eventually I came up with a rather simple solution. The simulation executes for 20 ticks, pinning the CPU at 100% for about 60-90 seconds. Then the simulation pauses, basically issuing a call to Thread.sleep for sixty seconds of downtime. This drops CPU consumption to 0% or close to 0% for a minute, giving the CPU a chance to cool. Resulting in a usage pattern like this:

I'm happy to say that having made this change I've been running the simulation for 3 hours with no overheat alarms. At this point I feel safe walking away from the computer and letting it process the simulation.
Regarding the other problem, the problem of the population drifting toward inefficiency, I also managed to solve that. I observed the changes to the Weelander genome over time. After awhile I began to observe what I thought was the culprit. Creatures weren't being selected based on their efficiency at factoring *all* numbers, just the 50 test numbers they had to factor.
So let's say a mutant does something weird like tests factors out of order... instead of 2, 3, 5, 7, 11 it goes 5, 3, 2, 7, 11. It's still accurate, but it tests a different factor first. If more of the numbers in the test set are multiples of 5 than 3, and more are multiples of 3 than 2, then this critter will in the end rate more efficient than the basic Facto-f genome, which is suitable for factoring any value. As a result, genomes which aren't really more efficient at factoring any value, get selected ahead of the f genome, and over time, this exterminates the f genome. After which the population becomes less efficient over time as more and more test sets are produced.
That was my hypothesis anyway. To solve the problem, I decided to artificially inject the original genome into the list of critters during the repopulate stage, thus if the population ever drifted away from efficiency, there would always be some number of the original genome to tug it back. Basically I grab my ten percent most efficient, and then tack 10 copies of the original genome to that list before I repopulate. This makes sense since natural selection is only concerned about the environment you are in (i.e. the 50 numbers you happened to test) as opposed to my overall goal (more efficient factoring of ANY number.) Now the top ten percent must always compete with the baseline. If they drift away, the baseline will win and it will get selected for repopulation instead. The only way to stay alive is to consistently beat the baseline.
Makes sense doesn't it? Yes, yes, I know, brilliant.
It was right about that time I noticed that the code that was selecting genomes for propagation was selecting the least efficient ones instead of the most efficient ones. Y'know, it takes a special kind of mind to come up with a brilliant explanation like the one above and still be completely wrong. Needless to say selecting the least efficient members of the population will uh, tend to make the population drift toward inefficiency. It's amazing what happens to the code when you say "greater than" but you meant to say "less than". > versus <, baby... classic coding error.
Nonetheless, although the effect I hypothesized was ultimately not to blame for the drift, I still think the effect could occur, so I decided to keep the "baseline infusion" code in place.
So the factoring Weelanders are back in action, and I'm interested to see what they will do to become more efficient at factoring. There are a lot of simple things I can think of that would lead to slightly more efficient code, but the Weelanders are always surprising me.
What I can tell you is that given a test sample, the Facto-f genome generally requires (on average) 1500 to 2200 execution steps per number. After running the simulation for 3 hours, the top genomes are showing efficiencies on the order of 500 to 600 execution steps per number. Ok I'm impressed. Especially when you consider that these Weelanders have to produce accurate results to survive. If they fail any single factoring test, they're gone.
I'm going to let the sim run for awhile longer and then take a peek at these efficient Weelanders. I wonder what they are doing?
|