Rusty

I went to the “Spaghetti Disco” at the church up the street from me tonight. It’s a benefit for a library-ish community center, also up the street from me (though going the other direction). All in all, it wasn’t bad. It led me to a realization, though, or rather led me to realize something again:

I’m a bit rusty.

There are a number of things at which I’m rusty: playing music, playing Quake (not that I was ever particularly good), and playing the social scene. Alright, I’ll admit that last one didn’t work. I’m a sucker for trying to stretch the rule of threes. But the point is, I’m just not very good at socializing. It’s probably not a big shock, and in fact you could likely discern this from not-subtle contextual clues here on this very blog. But there is positivity in that I’m trying, I think.

I think the main thing I still have to get over is wondering whether or not people like me. From what I can understand of people who are successful at having friends, they don’t spend a lot of time thinking about it. It may cross their mind from time to time, but it’s not the world-ending calamitous spiral into despair that it winds up being for me. Of course, that may be coming more from the fact that I’m a compulsive worrier than that I’m particularly bad at human interaction.

All things considered, though, I shouldn’t have anything to complain about with tonight. The event itself was pretty well organized, and definitely well attended. I finally met my foursquare nemesis, and he and his fiancée were cool people. Also, I found a beer which I don’t mind drinking (a rare breed indeed): Dundee Honey Brown. I wound up jetting after the raffle and the prizes, as the one beer I had didn’t get me loosened up enough to “shake [my] booty,” and as the bar was cash only I could not procure another. The building feeling that I was sticking out didn’t necessarily help, either.

But, like I always say at the end of these self-pitying blog posts, I must simply try to do better. It’s easy to complain about my failings, and probably necessarily cathartic in a way, but simply wallowing in it will not do. I’m not sure if I come off weird, or stupid, or any number of other negative adjectives. Most people probably wouldn’t tell me anyway, like a piece of food stuck on my chin. People are prone to such harmful niceties. But I can’t really let that be a defining issue for me. The only way to get better at performing is to perform more often. Being rusty shouldn’t be an excuse anymore.

Baltimore’s Snow Response

This is mostly in response to this post by another Baltimore native, in addition to some conversation I’ve had with him since. The feelings I have simply could no longer be expressed in 140 characters or less, and I’m not a fan of the long-form multi-tweet thought.

I realize that Baltimore is not a city in the north or in the midwest; 3 feet of snow is not something that happens every winter. After all, we tend to get a nice “wintry mix” of about 3 inches of wet snow that melts the next day and it sends most people into a blind panic. Given that the entire city hasn’t collapsed into a swirling vortex of despair, I’d say we’re doing pretty well. But that doesn’t mean I don’t think we can do better.

Given that we got hit with two storms in quick succession, a good two feet followed a few days later by another foot or so, I realize that there’s much to be done. Streets that were formerly plowed now need to be gone over again, and in the middle of a city there’s not much place for all that snow to go. However, my street was visited by a plow about an hour or two before the first flakes of second storm. That’s fine, it helps keep the total amount to be plowed next time down. Of course, that’s assuming they actually plowed. After sitting at the end of my block for a good few minutes (I’d assume they were digging out, except they’d have to have been doing it by telekinesis), they trundled down our street, plowing about halfway before lifting the scoop up and continuing on out of our block.

It’s not a terrible thing to take a break, as I’m sure those guys had probably been driving around city streets for many hours. But, if you’re actually going to resume plowing, I’d appreciate it if you plowed the whole street, and not just a little bit. Sure, it’s a business at the end of the block and not houses, but we still need to drive there. Since that time, like much the rest of the street, there is now a nice patch of packed-in snow sitting on top of a sheet of ice. Very nice.

Again, they have a whole metric shitload of snow to move all around the city, and it’s not unreasonable to assume that a silly residential side-street will get less attention than the main thoroughfares. But I actually ventured out into the city in my car for the first time since Thursday today, and I was delayed a good few minutes by a snow removal crew. The street was fine; they were clearing parking spaces. For that, I wouldn’t fault them, because I know people have been complaining about parking spaces, snow removal routes, etc. However, they weren’t in front of houses, or even a heavy business district. They were clearing spots in front of a church, and a garage (access to the garage was already available). At this point, I’d say that maybe their time would be better spent clearing out the side streets.

I say that because, after eventually getting back to our house, I had to grab a shovel and spend 20 minutes trying to break up the ice in the center of the road so that we could have enough traction to actually park in our carefully-cleaned spot. As an aside, here’s a note to other Baltimore city-dwellers: we did not put a chair in our spot; that crap is tacky. We got lucky and got our spot back but were willing to grab a shovel and make another one if need be. We shoveled a patch of pavement; doesn’t mean we own it. Back to the topic: there’s definitely an issue with organization. Could I do it better? Probably not, but I didn’t run for a seat in the city government.

If it sounds like I’m ragging on the city too hard, it’s just a form of tough love: for someplace where the average annual snowfall is less than one of two storms that hit it in a week, it’s doing pretty well. Don’t just take a pat on the back, though: there’s still work to be done, and ways it can be better. And for city residents, it’s hard to refrain from being shrill, but many snow-removal crews have been working pretty damn hard to make up for a lack of preparation, so a little slack might not be out of order.

Postgres Session Variables – Neat.

After futzing around a bit, and once again having my suspicions confirmed, I came up with the following solution to my session variables problem: temporary tables. They are dropped at the end of the session, so it all pans out nicely. I still didn’t like having to make front-ends do all the work (plus I was all excited after figuring it out), so I slapped together a pretty basic couple of wrapper functions:

/*
 * Session Variables in PostgreSQL via PL/pgSQL
 * Written/tested on version 8.4.2, but should work anywhere
 *
 * Code written by Stephen "sycobuny" Belcher
 *
 * Free to use, I enjoy writing stuff like this.
 * Just give me some props if you do.
 *
 */

/* -- These lines may not be necessary, lang/schema may exist

   -- Remove commenting only if they need to be created

CREATE
  LANGUAGE 'plpgsql';

CREATE
  SCHEMA SV;

 */

-- Make sure the session_variables temporary table exists

-- TODO: Make sure it has the right columns, too
CREATE OR REPLACE
  FUNCTION SV.ensure_session_table_exists()
  RETURNS VOID AS
$BODY$BEGIN
  PERFORM *
    FROM pg_catalog.pg_class
    WHERE relname = 'session_variables' AND
          relnamespace = pg_catalog.pg_my_temp_schema();

  IF NOT FOUND THEN
    CREATE
      TEMPORARY TABLE session_variables (
        "key" TEXT PRIMARY KEY,
        "value" TEXT
      );
    RETURN;
  END IF;
END;$BODY$ LANGUAGE 'plpgsql';

-- Set a variable. Yep.
CREATE OR REPLACE
  FUNCTION SV.set(IN xKey TEXT, INOUT xValue TEXT) AS
$BODY$BEGIN
  PERFORM SV.ensure_session_table_exists();
  PERFORM *
    FROM session_variables
    WHERE "key" = xKey;

  IF FOUND THEN
    UPDATE session_variables
      SET "value" = xValue
      WHERE "key" = xKey;
  ELSE
    INSERT
      INTO session_variables ("key", "value")
      VALUES (xKey, xValue);
  END IF;

  RETURN;
END;$BODY$ LANGUAGE 'plpgsql';

-- Get a variable's value. It's just that easy!
CREATE OR REPLACE
  FUNCTION SV.get(IN xKey TEXT, OUT xValue TEXT) AS
$BODY$BEGIN
  PERFORM SV.ensure_session_table_exists();
  PERFORM "value"
    FROM session_variables
    WHERE "key" = xKey;

  IF NOT FOUND THEN
    RAISE WARNING 'Variable % does not exist', xKey;
  END IF;

  SELECT "value"
    INTO xValue
    FROM ession_variables
    WHERE "key" = xKey;

  RETURN;
END;$BODY$ LANGUAGE 'plpgsql';

From this point, you just do:

SELECT SV.set('my session variable', 'its value');
SELECT SV.get('my session variable');

It handles creating and updating the table and values independently, without any hassles.

Well, there’s a couple hassles:

If it’s the first time you access it in a session, it barfs out warnings because PostgreSQL likes to warn you when it creates new indexes and constraints implicitly; whether this causes any libraries such as ActiveRecord to croak, I’m not sure – I will be testing that one shortly at least. Also, the get() function itself throws up a warning if you try to get a variable that hasn’t been defined yet. This is because the value of any variable can actually be NULL, but there’s nothing else to return if it hasn’t been defined yet. It’s an intrinsically implementation-specific concern whether this behavior is desired, so I split the difference: you can do it, but you’re going to be tut-tutted by the database.

So, there you have it. Of course, changing the schema into which I put these functions should be trivial; I put them there because I like the simple syntactic sugar it provides, but, as they are not tied to a permanent table it should be as simple as just changing the function names. I’ll probably wind up doing it myself, as my schemas are thematically named (individual “projects” and their “code names”).

There’s one final gotcha, which I didn’t fully account for because I ran out of ideas how to ensure it continues working right: PostgreSQL processes statements directed towards temporary tables first (if you don’t specify the fully qualified name), before checking the schemas in the search_path. I’m not sure if this is an SQL-standard way of doing things; if it isn’t, I’m sure they’ll correct it at some point, and then my code will be broken. Unfortunately, I’m not entirely sure how best to perform a query on a temporary schema (which is assigned a technically-random name by the database) without constructing the query as string, which totally removes any optimization done by preparing the statements ahead of time. If there’s some way around that, I’d be quite interested to hear it. Oh yeah, and it hides your “session_variables” table, if you’ve made one yourself. Sorry. Qualify your names and it won’t be a problem, though.

Postgres Triggers, Why Do You Hate Me?

Actually, in spite of the melodramatic post title, figuring out triggers in PostgreSQL has been relatively painless. Of course, I had a pretty firm grasp of them in MySQL, and thus the major migration headache is realizing that the code handling the trigger has to be defined separate from the trigger itself.

The issue for me, however, is that (unlike Peter Eisentraut)  I have a sordid love affair with schemas. For me, it’s not just about addressing the potential naming conflicts, but breaking down the tasks our database/frontend performs into more manageable blocks. Put it this way: I have over 100 tables, functions aplenty, and datatypes (as ENUM now has to be a datatype) to spare. While I recognize that it’s not impossible to manage, and there’s many systems that probably have a volume of data far exceeding mine, it still does wonders for my sanity if I can break those down so I only have to look through at most 25 tables at a time. They’re not randomly selected, they are geared towards similar ends and logically fit together, and I think schemas really helps on that front.

My solution to Peter’s problem of localized search paths is obtuse, but it works: I deliberately name the full path in anything that’s going inside a stored procedure. It’s a very tedious and defensive posture, but it has worked pretty well, at least up until now. This is where we get back to triggers: triggers in PostgreSQL are not named according to the same conventions as almost everything else in the DBMS. While most times, in the docs “simple_name” by itself is tantamount to “public”.”simple_name” (as the default search path is ‘”$user”, public’), this is not so for triggers. They are associated with the tables for which they are defined. While in hindsight, this makes sense, it took some time to figure this out (also, Michael Graziano pointed me in the right direction after I bitched about it). What would have been far more simple is if, anywhere in the documentation, they had simply specified this strange behavior. Even a hint, when executing “CREATE TRIGGER my_schema.do_something” other than a bland “syntax error at ‘.’” would be nice.

The other part of my problem with triggers doesn’t have anything to do with the trigger mechanism itself, but an issue I’ve encountered in the database as a whole. There is, as far as I can tell, no mechanism for creating connection-level or database-level custom variables. You can make variables obviously in any of the procedural languages. However, setting a variable, like MySQL’s “SET @@my_custom_variable := ’some custom value’;” just doesn’t seem to exist. While this may not seem like a feature that would be particularly useful (after all, there are the aforementioned procedural languages), I’ve been finding it quite problematic.

When we were on MySQL, we used wxPerl and wxRuby as front-ends to connect directly to the database using database-level logins, and I was able to write auditing fairly handily: not only could I have information about the table on what data was modified and when, I could also log who modified the data. That doesn’t seem all that amazing, except that this was all database-side. The clients had to change exactly 0 code. You could even optionally issue a “@@COMMENTS := ‘my editing comments’;” and have it apply to all of the changes automatically until you unset it, providing an easy-access way to comment the audit log. I knew this was going to be problematic switching to rails, as ActiveRecord only ever connects as one user, and uses special models to manage logins. However, with MySQL, I could just ensure that the client issued a “@@CURRENT_USER := ‘whomever@address’;” before starting work. This, while obtuse, still has the database doing the majority of the legwork. I could easily reject any statements that occured before that variable was assigned, to make sure that changes made should always include complete auditing data.

PostgreSQL has denied my attempts at a simple solution to this, however. I’ve been searching, but the easiest solution seems to be to make a special table which holds “current connection” information and somehow tie the connection ID to the user ID that way. This seems pretty complicated, and I’m not sure how safe it is to assume that the connection ID will be unique for an arbitrary length of time (as I’m not sure what mechanisms exist for periodically purging the table of stale IDs). If there is any other way around this, I’d love to hear about it.

More About ResearchSaves.org

I’ve gotten an uptick in comments on my blog in the past few days. Like, I’ve gotten three. From three different people. That’s an increase of hundreds of percent over the norm. What I found most odd, though, was that 66 percent (i.e., two) of those comments were on my ResearchSaves.org blog post. I find this very curious.

My curiosity led me to Google, whereupon I realized that my humble blog post with its stupid subtitle (which I still need to change, so, please give me ideas) is the second hit for ResearchSaves.org. What I haven’t been able to find, is whether there’s been a recent upswing in marketing from them. It seems that’s the only reason people would be taking a sudden interest.

Of course, despite repeated comments from rakaur (Eric), I haven’t changed my stance. In fact, I don’t think he really said much that I didn’t already think about the whole thing, although he had a much more defend-the-science approach to it all. I’m not going to advocate animal testing. I know it saves human lives. It ends animal lives in the meantime. Predators in the wild also end animal lives, though usually less slowly and painfully (usually). The sooner we get a viable alternative working to animal testing, the better. I’d give ideas for the alternative, advanced simulations, etc., but that’s what we pay the scientists for.

Incidentally, according to Twitter, at least, ResearchSaves.org is related to the Foundation for Biomedical Research. This is hilarious to me, as I’ve received a few E-mails from them titled “HORSE VIDEO.” I’ve never watched it, but it has something to do with using equine biological research to cure some minor ailment. It takes a good few paragraphs to get to that description though, which led me to believe for quite some time that, not only had I gotten bestiality porn, but that whoever made it was really excited about it.

Finally, in closing: no, the place I work doesn’t have any sort of established official opinion as far as I know about this whole thing. I say this because plenty of jerkoffs, jackasses, and shitheads like to politicize science and use any excuse to choke off funding to work that can actually save lives. They get understandably very antsy about it at work so, suffice it to say, I don’t speak for them.

Karl Rove, Word Counter Extraordinaire

Karl Rove thinks that the President is too self-centered. Or something. Contextually, it’s difficult to know what about that number he thinks is important, other than the fact that we all know now that he can count the number of words in a text.  I’d have liked some follow-up information, but I think that fruit wasn’t low-hanging enough for his stubby hands to grasp.

Karl Rove

Yeah, that's mature. The Twice-Divorced Savior of Marriage, everyone.

Fortunately, I did some number-crunching for him. President Obama did, indeed, say “I” 96 times in his State of the Union speech Wednesday night. This is contrasted with President Bush, who kept it at 32 occurrences during his first State of the Union (the link Karl Rove used may not have been counting lexemes, such as “I’m” or “I’d”). The percentage of words between the differing speeches (Obama’s was 7,184 words, Bush’s 3,785) was 1.33% “I” for Obama, and 0.86% for Bush, or a difference of 0.47%. It was definitely an increase of almost 55% in the frequency of that word, but we’re still talking about less than 2% of the speech, assuming “I” is an equivalently powerful word as, say, “mandate” or “bailout.”

But I noticed something else that was interesting. Bush’s percentage of selfishness-induced verbiage decreased over the course of his Presidency. That’s not because he talked about himself less, but because he talked about other things more. While his first State of the Union speech clocked in at 3,785 words, his later ones were all above 5,000, and yet his “I” incidence remained at a steady average of 33, going for its zenith his last year at 37 times.

Given that it’s important to at least one person, I wonder if there was a busy little highlighter in the weeks before the previous President’s addresses, going through and counting the appearances of “I” and yelling at his cohorts to remove them. I won’t name names about whose highlighter I think it was. It does make sense, though: rhetoric about “our” country certainly feels like it should sell better than that about “my” country, especially with the President.

Tangentially, President Bush used, on average, 24 lexemes of “terror” (“terror,” “terrorism,” “terrorist(s),” “terrified,” and “terrorized”) in his speech. He talked about “terror” 73% as frequently as he talked about himself, compared to President Obama, who only did so 3% as much. He said “terrorism” once and “terrorists” twice. Take from that language lesson what you will.

As always, feel free to check for yourself:

The Senate is Filibusting Your Balls

It’s going to be hard to say this without sounding like a sore loser, but the filibuster really should just go. I’m almost positive all the complaining now about it is loser-itis. However, it’s not just that for me. I say this because, as ominous as it sounds, it’s looking more and more likely that the Democrats, in their incredible ability to snatch defeat from the jaws of victory, may hand the majority back over to the Republicans with some cookies and a nice fruit basket in just under a year. At that point, the filibuster will surely benefit the current-majority-soon-minority, right?

Except, as a rule, it does nothing to help anybody. Much has been made in the discussion about it on how it was used to try a block on civil rights legislation in the 60s. It’s also been noted that there’s an ever-increasing frequency of its use. In this past congress, before they lost the guarantee, Democrats knocked down more filibusters than had been attempted in the first 80 years of the 20th century. As I said, all these facts come from posts replete with sore-loser syndrome, and thus I don’t have a good bead on the count that the Democrats tried when they were out of power, but it was probably a whole hell of a lot.

“But its frequency and its past history shouldn’t cloud what it’s capable of now,” I hear the devil’s advocate replying. The problem with that idea is that it’s not capable of much of anything good. When the country was founded and people didn’t send members of Congress with predefined notions of what they would and would not support, and issues of the day really did receive debate on the floor, it made some convoluted sense to allow a combo breaker. But now, all it exists for is to provide the majority party with a severe case of legislative blue balls.

For the civics-disinclined, the Senate is composed of 2 senators from each state, plus the Vice President when necessary. Each state, regardless of its size geographically or socially, receives equal representation. That already should set off warning bells of disproportionate power assigned to smaller numbers of people. With the filibuster in place, preventing legislation can be permanently blocked by representatives elected by 31.5 million Americans, or just over 10% of the current estimated population. Don’t believe me? Bust out a calculator and do the math. That’s an extreme case, but it’s nothing when you consider that the legislation is, in all reality, blocked by only 40 Americans, or 0.00000013% of us.

Just how many ego-swelling power trips do Senators need, anyway?

My Life, My Pain

Update: I’ve set up my own blog for pain purposes.

In the past, I’ve written extensively on the subject of chronic pain, and opioid therapy to treat that pain. In those writings, I’ve mentioned as an aside that these things apply to me, being that I am a chronic pain patient. What I haven’t done is write extensively on my specific pain, my specific treatment, and how my pain changes my life. There are reasons for this.

The main reason is because–until recently–I didn’t want to believe that my pain affected my life at large. I didn’t want to believe that this can not only affect my life, but it in fact dictates the majority of my day. I wanted to believe that I could take medications and ignore it and continue on the path I’ve chosen without modifying anything. To my disdain, this is painfully untrue.

In high school, I participated in running sports like Cross Country and the long distance division of Track & Field. I ran 6-8 miles every night, and I was in fantastic shape. I continued to run after high school until I was around 19. At this age I started having a dull ache at my tailbone. It was intermittent and mild, so I’d take over-the-counter (OTC) analgesics like acetaminophen, ibuprofen, and naproxen. As time passed and my age grew, so did my pain. The pain spread to my entire lower back and started taking over my life. By the time I was 21 OTC analgesics weren’t working anymore, and I had no health insurance. After being turned away at free clinics under suspicion of drug-seeking, I started going to an ER on a regular basis. They’d occasionally give me a shot of hydromorphone or prescriptions for a few day’s worth of muscle relaxants and opioid analgesics, but 90% of the time they’d also turn me away under suspicion of drug-seeking. At this point, the pain was nearly constant and unbearable. The clinic the ER sent me to for follow-up had a lazy doctor who never treated anything but crotch-rot and runny noses. He sent me to Physical Therapy, and a litany of other specialists within the charity hospital. I had x-rays and MRIs and no one ever saw anything. So, again, I was ignored for what was presumed to be drug-seeking behavior. Then, the aforementioned clinic was aquired by new management, and with this came a new doctor. I gave him a shot, and gave him my history, and he decided to give me a chance. I went through two-week trials of every NSAID you can think of, until he finally agreed to give me opioid analgesics, under the condition that I would continue to try to figure out what was wrong with me, and that he would stop prescribing them when I did. Around the time I turned 22 I moved 900 miles from that clinic, to Baltimore.

In Baltimore I spent about a year making my way through an orthopedist, rheumatologist, gastroenterologist, and a cardiologist. The original orthopedist discontinued the opioids and gave me injections, which worked at first but quickly faded. He gave me a few month’s worth of opioids and referred me to a pain management doctor. This doctor diagnosed me with lateral facet joint hypertrophy, or more plainly, a severe form of arthritis in the joints of my spinal vertebrae. He continued the opioids and gave me a multitude of injections, which didn’t help much. I was still miserable despite the narcotics and one day I broke down crying and he decided to pull out all the stops and put me on some real opioid therapy. I started taking extended release morphine along with the hydrocodone I was already receiving. In the time since I’ve been on methadone, and now transdermal fentanyl fills the role of my 24/7 medication, and the hydrocodone has been replaced with oxycodone. I also have adjuvant medications like muscle relaxants and sedative/hypnotics. All in all, it took nearly four years to get my pain under control.

Now that I see a good doctor–who does his best to help me manage my pain–I thought my fight might be over. It took day after day of good days and bad days before it dawned on me that I only won a small battle, and while I’ll spend the rest of my life at war, I’ll never win. I’ll continue to have good days where the pain is balled up into a corner of my mind, and I’ll continue to have bad days where I’m balled up into a corner of my bed. I’ve always known this, but only recently has it really fully elucidated itself: I will be in gut-wrenching pain for the rest of my life.

Knowing that, it begins to dawn on me that I will be unable to live the life I want to live. A given activity may be restricted or even impossible for me to endure. Walks in the park are now a test of my pain threshold rather than a harmless stroll. Going out with my girlfriend to places like malls is now not only mind-blowingly boring, but back-breakingly painful (one might think this is a good thing, but any time together is good time together). Not only are these things difficult now, but my condition is degenerative; it will continue to get worse every single day, as will my pain. While a walk through the mall may seem hard now, walking at all may be an arduous task in the not-too-distant future.

So where do I go from there? Will I become legally disabled and unable to work? What of my plan to go to medical school? What of all the hard work I’ve already put into school? Medical disability programs in this country are pitiful, and a mere pittance compared to my current income, let alone the future income I could achieve with a medical license. Being a physician is physical work, and carries the longest hours of any profession. I’m not implying that I couldn’t get a degree, but what am I to do with it if my physical limitations continue unabated? Will I be seeing patients or will I be relegated to boring research?

The degeneration could be curbed by strong back muscles, but in order to get stronger I have to exercise, and that is quite difficult when mere walking is a test of pure will. I don’t believe any amount of medication in the world can change this. My medication barely allows me to function in the world. I’m lucky when I get out of bed and get back into it without some horrifying pain in-between, let alone adding purposeful physical exertion into every day. Perhaps if I take a morphine shower afterwards.

As things are I take quite a bit of strong, dangerous medication and it barely manages an uneventful day. I frequently employ the aid of a cane. If I so much as play with my little nieces or wrestle around with my girlfriend, I pay for it dearly. I used to think that bill would stop coming, but I really do realize now that bill controls my life. It controls what I can and can’t do. I can think “don’t let this control me, don’t let this be who I am,” and yet it is anyway. My pain is my life, and my life is pain.

Supreme Court Says: “Screw You, America!”

I’m thoroughly unsurprised to hear that the Supreme Court has cockblocked Democracy.  Whereas previously we had the illusion of a people with a voice, now we’ve got companies freed from their shackles to spend whatever ungodly amount of money crushing their opponents as they’d like.

Take a gander at some relativity on recent news.

The health care reform is an important issue; I know far too many people who work “part-time” jobs more than 40 hours a week and get health care coverage that basically amounts to “we’ll buy you some vitamins at the Safeway.”  That so many people should go without health care completely and others who have it should have such marginal coverage, in our behemoth of a wealth-generating nation, is a travesty.

Democrats being terrible at campaigning and losing at key issues when they have all the leverage is an important issue; see health care reform above.  It shouldn’t come as a shock that people are pissed off that Oakley lost, it was a deck horribly stacked against the Republicans and she couldn’t be bothered to win cause she needed some time to take down her Christmas lights or whatever.

But these issues are all passing problems; if health care reform passed in any form, it’d be repeatedly challenged.  If Democrats had won in MA, they’d still face down a hard fight in November and in 2012.  They are things that require passion on both sides; Democrats to be infuriated that their party is so impotent, and Republicans to be spurred on by their victory.  This verdict handed out by the Supreme Court is a body blow to both sides.

You see, as it was previously, there was already a value assigned to a seat in Congress, or to the White House.  You couldn’t get your foot in the door without millions to advertise and put your name out there.  With PACs and other outside donations, the latest presidential race reached astronomical financial proportions.  The only thing holding the reins back was the fact that the richest constituency, the faux people created at each and every corporation to provide a taxable singular entity, were barred from unlimited contributions.

The donations provided by individual Americans were a huge boon to the Obama campaign.  However, if you think of what sort of amazing advertising can be bought with $100 million, think about the fact that during the 2009 Super Bowl, NBC sold their spots for $209 million, and that’s not including the production costs.  Hopefully, once you realize that the budgets of all the camps in the biggest presidential campaign in history was blown for one day of advertising by the private sector, you’ll see how the Supreme Court just fucked America.

New Theme and Other Drudgery

I’ve updated the look of the blog, with a brand-spanking new theme I downloaded.  I like it pretty well, it displays the plugins in a much easier-to-read format, and I’ve always been partial to darker-colored themes.  I meant to update the title, as I found another blog a few months back with my exact same theme (the old one) and almost the exact same title.  It turns out my clever and witty acceptance of the sheer number of blogs in the universe wasn’t as original as I thought.  It’s kind of ironic.

Therefore, I need a new title.  I have space for a title and a subtitle.  Currently “JAB – Just Another Blog” and the Full Metal Jacket reference fill those two slots.  I’ve thought that maybe “Thoughts of a Dying Atheist” and “This body was born from death, all it can do is die” would work.  But, aside from the fact that no one would get that it’s a Muse song and a Doctor Who reference, I’m just not sure it really fits me.  I deleted the only draft of a post I was writing on theism, and I wouldn’t describe myself as an atheist anyway.  The deleted post covered it, but I’m not sure what I would call myself.

And that’s the final change.  I had about 6 drafts, all waiting for a mystical “some day” to be edited and posted.  That was an ever-growing pile of lies I was telling myself, so they’re gone.  I thought I had some good writing in a couple of pieces, but it was mostly the same steaming pile of crap over and over.  I don’t know how many times I can get away with saying I am sad about being lame, but I get the feeling if I want to find the line to cross I’ll have to turn around.  This is also somewhat like “The E-mail DMZ” only on steroids.  And a blog, you know, instead of E-mail.

When you click on that link, browse the site a bit.  The guy has some good ideas.

That’s all I got for now.

Return top

About Me

I do software development and database management. I went to school for harp performance and I'm pretty decent at it. I'm going back to school for linguistics, cause it's fun.
Here's some more, if you're interested.