Gas Saving Tips

In years past we’ve kicked off summer by scribing our armchair methods for saving gas. Now that 100% of us remaining Barnsonites are child-rearing, Republican-fearing, SUV-wheeling road warriors, please allow me to inaugurate the 2011 summer season with a friendly list of ways to save on gas.

http://tinyurl.com/43eweet

In years past we’ve kicked off summer by scribing our armchair methods for saving gas. Now that 100% of us remaining Barnsonites are child-rearing, Republican-fearing, SUV-wheeling road warriors, please allow me to inaugurate the 2011 summer season with a friendly list of ways to save on gas.

http://tinyurl.com/43eweet

This list is reportedly brought to us by the non-profit Consumer Federation of America, but when I read this list I can’t help but think it was ushered into the media by the very for-profit Auto Manufacturers Association. Especially the brake people.

Clueles IT People

So I have a guy who’s the IT resource in our DC office. That office has a manager who’s bristling at our deployment of Sharepoint, but it’s also has basic internet connectivity issues that the ISP, the LEC, and we’ve gone around and around on.

So I have a guy who’s the IT resource in our DC office. That office has a manager who’s bristling at our deployment of Sharepoint, but it’s also has basic internet connectivity issues that the ISP, the LEC, and we’ve gone around and around on.

My boss, tired of hearing this manager whine about having our processes migrated to Sharepoint, send me and one of my IT peeps down to this DC office to “investigate if they’re really a problem or if they’re just whining.” And we went.

Back to the IT resource. We’ll start with the positives…he’s a nice guy. And….did I mention he’s a nice guy? The downsides…he has no short term memory, he’s scared of the manager because they ask him for justification when he wants to do things, and he incompetent as an IT guy. But other than that, he’s a nice guy.

Case in point: The first 1 1/2 hours of our trip I spent fixing his laptop. See, Windows 7 was sharing his media files to others running Windows 7. Obviously this isn’t secure so he decided to fix it. He *tells* me that he removed access to the Users group from the C: drive on his laptop. Which is dumb, but shouldn’t be THAT hard to fix. Log in as an admin, seize ownership, and reset permissions to default. If he set any custom permissions, I hope he wrote them down, but I got other things to do.

But that doesn’t work. I can’t even get to the Advanced view of the Security dialogs for the C: drive. I get an error loading the access control dialog because it’s not accessible. Part of the problem is UAC, so I figure I’ll need to remove the laptop from the domain so I can disable UAC and log in as the local admin to get it to work.

So I remove it from the domain, and my wonderful IT changed the password for the local admin and can’t remember it. So I get the linux administrator password reset tool and blank it out so I can log in. Still can’t get to the Advanced Security pages, but I can run cacls from the command line to see that he did NOT remove the Users group from the C: drive, he explicit DENIED Full Control access to the Users group on the C: drive.

For this of you who don’t deal with NTFS permissions (and be happy you don’t), most of the time permissions are set on a least access required policy. Meaning I give the bare minimum permissions required for functionality, and only add the least amount necessary as requirements change. So if I don’t want someone to have access to a folder, I just omit them from permissions, I don’t deny them access. Deny permission in NTFS is a sledghammer that trumps all other permissions. If I Deny you, then no matter what other permissions may give you access, you’re not getting access.

So…since everyone is automatically a member of the Users group, and he Denied access to the Users groups, by the associative property (relative property, identity preoperty? I forget…) of IT stupidity, EVERYONE was denied access to his ENTIRE hard drive.

But Windows is smart enough to never totally lock out the local Administrator, so I was able to use TAKEOWN and icacls to sieze ownership and grant myself permissions, and then I rest all the default permissions on the drive.

I’ll vent about how he didn’t have the network switches or the router or the firewall plugged into the malfunctioning UPS another day.

My $.02 Weed

My 100-line Python program

I’ve been using Python for a few years, but mostly for extremely simple and short stuff. By and large, truly, I’ve mainly just referenced someone else’s libraries in Python to do something that I couldn’t do easily in Bash.

I’ve been using Python for a few years, but mostly for extremely simple and short stuff. By and large, truly, I’ve mainly just referenced someone else’s libraries in Python to do something that I couldn’t do easily in Bash. Today, I decided to finally knuckle down and undertake a conversion script I normally would have done in Bash using grep, awk, and sed, and instead do the whole thing in Python.

Now, I realize this isn’t very Pythonic. It’s quite procedural, no classes or functions. There are several sections where I think I could dramatically shorten it by splitting some of the more repetitive areas out into classes. But for a first real attempt at using Python as a replacement for Bash shell scripting, it was fun!

Takes input from a file with a format like this:

filername-nfs:/vol/some_volume_name/some_qtree_name 20G private on some_hostname mounted at /some/path/to/nfs/mount

Now, the goal here is to automagically spit out a series of commands that I can copy/paste and run in various windows. I need it to calculate the size of all the qtrees in a volume and add 20% (divide by 0.8) and give me an integer to use in gigabytes. So imagine you just received a file containing, say, fifty different mounts in this format for perhaps 10 different hosts and two or three different Netapp Filers. At that point, the time savings become obvious! Using just the one sample above, the output from this file looks like this:

Volume size commands: rsh filername vol size /vol/some_volume_name +25G

some_hostname /etc/fstab entries: filername-nfs:/vol/some_volume_name/some_qtree_name /some/path/to/nfs/mount nfs rw,bg,nointr,hard,timeo=600,wsize=32768,rsize=32768,nfsvers=3,tcp 0 0 some_hostname mkdir & mount commands: mkdir -p /some/path/to/nfs/mount mount /some/path/to/nfs/mount

filername /etc/exports entries: /vol/some_volume_name/some_qtree_name -rw=some_hostname-nfs:root=some_hostname-nfs

filername /etc/quotas entries: /vol/some_volume_name/some_qtree_name tree 20G

Here’s the script.

convert.py

#!/usr/bin/env python
# Short little script to awk up things and do replacements in several files.
# Basically the same thing I do from bash, but in python.
import sys

# Debug this session?
debug = False

# Set the options we’ll spit out for mounts.
# Typically, you don’t need to alter this.
# But for Sun 7000-series filers, you need to add “,noacl” after “tcp”
nfsOptions = ” nfs \
rw,bg,nointr,hard,timeo=600,wsize=32768,rsize=32768,nfsvers=3,tcp 0 0″

# Name of the file we’re working from.
myFile= open( “qtrees.txt”, “rU” )

allQtrees=[]
for myRow in myFile:
    try:
        # Filter out empty lines
        if not myRow.isspace():
            # Filter out comments
            if “#” not in myRow:
                # Remove newlines
                rsplitRow=myRow.rstrip(‘\n’)
                # Split into space or tab-delimited fields like awk.
                allQtrees.append(rsplitRow.split())
    except ValueError:
        pass

# Initialize a few variables…
mountContainer = {}
mountFiler = {}
mountVolume = {}
numRows = len(allQtrees)
for column in range(numRows):
    # 0: nfs path, 1:size, 2:private/public, 3:, 4:host, 5:, 6:, 7:mountpoint
    # print allQtrees[column]
    myColumn = ( allQtrees[column] )
    fullNfsPath = myColumn[0].split(“:”)
    nfsFiler = fullNfsPath[0]
    nfsPath = fullNfsPath[1]
    nfsVolumeAndQtree = fullNfsPath[1].split(“/”)
    #print nfsVolumeAndQtree
    nfsVolume = nfsVolumeAndQtree[2]
    nfsSize = myColumn[1]
    privateOrPublic = myColumn[2]
    nfsHost = myColumn[4]
    mountPoint = myColumn[7]
# We’re creating several Lists of Lists to be put into Dictionaries here.
# Main purpose is to make it easier for me to visualize the data, I’m sure
# there’s a more efficient way than creating all these structures.
    # Wrap this list by hostname
    try:
        listByHost = mountContainer[nfsHost]
    except:
        listByHost = []
    listByHost.append([nfsFiler, \
        nfsPath, \
        nfsSize, \
        privateOrPublic, \
        nfsHost, \
        mountPoint])
    mountContainer[nfsHost] = listByHost

    # Wrap this list by filer
    try:
        listByFiler = mountFiler[nfsFiler]
    except:
        listByFiler = []
    listByFiler.append([nfsFiler, \
        nfsPath, \
        nfsSize, \
        privateOrPublic, \
        nfsHost, \
        mountPoint])
    mountFiler[nfsFiler] = listByFiler

    # Wrap this list by volume
    try:
        listByVolume = mountVolume[nfsVolume]
    except:
        listByVolume = []
    listByVolume.append([nfsFiler, \
        nfsPath, \
        nfsSize, \
        privateOrPublic, \
        nfsHost, \
        mountPoint])
    mountVolume[nfsVolume] = listByVolume

# Unwrap mountVolume for a list of volume sizes.
for volume in sorted(mountVolume):
    volSize = 0
    print
    print “Volume size commands:”
    for size in sorted(mountVolume[volume]):
        qtreeSize = int(size[2].strip(‘G’))
        curSize = str(qtreeSize)
        #print “Qtree size of ” + size[1]  + ” is ” + curSize
        volSize = volSize + qtreeSize
        #print volSize
    volSize = int(volSize / 0.8)
    volSizeStr = str(volSize)
    print “rsh “ + size[0].strip(“-nfs”) + ” vol size /vol/” + volume + ” +” \
            + volSizeStr + “G”

# Unwrap mountContainer for a list of mounts by host.
for host in sorted(mountContainer):
    mkdirCmds = []
    mountCmds = []
    print
    print “%s /etc/fstab entries:” % (host)
    for mount in sorted(mountContainer[host]):
        print mount[0] + “:” + mount[1] + ” “ + mount[5] + nfsOptions
        mkdirCmds.append(mount[5])
        mountCmds.append(mount[5])
    print “%s mkdir & mount commands:” %(host)
    for path in mkdirCmds:
        print “mkdir -p “ + path
    for path in mountCmds:
        print “mount “ + path

# Unwrap again for /etc/exports & /etc/quotas on filer
for filer in sorted(mountFiler):
    print
    print “%s /etc/exports entries:” % (filer.strip(“-nfs”))
    for volQtree in sorted(mountFiler[filer]):
        print volQtree[1] + ” -rw=” + volQtree[4] + “-nfs:root=” + volQtree[4] + \
        “-nfs”
    print
    print “%s /etc/quotas entries:” % (filer.strip(“-nfs”))
    for volQtree in sorted(mountFiler[filer]):
        print volQtree[1] + ” tree “ + volQtree[2]

if debug:
    for name in dir():
        myvalue = eval(name)
        print name, “is”, type(name), “and is equal to “, myvalue

myFile.close()

Assessment Essay

Tonight, i wrote the following essay for my entrance assessment to Western Governors University. I hope you might find it informative and entertaining. It was fun to write!


In 1998, Terry Weissman of the fledgling Mozilla Foundation faced a daunting task: to create a public bug-tracking system capable of handling millions of bug reports. Unfortunately, the Foundation’s internal, Netscape-specific bug-tracker was insufficient for a global audience. Terry, therefore, decided to re-write this bug-tracker, called “Bugzilla”, in the Perl programming language, and released the source code to the world.

Shortly thereafter, a nascent community of enthusiasts embraced and later extended Bugzilla. With enthusiasm and gusto, the community ushered in new version after version of the bug-tracking software. However, there was one important item missing from their project: documentation on how to install and maintain Bugzilla.

That’s where I came in.

In 1998, I was a UNIX system administrator for iMall, an e-commerce startup with big dreams and a tiny pocketbook. One of my tasks as a new employee was to implement a replacement bug-tracking system. iMall had a growing stable of programmers and support engineers, and the software license for their existing bug-tracker was both too expensive and proved to perform too poorly under heavy load.

I lined up a series of vendors for the executive team, but the products were usually dismissed in short order for being too expensive. During my research, I often encountered notes in Internet newsgroups about a new open-source product called “Bugzilla”. Finally, after several disappointing weeks of vendor negotiations, I decided to install this free software product in hopes of pleasing the executive team.

Bugzilla proved extremely difficult to install. Although the product – once installed – was fairly user-friendly and included sufficient documentation for users entering and maintaining bugs, the spartan README file included with the software distribution was wholly insufficient to the task of easily installing Bugzilla on a UNIX host. As I continued my attempts to make this software work, I kept copious notes in a text “Bugzilla help file” on my workstation.

Eventually, I succeeded in installing the product, and a brief user evaluation proved Bugzilla was popular with the software engineers within the company. I presented Bugzilla to the executive team, and they were immediately enthusiastic. They told me to spend roughly half of my administrative hours per week maintaining and improving the product, the second half managing our growing system administration team.

Within weeks my “Bugzilla help file” had grown to several pages of quotations from newsgroup archives and humorous anecdotes. I realized my document might have value to others, and posted a copy to the netscape.public.mozilla.webtools newsgroup. Shortly thereafter, I found myself posting my FAQ once per month to satiate the ever-increasing demand for decent Bugzilla documentation.

Over time, this document became huge, comprising thousands of words and dozens of pages. I often pondered the monstrosity I had created. I eventually realized that, faced with such a mountainous document, most new users still preferred to ask frequently-answered questions in the newsgroup rather than dig through my disorganized FAQ. I felt that perhaps what these new administrators lacked was an index, a table of contents, and specific task-based documentation.

As a result, I undertook to write the first edition of a comprehensive response to this need: The Bugzilla Guide in DocBook SGML markup. On December 20, 2000, I released the first edition of the Guide to correspond with the 2.11 release of Bugzilla. By the 2.12 release several months later, I’d devoted hundreds of hours to revisions of the Guide based on suggestions by early reviewers, and by 2.13 it had become an integral part of the Bugzilla release cycle, updated with each new feature. The Guide became an indispensable resource for first-time Bugzilla administrators around the world.

Today, as Bugzilla heralds the recent 4.0 release in early 2011, my copyright notice is no longer contained in the masthead of the accompanying Guide. I relinquished my copyright on the document to the Mozilla Foundation several years ago. Few remember the heady days of early development between 1998 and 2000, when for lack of decent documentation Bugzilla languished in obscurity. Yet today, each time a user describes a successful install of the product in the forums and mailing lists that replaced the old Netscape newsgroups, I get a thrill knowing that I helped that administrator find his way that day.

What’s on your Pandora?

What’s on your Pandora? Here’s mine.

Let’s see… on my list:
* Breaking Benjamin.
* 80’s Dance Parties. When you just didn’t get enough of “The Wedding Singer”.
* Barry White Radio. Bow-chicka-bow-wow. But I think Barry may be lost on anyone younger than 30…
* BT Radio. Sweet techno tunes.
* Celtic Woman Radio. White folks singing about white women stuff in the Old Country.

What’s on your Pandora? Here’s mine.

Let’s see… on my list: * Breaking Benjamin. * 80’s Dance Parties. When you just didn’t get enough of “The Wedding Singer”. * Barry White Radio. Bow-chicka-bow-wow. But I think Barry may be lost on anyone younger than 30… * BT Radio. Sweet techno tunes. * Celtic Woman Radio. White folks singing about white women stuff in the Old Country. * Club / Dance. Black folks rapping about black people stuff in the city. * Daughtry Radio. When you just don’t have enough Nickelback clones in your rotation. * Dream Theater Radio. When 7/8 time just isn’t cool enough to listen to anymore. * Enya Radio. Yeah. I’m a wuss. * Hot Chocolate Radio. See Barry White Radio. * Jim Brickman Radio. Relaxing piano tunes. A bizarre amount of Mormon hymns played on a piano show up on this station for some reason. * John Mayer Radio (which has a LOT of crossover to Michael Buble radio for some reason…) * Linkin Park Radio. In The End, When They Come For Me, The Fallout from What I’ve Done is Burning In The Skies. * Lord of the Rings Radio (when I want some epic orchestral soundtracks!) * The Rippingtons Radio (Weather Channel Music. Don’t ask.) * Salsa Radio. Andale! * The Stars And Stripes Forever Radio. I use this once a year: at my club’s annual model airplane show. * Techno. Because “thumpa-thumpa” music with few or repetitive lyrics makes it easier for me to think. * Today’s Hits Radio. Top 40.

Hope that gives you some variety!

Has America just been the ‘Mark’ in the biggest con game in history?

Okay, this is likely to be a bit contentuous and maybe even scandalous, but I have been doing an enormous amount of research and starting to wonder about a great many things. The first one is:

did we miss something REALLY big with our response to 9/11? were Americans played as complete suckers and we took the bait? were we utterly outsmarted at every turn by the people we were fighting?

Okay, this is likely to be a bit contentuous and maybe even scandalous, but I have been doing an enormous amount of research and starting to wonder about a great many things. The first one is:

did we miss something REALLY big with our response to 9/11? were Americans played as complete suckers and we took the bait? were we utterly outsmarted at every turn by the people we were fighting?

This is not about nebulous CIA scandals. America has a WELL known history for interfering in local squabbles.

fact: prior to 9/11, Iraq was fighting an absolutely brutal war with Afghanistan and Iran. Afghanistan asked for assistance,but the most recent time we ‘helped’ a country in the middle east, was to help Hussein and Jerusalem, Afghanistan’s enemies. We refused to help Afghanistan repeatedly because of their religion or social values, and the collapse of the soviet union left them in a desperate plight with both internal and external fighting and no funds or weapons to defend themselves.

fact: Saddam was employing chemical weapons to make vicious indiscriminate strikes against afghanistan. America (and several other countries) were just sitting around placidly waiting for ‘the middle east to destroy itself’

fact: terrorists cannot POSSIBLY be stupid enough to think that hitting the world trade center would NOT result in a massive, overwhelming strike, from the most powerful military on earth.

fact: terrorism was slightly funded, but definitely condoned by the afghan government. why?

If you look at it from the perspective of the ‘mouse that roared’, and assume that the terrorists and the government that supported them might NOT be the dumbest people on the planet (centuries of warfare tends to leave only the smartest military minds and brightest tacticians alive… lesser warriors are quickly cannon fodder) then,from an evolutionary standpoint, there almost HAD to be a bright mind behind the attacks somewhere. Look at all the attacks… They were specifically focussed at countries that were militarily or socially powerful. the exact countries you would NOT want to piss off, the ones you would COURT if you owned a small military dictatorship, because they were the ones that could destroy your country.

conclusion: perhaps the terrorists (who were originally created to strike at iran and iraq) WANTED Afghanistan invaded, by ethical people. (or at least people with ethics they could work with) and with a history of demanding ‘religious freedom’ which would almost ensure that both Islam and Afghanistan continued to exist within the region. They might lose the right to perform a few customary functions that the westerners found repugnant and even a large part of their own population had agreed should stop, but their underlying belief system and self-determinism would remain largely untouched.

conclusion: is it possible that the terrorists, instead of being crazy desert tribesmen screaming about a religious jihad, were actually in some weird way HEROES? They knew full well that the US would hunt them down and kill them… did they give their lives to ensure that Afghanistan would be invaded, followed by Iraq, and protected by the full power of the US military thereafter?

fact: less than 3000 american soldiers died due to enemy action in the afghan desert before 2008. as anyone who has seen ‘zulu dawn’ can attest, an angry indigenous population could have done FAR more damage to an invading enemy.

Conclusion: It’s almost as if the men of afghanistan, in order to keep their people alive and Independent, were only striking hard enough to keep american soldiers on the alert, and to keep them THERE and defending afghan (and now Iraqi) soil. since 2008 only a handful of americans have been killed, and even when american contractors were being beheaded (a visually striking and rage-inducing act) it would fit right in with a scheme to keep the americans alert and available right up until the warring was finally put down. They had to know exactly how we screwed up Vietnam, and the fact that they had to keep up the outrage to keep us from withdrawing early and failing in our part of the brilliant plan.

is it possible that all of the things that have been happening is part of a brilliantly concocted coup, a way that some men found to bring the middle east into the 21st century despite the opposition of hidebound and traditionalist governments that were fighting fiercely to maintain the primitive bullhockey that has held the middle east back from global power, turning the entire region into nothing more than an oil farm for greedy superpowers?

is it a coincidence that all of this started happening just as the west was starting to finally turn away from fossil fuels, but while there was still enough attention and money there to make the region still worth fighting for?

I am torn…I mean, really torn. while I utterly hate the tactics used by terrorists, all of them seem to have been carefully tuned to cause the maximum visual outrage with a minimum of actual loss of life. No target smaller than the world trade center, in one of the busiest and powerful cities on earth, would have had enough impact to cause the overwhelming response… the response that was NEEDED to turn the middle east from the sink hole of the world that it was into a stage that held the attention of the world.

I hate this… I mean I hate them, but i have this weird feeling of…. awe? respect? Have we just been the instrument of the biggest con game on the PLANET? the tool used to finally bring world peace and prosperity? It staggers the imagination that the ones to bring about a final mideast prosperity might, in fact, be the same ‘barbaric camel-riding rags’ we have been disdaining for Decades… Did they pull the ultimate suicidal yet ultimately brave and genius version of ‘the watchmen’?

I mean, even the broadcasts about ‘religious jihads’ against America and ‘overwhelming the world by breeding good muslims’ were EXACTLY the sort of thing that fits right into a scheme of breeding enough terror and fear to cause the kind of overwhelming response we provided.

man, I think my mind and my world just broke in half.

Utah Helis and More

Last night I went to the Utah Helicopter Association meeting in American Fork at the Rec Center. I often miss the meeting, but went this month because I’ve spent some time revamping the Utah Helicopter Association Web Site.

Last night I went to the Utah Helicopter Association meeting in American Fork at the Rec Center. I often miss the meeting, but went this month because I’ve spent some time revamping the Utah Helicopter Association Web Site. The new site sports easy-to-use photo galleries into which members of the club can upload photos, a public forum for anyone (though moderated so it stays on-topic), and a club calendar that — again — any member of the club can update.

I’ve done a lot of work on RC club web sites over the years, and a self-managing site seems to be the future. I try to set it up so that the officers have effective “admin” privileges over the whole site — they can create or delete any content — but that as the webmaster I’m the only one who can modify the layout, code, and modules. This division of labor REALLY helps. It allows me to focus on what I’m really good at: back-end systems integration, database management, and systems administration. The members and officers can handle keeping the content on the site up-to-date as long as I have a few computer-savvy people willing to post updates here and there.

This really takes the workload off a webmaster. If I spend all of my spare time updating content on the site, burnout sets in really quickly. If, on the other hand, I only have to pay attention to FUNCTIONALITY of the site, and other people step in to post blogs, forums, calendars, photos, etc. it’s a HUGE weight off my shoulders. The only really painful thing has been that I’ve had to learn some User Interface things… it turns out that nobody wants to design the layout of the site either, so as the webmaster that really gets to be my job.

It’s been very informational, anyway. With the aid of The Gimp, I can throw up a fairly amateur-looking web site with pro features in a few hours. Which for a Radio Control club is just about the right balance; it doesn’t need to look professional. But if I wanted to make a business out of this, I’d definitely need to improve my graphic design skills. That’s part of the package customers expect: a slick-looking site with professional usability features. And typically content forwarded from their old site, too.

As far as the diet & exercise program goes? Well, had some donuts at last night and this morning. Really need to make sure I’m totally on the wagon. This week has been much more like “start tracking your weight again and eat a tiny bit better” than truly back on my eating plan. And I need to do more lifting than just weighing the bar. On the plus side, I’m building some better habits: stepping on the scale every day, tracking every morsel that goes into my mouth, and thinking about that scale weight whenever I put something down my gullet. On the minus side, I haven’t exercised the restraint necessary to drop the weight yet, and when I look at the nutrient ratios I am realizing that my typical eating plan SUCKS compared to where I need to be to get lean again.

Back on the wagon: Day 3

So here I am at Day 3 of my current fat-loss saga. Plus factors: just changing my eating habits already deducted about four pounds from my frame. Minus side: it’s mostly four pounds of “lean” according to my fat-monitoring scale. Which means it’s glycogen storage in my muscles & liver.

So here I am at Day 3 of my current fat-loss saga. Plus factors: just changing my eating habits already deducted about four pounds from my frame. Minus side: it’s mostly four pounds of “lean” according to my fat-monitoring scale. Which means it’s glycogen storage in my muscles & liver. But hey, at least I’m going from super-saturating my body to slightly depriving it, which is good news for insulin resistance among other things.

Current weight: 246.8lbs, 30.8% body fat.

Got my account updated over at http://www.bodybuildingforum.ie so that I’m a full moderator now. Which is pretty cool, because spam was becoming pretty nasty over there!

Not a lot of spare time today, as I have a very busy day at work, but I made a goal to myself to update every day. So here I am.

Weight loss Day 2 & Updates

So last night my family & I went to see “Megamind” at the local dollar theater together. With a total of 6 in our family, it’s really the only way to go out to a movie affordably. The only cheap theater in our part of the valley is Cinemark Sandy Movies 9. Like most such theaters, they only get the movies very late in the theatrical run.

So last night my family & I went to see “Megamind” at the local dollar theater together. With a total of 6 in our family, it’s really the only way to go out to a movie affordably. The only cheap theater in our part of the valley is Cinemark Sandy Movies 9. Like most such theaters, they only get the movies very late in the theatrical run. Sometimes they get them after they’ve already come out on video! But there is definitely something about seeing the movie on a big-screen outside the home that is a special experience that the kids remember.

I weighed the pros and cons of the theater:

Pros: * Cheap! From $0.75 apiece for a group of 3 or more on a Monday night or $1.00 for the first matinee of the day, up to $3.50 or so on a weekend night for a 3D feature. * Big screens. * The 3D glasses are the disposable type that are brand-new in sanitary bags, rather than the nasty re-used covered-in-popcorn-grease types used at some other local theaters.

Cons: * Usually out on video by the time it shows up in the dollar theater. * The parking lot layout is terrible. * The sound is mediocre. * The seats are pretty bad. * The bathrooms are small, and the urinals are packed very closely together without privacy partitions… and are all kid-height. * More & longer previews than other local theaters. * Shows sell out quickly, and unless you buy online (paying an extra $1 per seat), you’re stuck waiting in line outside to get a ticket. * Their online listings with Flixster and other services only show up on weekends. * Trying to get showtimes from their FANDANGO-based telephone number is an exercise in listening through advertisement after advertisement while getting nowhere.

That said… the pros outweigh the cons for a big family outing!

This is Day 2 of my ongoing weight-loss efforts. I’ve updated my Google Spreadsheet with today’s weigh-in. No real change from yesterday, but I also cheated in the evening and ate some candy at the theater. It will be neat to watch the trends fall out of the spreadsheet as I keep updating my daily weight & fat percentage.

This morning, I created a recipe on livestrong.com for “glop”, a popular breakfast at my house featuring lots of cinnamony goodness. Turns out a serving is just under 300 calories, has a decent amount of protein, and is tasty to boot. Who knew something so great-tasting could actually be reasonably healthful?

On the wagon again: Day 1

Like many people, I set New Years Resolutions this year. One of my primary ones is to lose the weight I’ve put on since August of 2009.

Like many people, I set New Years Resolutions this year. One of my primary ones is to lose the weight I’ve put on since August of 2009.

Those who’ve been around a while know that for about two years (2007-2009) I was really into health & fitness. I worked out at the gym every day, lost about thirty pounds, and felt great. Unfortunately, January through August of 2009 I lived through the most painful time ever in my life, and it became increasingly difficult to motivate myself to keep working out and staying healthy in the face of my overwhelming depression. By September, I’d fallen off the wagon completely, and had actually developed an aversion to the gym.

I stand today having gained all that weight back, plus a bit more.

So this morning I’m starting over. Every morning I’m taking photos, with the goal of creating a one-year composite video of my transformation. I’m also taking daily measurements, and critical to my goal is to record every bite of food I eat, even on my planned days off.

I know from experience that in one year I can drop a lot of weight. I can also put on a lot of muscle. I have the gym equipment in the basement that I picked up last year — thus avoiding the gym aversion — and I’m pretending I’m a weightlifting newbie again: just the bar, please, to start off, and I’ll work my way up from there.

I have created a Google Spreadsheet to track my macro-nutrients, weight, and fat percentages. It’s very helpful to me to have this kind of exacting statistics-tracking; it keeps me motivated.

I found last time that following the programs from Musclehack.com | The Home of Muscle Growth helped me a lot. Mark has several sensible, carbohydrate-restricted eating programs and a muscle-building program that helped me pack on fifteen pounds of muscle in a pretty short time last time around. I’ll be giving that a try again.

Wish me luck!

(I’m working on making the photos easy to post. Gotta do a few tweaks to the web site.)