Saturday, October 4, 2008
A month ago, my mother was planning to come down and visit us at the end of this month. Drive down in her RV, with the dog.
Two weeks ago today, she called me up to tell me she was sick, and they'd found growths in her lungs and liver.
Things went downhill from there. The growth on her lung was small-cell lung carcinoma. The liver growths were metastatic.
I arrived here yesterday afternoon. She recognized my sister and me, and apologized for not being good company. (She couldn't say much. She wasn't in good shape; her liver and lungs were both swollen, and her diaphragm was caught in the middle. She was on hourly morphine.)
This morning, she was in worse condition. The morning bloodwork showed her potassium level was way up. They put her on various meds to try to bring it back down. The morphine dosage went up, and they moved her to a room where they could put her on cardiac monitoring.
It wasn't enough. Her potassium levels kept going up; her body was breaking down. They could try the meds again, but the next step was dialysis; if the potassium levels didn't go down soon, her heart would go. My sister and I discussed it, and read over her advance directives. She didn't want to be kept alive when she was clearly in a terminal condition. It pretty clearly qualified at this point, so we told the doctors to keep her out of pain.
We kept her company for a while, then went to get some dinner. When we came back, her body was still there, but it was clear that her spirit wasn't. We went down to the chapel; within a few minutes, the nurse called to let us know she was gone.
Thursday, September 25, 2008
But, today, I need to remember someone else.
68 years ago today, my father was born. He was born prematurely on the family farm in North Kennebunkport, Maine (which later split from Kennebunkport and renamed itself Arundel), the 10th of 12 children. Medical care being what it was then and there, they used the oven as an incubator to keep him warm.
He grew up, worked on the farm, and trained as a machinist in the local high school's vo-tech program. He worked as a machinist for a few years in southern Maine until one night when he got a ride with his next-older brother's wife and met her coworker, a young lady who'd just graduated from high school in California and then moved to Maine with her mother.
They got married a few months later, and moved back to California together. Two days after their first anniversary, they had a daughter; they tried to have another child for several years, but it didn't happen quickly; I was conceived on or around my father's thirtieth birthday, almost 7 years into the marriage.
My father wanted out of California by then; they looked into Seattle, but Boeing laid off a bunch of machinists, so they decided to go back to Maine.
The sudden pressures of being near both their families caused stress in the marriage, as did financial issues, and about 10 years after moving back, a divorce finalized the split.
He lived the bachelor life for a while, with temporary duty assignments (he worked as a civilian machinist for the Navy) around the world. After several years of this, he had the opportunity to do a long-term relocation to Guam; he took it and reveled in it.
He never moved back; a heart attack killed him in February 1996, a month before he was to retire.
And so, today, despite everything else going on in my life today, I remember the man who gave me his name. Happy birthday, Dad.
Saturday, September 20, 2008
Thursday, September 11, 2008
Monday, September 1, 2008
An old thing I wrote, which I was reminded of by a conversation this morning. There may be more like this coming.
Envision God as a mountain. There are many well-worn, wide paths up the mountain - these are the well-known religions, their paths made regular by the many feet who follow them up. They may not be the most direct routes, they may not be the fastest routes, but they're obvious and relatively easy, and if you have problems, there's somebody nearby who can help you out.
Some people just go straight along the path their parents led them toward as a child. They go along as if wearing blinders, never considering any side paths or detours. (These tend to complain the loudest that others don't follow the same path. I mean, really, it's right there plain as day, just follow the path, why don't you? What do you mean you're on the other side of the mountain? What mountain? I'm just following a path.)
You can take less-traveled paths. The way isn't always as obvious, there aren't as many people around. Some people consider this an advantage.
There are old paths, overgrown, that nobody goes on anymore. These are the old religions, once dominant but now languishing without worshippers. Some people, making their own paths, find them and use them where they're convenient, then continue on their way when the path doesn't lead where they wish to go anymore. Others try to follow the old paths all the way along.
You can make your own path. It's hard work. There's no guarantee that you won't fall off a cliff. If you fall and hurt yourself, there may not be anybody nearby who can help you. It's even harder if you're trying to cut a new path for other people to follow.
Which paths are right for you will depend on your starting point - which side of the mountain you're on, which paths are nearby. Somebody telling you that their path is absolutely the right one to take won't be of much help if you're on the other side of the mountain altogether.
You can't just mix-and-match paths. If you try to blindly follow directions from separate paths willy-nilly, you're likely to end up walking off a cliff. ("Okay, Buddhism says forward 30 paces. Now Catholicism says turn right and go forward 10 paces...")
And some people look at the mountain and can't understand why on Earth anyone would want to climb that thing in the first place. It's just a mountain, after all.
Saturday, August 23, 2008
I think I've found it. It's simple and effective.
If a health-care practitioner chooses not to provide birth-control services to a patient, they must take financial responsibility for the results.
So, if the patient chooses an abortion, that health-care professional gets to pay for it.
If she chooses to have the child, that health-care professional gets to pay for the pregnancy and labor, and then gets to pay child support. Full support for the child, including schooling, food, shelter...the works.
If she chooses to give the child up for adoption, that health-care professional gets to adopt the child. After all, they're the one who made the choice that it had to be born. They must have wanted that child to be born quite a bit, right?
The people who want this sort of ability to impose these choices on others should have no problems with these rules. After all, it's just putting their money where their mouths are. And it's a much nicer proposal than, say, Swift's original Modest Proposal.
Thursday, August 14, 2008
There's only one problem with it: nobody uses horses anymore. 'Cavalry' means tanks now, or even helicopters. (Nobody uses swords, either.)
But let's take the concept of cavalry, and extend it forward - an elite strike force whose job is to shock the enemy with their sudden blow and then get away before they can retaliate. Sounds like a fighter or fighter-bomber pilot. So let's create the truly modern pentathlon:
- Fighter combat sim. Plenty of them available. Networked for head-to-head combat, round-robin or pool play or what have you.
- Shooting. Service pistol would be best, although they'd probably do the same wimpy air gun as now.
- Orienteering. Here's a map and a compass. Fastest person to reach all the checkpoints wins.
- Running. (As opposed to orienteering; this time, you've got a set course.)
Anyway, treat it like you do now - score each part, use that to determine when everybody starts for the final run.
Wednesday, August 6, 2008
Especially ones that people want to charge money for, but I think we've got enough free ones now as well.
Really. Yes, it's a vaguely interesting introductory project. That doesn't mean you need to try to sell it.
A quick search of the App Store for 'tip' finds 18 items that look to be tip calculators. 4 of them are free. 11 cost $0.99, and 2 cost $1.99.
The last one costs $4.99...and that one is the only one I'd consider paying for. (International Tip Calculator, which includes information on expected tipping practice around the world. Now that is useful information for the world traveler...and if I expected to need it, I'd consider buying it.) In other words, it's not just a quick-and-easy way of calculating 10-20% of a given number.
So, can we find something else to use as our demo project now? (Not Sudoku. We're at 24 of those now. Although the issue there is that about 1/3 of them are free 'lite' versions of another 1/3.)
At least we aren't getting more flashlight apps.
Friday, July 18, 2008
It felt a bit long in spots, and seriously, seriously creepy. I feel sorry for whoever plays Joker next - Ledger is just incredible. Plays it in a completely different way than Nicholson did; Nicholson wanted to wreak havoc in a funny way, but Ledger wants to show the insanity lurking inside everyone. Just thinking back at some of his actions makes your skin crawl.
Best line: "Wanna see a magic trick?"
And that's all I'll say.
Monday, July 14, 2008
I start off with yoga, doing three poses (6 minutes). Then strength training, usually the three exercises that 'match' the yoga poses I did (4-6 minutes).
Aerobics is where most of my time goes. Basic step, because advanced annoys me (3 minutes), and rhythm boxing - just unlocked expert, which is good for 13 minutes.
At this point, I've got a few minutes left. A balance game or two (finally got through the bubble balance for the first time today), and finish off with Lotus Focus (best time, 91 seconds).
Saturday, July 12, 2008
Now the Firewire drive started having problems as well. Unfortunately, I don't have any spare drives that are large enough to hold all the data on that drive. So, we'll try setting it up to run off a smaller drive (in the same Firewire enclosure) and set up a reduced-size library until we can get things fixed. No problem, right?
Well, the optical drive isn't terribly happy either, so it can't boot the install DVD. Tried to install onto the new Firewire disk from the MacBook Pro, but as an Intel Mac, it can't install to a disk that's bootable on an old PowerPC Mac. Grah.
Ended up installing to a USB drive that was partitioned for Intel booting, doing a drive-clone from there onto the Firewire drive. Then had to swap things around again because the smaller disk I had in the Firewire enclosure started acting up.
Now, about 7 hours after I started, the newly-installed OS is finally at the point of updating to the latest version. And then I need to get the music set up on it as well, and find out if I lost any data on the old drive. Guess I know what I'm doing tomorrow.
Thursday, July 10, 2008
Wednesday, July 9, 2008
One-week trend is still upward, though. So I guess unless that starts trending down soon, I'll need to look at WW after all.
(...think it'll work?)
Monday, July 7, 2008
So now I'm trying to figure out what to do next. WiiFit will help, but I need to structure my intake better. The various versions of the Don't Be Stupid Diet have, in general, all run aground due to...well, being stupid.
Not sure what to try next. Yes, watch portion size, watch for stupid sugars and stupid fats, but...what else? Because clearly I like those stupid sugars and fats.
Part of me is wondering if it's time to go back to strict calorie counting, but that's just painful and annoying. (On the other hand, it is the one diet I can point to as actually getting me all the way down under 200 pounds.) Maybe Weight Watchers points or similar. Need to think about it some more.
Thursday, July 3, 2008
So now the whole family is going through and getting initial scores. I got a fitness age of 43...not exactly ideal. But we'll work on it.
Saturday, June 28, 2008
Since the data provided is since 1930, let's take that as our first cut. Since 1930, the highest overall increase in GDP is...when the President was a Democrat last year, followed by years when the President is a Democrat. The lowest was when the Senate is controlled by Republicans that year, followed by years when the House is controlled by Republicans. For every position, the GDP is higher for Democrats than Republicans.
AVERAGE SAME-YEAR GDP:
PRESIDENT: Republican 1.855263, Democrat 5.075000
SENATE: Republican 1.209091, Democrat 3.883582
HOUSE: Republican 1.580000, Democrat 4.415094
AVERAGE NEXT-YEAR GDP:
PRESIDENT: Republican 2.064865, Democrat 5.142500
SENATE: Republican 1.800000, Democrat 3.974242
HOUSE: Republican 2.008000, Democrat 4.459615
AVERAGE 2-YEAR GDP:
PRESIDENT: Republican 3.058333, Democrat 4.460000
SENATE: Republican 1.850000, Democrat 4.090909
HOUSE: Republican 3.129167, Democrat 4.103846
AVERAGE 3-YEAR GDP:
PRESIDENT: Republican 3.560000, Democrat 4.422500
SENATE: Republican 3.422222, Democrat 4.101515
HOUSE: Republican 3.995652, Democrat 4.030769
AVERAGE 4-YEAR GDP:
PRESIDENT: Republican 3.829412, Democrat 4.315000
SENATE: Republican 3.937500, Democrat 4.110606
HOUSE: Republican 3.968182, Democrat 4.144231
Now, it's possible that time frame gives the Democrats too much of an advantage - the Republicans, after all, are penalized with the first three years of the Depression while the Democrats get all of World War II and the recovery afterwards. So let's try again with the lower boundary of 1953, the start of the Eisenhower administration. And, indeed, the numbers get closer. But the highest GDP growth average is for years when a Democrat is president, followed by years when the Democrats controlled the House four years prior. The lowest, oddly enough, is when the Republicans controlled the Senate 4 years ago, followed by years when the Republicans control the Senate. The numbers are much closer, with the Republicans having higher averages in 7 of the 15 comparisons listed.
AVERAGE SAME-YEAR GDP:
PRESIDENT: Republican 2.814286, Democrat 4.090000
SENATE: Republican 2.300000, Democrat 3.444681
HOUSE: Republican 3.200000, Democrat 3.322857
AVERAGE NEXT-YEAR GDP:
PRESIDENT: Republican 2.855882, Democrat 3.930000
SENATE: Republican 2.787500, Democrat 3.334783
HOUSE: Republican 3.350000, Democrat 3.197059
AVERAGE 2-YEAR GDP:
PRESIDENT: Republican 3.442424, Democrat 3.140000
SENATE: Republican 3.328571, Democrat 3.328261
HOUSE: Republican 3.705263, Democrat 3.117647
AVERAGE 3-YEAR GDP:
PRESIDENT: Republican 3.318750, Democrat 3.155000
SENATE: Republican 2.616667, Democrat 3.339130
HOUSE: Republican 3.172222, Democrat 3.300000
AVERAGE 4-YEAR GDP:
PRESIDENT: Republican 3.145161, Democrat 3.495000
SENATE: Republican 1.840000, Democrat 3.439130
HOUSE: Republican 2.535294, Democrat 3.655882
Okay, let's move forward a bit more. Let's try 1977, the start of the Carter administration; that'll skip over all of Vietnam and its immediate aftereffects. Now, the Republicans kick in a bit. The highest average GDP increase is when the Republicans controlled the House two years prior, followed by years when the President is a Democrat. The lowest average increase is when the Democrats controlled the House two years prior, followed by a tie between years when the Republicans control the Senate and when the Democrats controlled the House three years prior. Again, the Republicans have the advantage in 7 of the 15 comparisons.
AVERAGE SAME-YEAR GDP:
PRESIDENT: Republican 2.768421, Democrat 3.583333
SENATE: Republican 2.416667, Democrat 3.244000
HOUSE: Republican 3.338889, Democrat 2.730769
AVERAGE NEXT-YEAR GDP:
PRESIDENT: Republican 2.888889, Democrat 3.250000
SENATE: Republican 2.650000, Democrat 3.129167
HOUSE: Republican 3.366667, Democrat 2.533333
AVERAGE 2-YEAR GDP:
PRESIDENT: Republican 3.311765, Democrat 2.425000
SENATE: Republican 2.860000, Democrat 2.962500
HOUSE: Republican 3.611765, Democrat 2.000000
AVERAGE 3-YEAR GDP:
PRESIDENT: Republican 3.237500, Democrat 2.533333
SENATE: Republican 2.950000, Democrat 2.933333
HOUSE: Republican 3.325000, Democrat 2.416667
AVERAGE 4-YEAR GDP:
PRESIDENT: Republican 2.980000, Democrat 3.141667
SENATE: Republican 2.733333, Democrat 3.091667
HOUSE: Republican 2.806667, Democrat 3.358333
So, what does this mean? Well, it's hard to tell overall. The most consistent numbers seem to be that having Republicans control the Senate is bad - those are the lowest numbers in 10 of the 15 sets, and the Republican Senate average is lower than the Democratic Senate in 13 of the 15 sets...and those last two are very small differences (0.01667% and 0.00031%). That may just be because there are relatively few years with Republicans controlling the Senate, just 22 years out of the full 78-year range. Over the very long term, the Democratic numbers are higher, but recent trends seem to indicate that Republican control of the House is good economically.
I've made the script available at http://www.kazrak.com/gdpanalysis.py in case anyone else wants to play with it. (Yes, I know it's ugly.) Other analysis I want to play with: the effects of having multiple groups controlled by the same party at once (is there a more pronounced effect for, say, controlling both houses of Congress, or even both houses plus the Presidency, or is economic growth better when there's a party split?), or the effects of larger vs. smaller majorities in Congress.
Some notes on methodology: Party control information came from http://en.wikipedia.org/wiki/Party_Divisions_of_United_States_Congresses, with Presidents and Congresses sworn in during a year counting for that year. For the years marked as having changes (1931 House, 2001 Senate), both were counted as Democratic because they spent more time as Democratic than Republican.
Monday, June 23, 2008
Stealing his words:
Where do things go when they're lost? You know what I think? I think there's a big pile of things somewhere. I think there's a big constantly changing pile of things that are lost. You lose something, whoo-pop, it goes to the pile. And then you say, 'Oh look, there it is,' whoowhoowhoowhoowhoowhooph. Right back from the pile. And you didn't even know there was a pile.
And where is the pile? In Heaven, of course! Has to be in Heaven. That's the first thing that happens when you get to Heaven, they give you back everything you ever lost. That's the whole meaning of Heaven. You get back everything: "Here ya' are, 79 pairs of sunglasses, 212 cigarette lighters, 4,983 ball point pens. And here's a jock strap we found on the Golden State Freeway. It
appears to have mule hoofprints and chocolate sprinkles on it...must've been quite an evening."
Yes, you get back everything. Everything, When you get to Heaven...well, not everything, you know, you don't get the big things back. Good judgement, that never comes back. Your tonsils, your appendix, they keep those for display purposes, virginity...you don't get that back, because you're in such a big hurry to get rid of it in the first place. But, you get back all your wallets. You get back every wallet you ever lost. No cash, it's just like earth. They keep the money as a prayer offering.
Wednesday, June 18, 2008
Net weight change, Wednesday-to-Wednesday: up 0.1 pounds. Trend down 1.1 pounds, mostly on momentum from last week.
Think I need to tighten up a little bit and not be quite so sloppy about it.
Wednesday, June 11, 2008
Monday, June 9, 2008
I suspect that 4E is going to get a lot of grief. It's got a hell of an act to follow in 3E. To some extent, I think that the success and overall excellence of 3E are the biggest problems that 4E has, because where it fixes a lot of the problems in AD&D, it does so by skipping over 3E's solutions and finding its own. As an example: 3E had an elegant solution to fixing the multiclass imbalance: every character can level in every class if they want. Want a level of cleric? No problem! 4E solves it in a completely different way; every character has exactly one class, but you can take a special feat to gain some abilities of another class.
To be honest, I think that 4E would have gotten a better reception if it had followed AD&D2 directly. It has, in some intangible way, more of an original D&D feel than AD&D did, but in a streamlined way.
Okay, enough 2E/3E comparisons. How is 4E on its own? Personally, it looks pretty good. The system fixes several of the major problems with every edition of D&D printed, such as the uselessness of first-level characters and the cleric being nothing more than a walking first aid kit with a 'turn undead' ability. Above all, it looks fun. They've clearly tried to give all the classes interesting options at every level, and to make it so a poor decision early on doesn't cripple the character permanently. I'm not sure I care for the Heroic-Paragon-Epic path design, but I'd need to see how they play to really make a judgement.
I'm not 100% sure I like their initial class choices - Cleric/Fighter/Rogue/Wizard are obviously all required, and Paladin/Ranger seem reasonable. Warlord is an interesting choice - a battle leader who helps those fighting with him. I don't think I've really seen anything quite like that since Military Scientist back in Dragonquest. Warlock...I'm surprised they printed. Clearly things have changed from the 2E days if they're willing to print a class that explicitly makes pacts with extraplanar entities for its powers. I'm surprised at the lack of the Bard and Druid classes, especially the Druid. (I'm sure we'll see them again in supplements soon enough.)
The racial choices, though, I can support. Gnome and half-orc are gone, and I (personally) won't particularly miss either. Gnomes seemed lost without a dedicated illusionist class (gone since 2E) - without that, they're just variant dwarves - and half-orcs always felt like they were meant as an NPC race. Instead, we get three 'new' races, the dragonborn, eladrin, and tiefling. Tieflings we've seen before - planetouched humanoids from the lower planes. Having them as a core race is (again) an interesting choice - I'd have expected aasimar (their upper-plane counterparts) as well, but they aren't even in the Monster Manual. Again, we can clearly see that the 2E self-censorship has gone by the wayside. Eladrin aren't quite what they used to be (the core chaotic good planar beings); now they feel like a more magical variant of elf, where the main elf race has become more sylvan warrior-oriented. And dragonborn tie the players into the dragons of the title more closely than ever before in a core race. The Monster Manual has the basic info you'd need to re-add Gnomes, plus Drow, Orcs, Warforged, and more.
Mention of the Eladrin brings up another change, one that I'm unsure if it's a good thing but it's certainly interesting to see what they did. Alignment has been simplified and streamlined down to five choices: Unaligned, Good, and Lawful Good (as player choices), plus Evil and Chaotic Evil for the villains. Lawful Good and Chaotic Evil mostly fill in the slots they covered in the original 3x3 grid; Good covers both Neutral Good and Chaotic Good, while Evil covers both Neutral Evil and Lawful Evil. Unaligned is the most interesting one, covering both variants of Neutral ('working for balance' and 'don't care') plus Lawful Neutral and Chaotic Neutral. Unaligned isn't really Neutral, though, because it's more 'good vs. evil is nice, but I've got a job to do'. The bit I find most interesting is that Unaligned acts as a wildcard in matching deity and worshiper alignment - an unaligned worshiper can worship any god, and any alignment can worship an unaligned god. This works well for (as an example) a God of Magic, who may get worship from wizards of all alignments. On the other hand, it seems odd that a Lawful Good deity (Bahamut, the honorable paladin god) would accept an Unaligned worshiper but not a Good one. This may be something to tweak as a house rule.
Other things: I like healing surges. They're perhaps a bit on the generous side (1/4 of your HP, 5-10 times a day?) but they (along with the higher starting HP) make it possible for low-level characters to be a bit more daring without worrying about instant death from one lucky sword swing. I like encounter-frequency powers, and at-will Magic Missile that needs a to-hit roll. (Hey, wizards aren't useless after they cast their one daily spell! What a concept!) For that matter, I like at-will cantrips and other low-level magical abilities in general. I like ritual spells - a way to handle those utility abilities that don't involve burning spell slots. I like that almost no classes start with proficiency in plate armor. I like the idea of holy symbols, rods, and staffs as class implements, where an enchanted one can improve your ability to use your class abilities just as an enchanted weapon.
Overall, I'm pleased with the design. I suspect that it may have been (oddly enough) an even better game if they hadn't had the D&D baggage that they needed to use, but if it had been just another RPG system, nobody would pay any attention to it. For good or ill, D&D is still the 800-pound gorilla of the RPG world, and this appears to be a good version of it to go forward and bring in new players.
Thursday, June 5, 2008
So far, amazingly enough, it seems to be working.
Trend line is down 2 pounds since last Wednesday. Today's weigh-in was almost 8 pounds under last Wednesday. (Just taking it as Wednesday-to-Wednesday, it's 1.6 pounds on the trend line and 6.1 pounds of daily weight.)
So far, it's been easier to stick to it on weekends than during the week. (Go fig. There's more junk food at work.) I'm not missing the snacks so much, although not having them on weekends makes dinner a bit more iffy. (We'll pick some good snack food up this weekend to fix that issue.) Snacks at work are more of an issue when I'm bored or thinking - I tend to go walking around the office when I'm trying to work through a design or implementation issue, and the microkitchens are a likely place to end up walking to. I've been looking at the snacks provided, then typically grabbing a diet soda and walking back.
I suspect that, in the medium term at least, I can live with this one. It feels...right, I suppose. It's taking the Don't Be Stupid Diet to a better level - instead of just watching portion size and number of snacks, it's paying more attention to the contents of what I'm eating.
As an example: today's lunch wasn't particularly appealing, so I made a sandwich. Picked the 12-grain bread instead of my more typical sourdough, put just a little mayo on - enough to taste and moisten, but no more, and put on turkey instead of roast beef. And the resulting sandwich was pretty darned tasty, and now I'm full.
Monday, June 2, 2008
Rock songs about how awful the touring life is.
Sorry, folks. This is the life you chose. Yep, it's not all wonderful. Get over it.
(Besides, whatever you're trying to say, there's a damn good chance Jackson Browne already said it better.)
Sunday, June 1, 2008
This is, of course, the fatal flaw of copy protection: it makes life difficult for your customers while not particularly inconveniencing the people who would never have paid you money in the first place.
And folks wonder why Steam and Stardock are doing so well. Not having to worry about this BS is worth an extra 10% on the price of a game...and games are generally the same price or cheaper on Steam to begin with.
Friday, May 30, 2008
Anyway, second day, weight was up 0.3 pounds, which is realistically within the error margin on the scale. So, it seems to be okay so far. We'll see how it holds up over the weekend.
Wednesday, May 28, 2008
Looked at South Beach, which seems to be the best of the 'ooh magic wand eat this super-special diet and get magically thin' diets. Unfortunately, I find I'm morally opposed to them, perhaps because I've used them too often in negative comparisons when describing Dave Ramsey. (Summary: there are two types of diet books, 'magic miracle diet' and 'eat less, exercise more'; likewise, there are two types of personal finance books, 'magic miracle money' and 'spend less, earn more'. Dave Ramsey is solidly in the last category.)
So I'm trying to steal some South Beach ideas, mix it into what I'm doing now, and see if it helps. Basically, avoiding the stupid sugars and mixing in some better carbs and fats. Hey, worth a shot, right?
Monday, May 26, 2008
Sunday, May 25, 2008
Saturday, May 24, 2008
While I didn't much care for their choice of McGuffin, it was definitely an Indiana Jones movie, and if you liked the first three, you'll probably like this one.
Thursday, May 22, 2008
Green text, saying: "Deficit 27 cal/day Loss 0.05lb/week".
For the first time in quite a while, my trend line is actually down long enough to have a negative weekly trend.
(Yes, I know, at 1/20th of a pound per week, that's a whopping loss of just over two and a half pounds a year. It's a start, though.)
Tuesday, May 20, 2008
The problems with diets come down to two major kinds of issues: sustaining the diet while on it, and transitioning to maintenance when you're at goal. I'm hoping to ease both by, effectively, transitioning to a reasonable lifestyle now, and then letting the weight trend downward on its own.
Specific things I'm doing: restricting portions at meals. No seconds. Watch snacks, and choose reasonably. Bicycle when feasible to do so. Limit straight sugar.
The goal is that, living reasonably, when I get to a saner weight there's no transition to make. (Granted, it'll take longer to get there, assuming I do.)
Monday, May 19, 2008
Since we've been saving for the vacation for a while, the first one is fully-funded and the second is 2/3 done. The vacation is at the end of July, and the curriculum needs to be ready by August, but we should be okay. Just means the consolidation loan doesn't get the full snowball quite yet.
Sunday, May 18, 2008
Grill's warming up. Brisket's been slathered and rubbed. Just waiting for the coals to finish ashing over, and it's time to start. Mostly pecan wood today, with perhaps a bit of hickory and/or mesquite. (Haven't decided yet.)
Saturday, May 17, 2008
Last night, we paid off the last credit card. Of the 5 items we had to deal with in step 2, that's the fourth...all that's left is a consolidation loan we took out after the layoff in 2001.
Wait, what's this? Northwest Regional Center, Surprise, AZ? (For those not familiar with it: that's 50 miles away in the opposite corner of the county.)
Oh, this'll be fun. Trying to get all the way across metro Phoenix for 8am court arrival.
Thursday, May 15, 2008
A. If a health care services organization issues evidence of coverage that provides coverage for:1. Prescription drugs, the evidence of coverage shall provide coverage for any prescribed drug or device that is approved by the United States food and drug administration for use as a contraceptive. (...continues, but nothing in it would alter this. My employer is quite definitely not a religious organization whose religious tenets would allow them to not offer any contraceptive at all. Full text.)
Translation: my insurance company is paying up for the IUD.
Wednesday, May 14, 2008
Pregnancy and childbirth? Covered.
IUD? Of course not. Why would we want to cover that?
- Whitespace - Low-hanging fruit. The whole whitespace thing is Python's bugaboo the way that speed is/was for Java and a resemblance to line noise is for Perl. But there is still something here, and not the usual "OMG it makes me indent!" that shows up. The problem is that using whitespace as the delimiter causes issues when modifying code later. A very, very common maintenance idiom is taking a block of code and wrapping it with an if statement because you've found cases where it shouldn't be run. In C-styled languages, when using emacs, the usual way I've done this is to put in the if statement, then walk through the code, reindenting each line with the tab key, until it's time to close the block. In Python, if you try this, you will screw up the indentation for each block inside the new block you're creating. More generally, programming in C-styled languages in emacs teaches you that re-indenting with tab does not semantically change the program; that's no longer the case in Python. (Other editors generally have similar concepts; it's not just an emacs thing.) Or, in the general case again - if you lose leading whitespace in a Python program somehow, there is no automatic way to get it back. (This can happen with a bad translation to HTML, a funky mail filter, or many other ways.) Now, there are ways to work around this (ending all blocks with 'pass', '#end if' comments, etc.), decent editor support makes it less of a problem, and there are advantages to Python's approach, but it's not without its issues as well.
- PyGTK - Not entirely Python's fault here, I suppose, but PyGTK is quite possibly the least intuitive, most annoying GUI toolkit I've ever worked with. (And, remember, I've worked with both Java AWT and Swing.) GtkTreeView in particular is just plain twisted.
- Python People - Mention #1 to a Python advocate, and...hoo boy. Python's got some damn good Kool-Aid, I guess. Any mention that there is possibly a problem with using whitespace as the delimiter is met with either blaming the user ("Well, clearly you shouldn't be editing that way, then") or shifting the issue ("Well, you'd have to fix the indents anyway, right?") and missing the point that making whitespace significant causes issues of its own.
Tuesday, May 13, 2008
- TMTOWTDI (poorly) - The Perl motto is "There's more than one way to do it", and it (mostly) works well in Perl. You've got several ways to do something, and can choose the appropriate one for the task you're dealing with. Java, on the other hand, has far, far too many cases where they implemented one way to do something, realized it was wrong, implemented a second while leaving the first one in place. They can't just remove the first one, because it's embedded in other parts of the API, so it just...festers. The worst example of this is java.util.Date, which has 6 constructors (4 of which are deprecated) and 27 methods (17 of which are deprecated)...you can't just use Calendar everywhere, so you have to change back and forth between Date and Calendar all the time. In particular, if you're using SQL, java.sql.Date and its kin are all subclasses of Date, but you can't get any information out without using a deprecated call or converting it to a Calendar. (So what's the solution? JodaTime, of course! Replacing a broken API with another incompatible one is the Java Way!) Other examples: there are three separate UI systems now (Java 1.0.2 AWT, Java 1.1+ AWT, and Swing), there's the whole Reader/Writer vs. InputStream/OutputStream issue (now with Channels to make life even more confusing), HashTable/Vector vs. Collections...and those are just the ones off the top of my head. The biggest advantage that C# has is that Microsoft was able to learn from Sun's mistakes and not have as much deprecated cruft cluttering their APIs.
- Make the simple things simple and the hard things tedious - A pattern I've run into several times in Java: "To make this work, you need all these other objects to be in place...a convenience method is provided for the common case." And so, as long as you're doing exactly what the programmers expected, it's easy...and as soon as you wander even a little bit off that track, you need to do everything manually. Places I've run into this include Swing (JTable, specifically, as I recall) and security/cryptography (adding a new trusted key for an SSL connection).
- Frameworks upon Frameworks - Java EE is, apparently, built around the idea that if you have enough frameworks, every problem will come out of them eventually. Er, no, it's build around the idea that the solution to every problem will come out eventually. (In practice, it seems the first statement was more accurate, though.) Why I Hate Frameworks sums this up better than I can, though, so I'll let them have it. True story: I went to look into how to use a particular framework at work. Lo and behold, this framework in and of itself is an agglomeration of seven external frameworks plus four more internal frameworks. Now that's Enterprise.
Monday, May 12, 2008
So, I'm going to work through this for a few programming languages. Today's victim: Perl.
- Perl 6 - An interesting comparison: Python 2.0 was released about 3 months after Perl 6 was first announced. In that time, Python has released 6 versions (2.0 to 2.5), announced Python 3.0, and released 5 alpha versions of Python 3.0 with a scheduled release of 3.0 in September. Perl has released a few partial versions, has a partly-written virtual machine, and no planned release date. To be honest, Perl 6 reminds me of everything I've heard and seen about ALGOL 68 - a Byzantine language spec that tried to be all things to all people, with the end result of killing off the parent language (ALGOL 60). The best result we're likely to see out of Perl 6 is the backports into the Perl 5 project, but it took far, far too long for folks to realize that Perl 6 itself was a dead end and begin reviving Perl 5.
- CPAN - CPAN is a great idea: a single repository for user-contributed modules with a handy front-end and dependency-handling. Unfortunately, both of those systems fail. As a single repository, it's great...until you try to actually find anything in it. Say, hypothetically, that you wish to read a CSV file. And so you go to CPAN and search for CSV...and get 261 results. Which do you use? There's a small amount of guidance now, with ratings and reviews starting to show up...this is a vast improvement over before, where you had literally no indication, but it's just a start. (And CSV is a small example; try XML, which has a FAQ list just about finding which one of 14 XML modules is the right one. A search for XML finds 3522 matching modules.) As a front-end, it's also great...until you run into a mandatory upgrade of some sort. Fortunately, they seem to have fixed the issue where it would try to upgrade Perl on you...
- Non-Obviousness - There are a lot of cases where what Perl is doing is extremely not obvious to anyone who hasn't spent a lot of time programming Perl. (I've commented elsewhere that Perl is an extremely difficult language to be an expert in, because it's got so many odd edge cases.) Basically, Perl tries to guess the right thing for you...this is great when it guesses right. When it guesses wrong, tracking down the problem is a major pain. Examples include autovivification, scalar context vs. list context, true/false vs. defined vs. exists... There are also a lot of cases where Perl is egregiously Different for no readily apparent reason. (break/continue vs. last/next, switch vs. given - especially egregious since the 'given' statement needs to be activated with "use 'switch'") And let's not even get started on the punctuation variables. A lot of these things are hacks nested upon hacks, where the 'obvious' original use wasn't as obvious as they thought and a new addition had to be made for cases outside the original plan. (Example: lists cannot contain lists. Solution: references. So now you've got all the fun of C pointer manipulation.)
Sunday, May 11, 2008
Number One Son. Seven and a half years old. Loves video games and music.
Darling Daughter. Nine and a half years old. Loves books and Neopets.
Things are still a bit raw around the edges, but we're going on. Last night, we let Number Two Son choose dinner. He wanted a hamburger and a play place. (The joys of being four. Number One Son will probably request Islands again, because he likes their french fries.) So off to Carl's Jr, where they ran around for an hour and a half.
Aunt Jacquie sent a check for his birthday, so he picked out some Legos. Number One Son is helping him put the intended set together. (Read: Number One Son is putting part three together while N2S is playing with parts one and two.)
Today, we visit Grandma and Grandpa for a slightly belated birthday. (And Mother's Day. But we're not talking about that part much.)
Saturday, May 10, 2008
Friday, May 9, 2008
Number Two Son turns four tomorrow.
I'm not entirely sure how I feel about this. I'm glad he's getting older and growing up, but I'm going to miss the uncluttered view of life he has now.
On the other hand, it's frequently a view of life that has little to do with reality. We're continually convincing him that, no, just because he's making up a new word for something, that doesn't mean that anyone else will understand what he means.
And, well, I've commented before that Hell is a seven-year-old with an infinite supply of joke books. Deeper levels of Hell supplement that with a three-year-old sidekick who's trying to tell their own versions of the jokes.
But all of this is part of learning how to be a person. And he is learning, and quickly. Give him another couple months, and he'll be reading the joke books on his own.
I suspect that I'll miss the person he is now when he's grown up.
Thursday, May 8, 2008
(Scumsucking Weasel Anti-Defamation League on line 1...)
Anyway, rode the bike again yesterday, and weight was up again. Need to get back in the groove of eating less and biking more. Bike again tomorrow, I think.
Wednesday, May 7, 2008
The diet...mostly isn't right now. It's hard to diet when your employer provides free lunch and snackyfood. Although I'm ramping up the bicycling again, which should help some, and trying to be reasonable about food at work.
Daily food log is at http://twitter.com/kazrak.
Weight tracking is at Hacker's Diet Online under public account Epsilon Sinlaku. (There doesn't appear to be a way to create direct links to it.) The badge in the upper right shows the status over the previous week.
Coming up: a few archived things I've typed up, and assorted things that have been festering but haven't been sent out yet.