Wednesday, August 13, 2014

Depression the Disease

Matt Walsh recently blogged about the tragic suicide of Robin Williams, suggesting his death was solely by choice, not due to the disease that is depression.

I find this viewpoint troubling.
Suicide. A terrible, monstrous atrocity. It disturbs me in a deep, visceral, indescribable way. Of course it disturbs most people, I would assume. Indeed, we should fear the day when we wake up and decide we aren’t disturbed by it anymore.

Walsh's point seems to be to stir the pot and compel people who suffer from depression to chime in, along with their counterparts who believe depression can simply be shaken off like dust or debris. Certainly, many bloggers in the political arena do this and make considerable bank through advertising along the way.

I intend to stick to one question, though. Does suicide not equate freedom:
It is not freeing. In suicide you obliterate yourself and shackle your loved ones with guilt and grief. There is no freedom in it. There is no peace. How can I free myself by attempting to annihilate myself? How can I free something by destroying it? Chesterton said, “The man who kills a man, kills a man. The man who kills himself, kills all men; as far as he is concerned he wipes out the world.” Where is the freedom in that?

Suicide is, ultimately, a selfish act, an act of indulgence, where one sees no other options and succumbs to the one that appears to be the only one left. Yet does suicide not free the sufferer from the shackles of their depression?

Yes, it does.

Depression, insidiously, narrows one's outlook on life so drastically that it seems like the only viable option. Similar to being trapped in a deep, dark hole, all you can see is emptiness above. All the rich landscape of one's life, their loves, interests, hopes, dreams, are stuck above the lip of this hole, a sort of event horizon. Unreachable, out of sight, out of mind.




A person in this frame of mind cares not about loved ones, much less society or humanity. Far from it. Suicide to this person is a means to an end, the end of their pain. At least, in most cases nowadays.

In ancient Japan, samurai who failed their masters might be compelled to perform ritual suicide or seppuku
Seppuku (切腹, "stomach-cutting", "abdomen-cutting") is a form of Japanese ritual suicide by disembowelment. Seppuku was originally reserved only for samurai. Part of the samurai bushido honour code, seppuku was either used voluntarily by samurai to die with honour rather than fall into the hands of their enemies (and likely suffer torture), or as a form of capital punishment for samurai who had committed serious offenses, or performed for other reasons that had brought shame to them. 

In this there are elements of spirituality and practicality. On one hand is the bushido code which holds honor in high esteem and is bound to the warrior's soul. On the other is the simpler wish to evade capture and potentially suffer and be compelled to reveal secrets at the hands of one's enemies, at the expense of their superiors and subordinates.

A combat general, tried and tested on the field of battle, is an asset not to be squandered, and yet numerous such generals would take their own life in the face of failing their leader. Why?




The honor, discipline, and spiritual landscape embraced by samurai generals long past is outside the scope of this discussion. But indeed, seppuku, the act of suicide, is undoubtedly a choice; taking a razor-sharp blade and slicing back and forth to disembowel oneself isn't something someone of sound mind and body would do. It is, though, what someone mired in depression might.
We tend to look for the easiest answers. It makes us feel better to say that depression is only a disease and that there is no will and choice in suicide, as if a person who kills themselves is as much a victim as someone who succumbs to leukemia.

Thing about depression is, it kneecaps one's ability to see beyond the crisis in the now. Past and future are meaningless, only the present matters, and that bleak present is what can lead one to that final, ultimate choice. Depression is the monster that chips away at the individual, bit by bit, and saps them of hope. 

To suggest that the suicide victim's final decision in committing to end their human life is separate from the disease that is depression seems naive. It is a decision made under extreme duress, obscuring outside influence and internal dialog that could pull them out of this tailspin of despair.

If a deeply depressed person could suddenly disable their depression, step outside themselves and judge themselves without prejudice, they'd likely find ample reason not to commit. That this is often hardly possible without outside intervention speaks to the notion that a person in that situation is incapable of choosing something other than a most expedient, tragic route to end their suffering once and for all.

Matt Walsh doesn't know depression, rather, he looks at it at arm's length like a dark jewel, curious and wanting to exploit its darkness for profit in the wake of a celebrity's passing who suffered from this disease.




Saturday, August 2, 2014

Mah Knife Is Too Big!

REJECTED by Don Hertzfeldt is one of my favorite animated short films ever.

Recently, I'd come across the video below, showcasing the Microtech Halo Giant OTF (out-the-front) automatic knife.



Apparently you can actually buy one for just under $10,000 from a few online knife retailers. It occurred to me... if I took the plunge and actually bought this thing, I could legitimately say...

http://amzn.to/1ALatBG

"Mah KNIFE is too big!!"



Intel SSD Toolbox Download Problem

In trying to download the latest Intel SSD Toolbox (version 3.2.3), I found that I could download neither with Firefox nor even Internet Explorer. 

Clicking the "I accept the terms in the license agreement" didn't start the download as I'd expect, and clicking the "do not accept" also did nothing.


I right-clicked on the page and clicked View Source, and managed to find the direct link. I bypassed complying with the license agreement, true, but if Intel had tested their site code thoroughly, maybe a workaround like this wouldn't be necessary in the first place.


Here
is the direct download link.






 

Thursday, July 31, 2014

Fiverr

Selling yourself on the internet has become easier thanks to fiverr.

Fiverr



There are many slang terms for cash. Bread, loot, Benjamins, cheddar, and of course fiver, to name a few.

Fiverr doesn't just add an extra "r" to this colloquialism, it adds a new take on buying and selling services from virtually anyone online by enabling people to turn their hobbies and expertise into income easily. 

Showcasing tasks, or gigs, offered by members of the community (many starting at a flat fee of $5, hence the fiver), the "Gig Economy" enables its sellers to freely pick and choose among thousands of different goods and services, ranging from creating a video or business logo to programming help to selling custom-made gifts.
 
Fiverr



Sellers are ranked according to how well they do, their response time, and for additional $5 amounts, buyers can augment their base purchase with additional options.

Payments can be made through popular payment services like PayPal, credit cards, even bitcoin.

Fiverr

Of course, in addition to purchasing gigs from other members, you can sell yourself as well by creating gigs of your own, based on whatever you do well and enjoy doing, whether serious, frivolous, or anywhere in between.

In an age where todo lists grow longer and free time grows shorter, Fiverr enables you to delegate small tasks or create things to free up more time for you, for a very modest price.

Join today and become part of the Gig Economy, dig?

Wednesday, July 30, 2014

Arachnophobia Explained

Picture this.

You are a hominid. Australopithecus africanus, perhaps. Foraging for nuts and berries, perhaps claiming the occasional ancestor of modern squirrels or rats or mice.


 
Then, it happens. An octagonal shape descends through the cloud tops, descending gently, purposefully. Your tribe, surprised, crouches to the ground and looks up with fearful eyes.



The shape descends, a plume of dust rising from the earth around its landing site. Silence, for a few minutes, and then, a light beams out as a portion of the thing descends, making contact with the ground. Minutes pass. Hours. Finally, the shadow of some eight-legged... thing... is cast upon the dirty earth. 

A gigantic spider.



Our bipedal ancestors know not how to react, other than with abject horror. With tremendous strides, the spiders leapt upon their humanoid prey, envenoming them quickly, then moving effortlessly to the next. The resident humanoid population is brought quickly under the arachnids' control. 

But then... what's this?

A rogue among the spiders, a rebel, looks upon the scrawlings of animals scribbled upon cave walls with charcoal by humanoids not with indifference, not with pity, but with admiration. 

Wait, what's that? In the shadows? Another of his ilk... female

In the nearly lightless cave, they both gaze in awe at the crude glyphs. Days pass. Weeks. They, too, prey upon the indigent humanoids for sustenance. A few elude their predators with cleverness, savvy. The traits the biped survivors carry in their genetic heritage will be passed along to future generations.

Eventually, their comrades decide Earth is an unsuitable world. With their advanced technology, they can glimpse into the future of this planet, see that eventually these simple humanoids will evolve into creatures most dangerous to a strangely diminutive progeny of their kind.


The octagonal craft lifts off, punches through the cloud tops, and quickly vanishes into the depths of space, a faster-than-light drive hurling the aliens to parts unknown.

Meanwhile, the male and female mate. They begin their own brood of young, and as they emerge from their silken egg sac, they greedily feast upon their father's now headless carcass.

The female looks upon her children for a moment. This planet, she knows, will be less kind to them than her home world. The gravity, greater; the atmosphere, less oxygenated. Eventually, future offspring may reduce in size, though increase in numbers.

Survival, in whatever form, is not without cost.

. . .


Years pass. Centuries. Millenia. Millions of "years".

The mother's corpse and her children have long since been cast to the winds of this world as dust. Now, the varied descendants of this alien race lurk in the shadows. The cold equations revealed in their glimpse into the future have, apparently, come true. These humanoids are of tougher mettle than their brutish cousins left behind in the distant past. 

Yet, what is that twinge of fear, of horror, that lurks in the minds of so many a human being? When those small, eight-legged creatures dash out from beneath a refrigerator, drop down onto them from a ceiling, or worse, capture them in their vulnerable nakedness upon emerging from their daily cleansing ritual?

In the end, this matters little, for they have mastered... fire.





Thursday, April 17, 2014

Intermittent PageRequestManagerParserErrorException With Full Postback

I have a project with a bunch of ajaxified Telerik controls within several nested UpdatePanel controls. As part of an Excel export process, I have a button which upon clicking performs a full postback, generates a spreadsheet from a RadGrid, and finally prompts the user to download the file. 

Once in a while, though, the export process would throw the dreaded and unhelpful Sys.WebForms.PageRequestManagerParserErrorException exception.



Eilon Lipton's helpful post gave a handy checklist of things not to do, but in spite of ensuring all the common causes were accounted for, it would still occur occasionally.

I tried implementing a workaround shared by a colleague and thus far it appears to have helped. This involves setting the OnClientClicked event handler of the export button so that it triggers a brief pause prior to initiating the full postback using a client-side Javascript.
function onExportClick(sender, args)
{
     setTimeout(

          function () 
          { 
               __doPostBack(sender.id, "_MyButtonID") 
          }, 
          500
     );   
}

The error itself points you in the right direction, but some more context sure would be nice. Anyway, apparently this script mitigates situations where the Telerik controls are still in the process of being rendered when the full postback is initiated, corrupting the Response header in the process. 




Thursday, March 6, 2014

Total Thyroidectomy

Around 18 years of age, my thyroid gland decided to start getting busy.
 


Meaning, bigger.

Called a "goiter", the result of Hashimoto's thyroiditis, my immune system assaulted the gland over the years and prompted it to create scar tissue and increase its size. As far as it was concerned, this thing was a foreign body needing termination.

Fast-forward to age 40.

A friend of mine who works with kids contracts pertussis, aka "whooping cough", a childhood disease largely controlled with childhood vaccines, but which has found new life thanks at least in part to anti-vaccination activism. I happen to contract almost identical symptoms a short while later. I wake up nights with unprecedented difficulty breathing. My throat feels clogged with mucus, and the hacking cough lasts a good month or two.

I decide it's time to get this thing out of me. Total thyroidectomy.

I consult a local ear-nose-throat doctor. We commit to surgery. She gives me a warm hug on my way out of the initial appointment.

I go to a pre-op appointment. Alex, a Korean physician's assistant, opens the floor to me to ask questions. I ask my wife's questions first, how soon prior to the surgery can she see me? How long is recovery?

Questions answered, I'm out. The following Friday, I wake up at 5-dark-thirty to arrive at the hospital around 7am. The reception nurse, sleepy but awake, leads me into the prep area. I'm asked to disrobe into one of those humiliating ass-open hospital robes, and need help tying off the lower part. She reassures me, she's seen plenty o' butts, and helps tie the knot.

I'm led to a bed, where an intake nurse sees me next. We review my meds, whether I've taken aspirin, fish oil, any other OTC drugs that might cause excessive bleeding. Being a compliant patient, I've refrained from taking these for a full 5 days prior. I've even showered and scrubbed the area with a chlorhexidine-containing soap to minimize the number of microbes loitering around my neck.

The nurse inserts the IV into my forearm. The vein is sketchy, so apologetically she tries again, this time atop my hand. Success!

Bruce, the anesthesiology nurse, warmly greets me. A friend snaps a shot of me smiling wanly in the hospital bed, and then I'm wheeled off toward the operating room.

Upon arrival, Bruce whips a syringe out from his chest pocket, then injects its contents into my IV. Versed, he says. Cool! I'm hopefully I'll start feeling woozy, euphoric. No such luck, however.

I'm there, in the OR, a few minutes. Someone places a mask halfway across my nose and mouth. I breathe normally and then... like some ridiculously swift transition in a movie, I find myself in recovery. I have utterly no recollection of the events that transpired.

I gingerly probe my neck, and it seems genuinely less massive. The thyroid is gone, it would seem. A tube leading to a squeeze bulb meant to suck out fluids hangs at my chest, and the remainder of the wound is sealed with some sort of novel purple "glue" meant to bind incisions.

A friend along with my wife rescue me from the hospital and we drive. We decide to have dinner at a local sushi restaurant we enjoy. Despite the lingering haze of the anesthetic (which imposes a noticeable delay as I try to piss in the restroom), I find I can fairly easily chew and swallow our food. Famished, I devour it eagerly.





The first few days following surgery, I numb the pain with hydrocodone provided by the surgeon. Recovery is, thankfully, largely uneventful. Now at a week afterwards, the glue has all but fallen away, and the surfacemost areas of the scar have healed over. I now apply Mederma several times daily to deter the formation of an annoyingly visible scar.

I can swallow much more easily, and although now I add another medication to my daily regimen (levothyroxine, the brand name of the well-regarded thyroid replacement hormone), along with Humalog and Lantus to manage my type 1 diabetes.


It doesn't bother me as much. Just being able to breathe and swallow more easily is a wondrous thing.




Thursday, February 20, 2014

FocusMonitor Identifies Processes Stealing Focus

Recently I've been having issues with some process stealing focus from the application I'm working in.

Like I'll be in Visual Studio or Word or Waterfox (a 64-bit performance focused build of Firefox) and suddenly focus is swapped for a split second and whatever word I'm typing gets cut off or a button I'm clicking isn't.

I found a very helpful post by Matt Gertz from some years back where he provides some VB.NET code for an application that can monitor processes that steal focus from it. I'm more of a C# guy myself, so I've run with Matt's core logic and created a 32-bit C# application in Visual Studio 2010 which provides similar functionality. It will also let you copy the log info to the clipboard to paste wherever for further examination.




I call it FocusMonitor, and you can download the source code.





Sunday, February 2, 2014

Cannot Install Windows Updates

My Windows 7 install inexplicably began to have issues with installing updates.

Service pack 1 installed fine using an installer, but other incremental updates consistently failed, they would download but they'd be skipped by Windows Update and reported as having not been installed.

One fix involved deleting a folder and letting the update process recreate it, specifically this one:
C:\WINDOWS\SYSTEM32\catroot2

This folder contains part of an internal Windows database which it uses to track updates, and a log file, dberr.txt, which was rife with error messages like these:

CatalogDB: 6:27:32 PM 2/1/2014: catdbsvc.cpp at line #3454 encountered error 0x8007000e
CatalogDB: 6:27:32 PM 2/1/2014: catadnew.cpp at line #1915 encountered error 0x8007000e
CatalogDB: 2:16:29 PM 2/2/2014: catdbsvc.cpp at line #969 encountered error 0x8007000e

 
Interestingly, the error 0x8007000e was frequently returned as a response in the failed attempts to update.

Based on this seemingly corrupted database folder, I decided to try deleting it and then have Windows recreate it by taking the following steps, and now updates are again able to be installed.
  1. Open a command prompt with administrator access.
  2. Stop the Cryptographic Services, which normally has a lock on the above mentioned folder, by typing this: NET STOP cryptosvc
  3. Rename (or, if you're brave, delete) the C:\WINDOWS\SYSTEM32\catroot2 folder.
  4. Start the Cryptographic Services by typing: NET START cryptosvc
  5. Run Windows Update, and then have it download and install one or more updates to verify that it does so successfully.

After doing this I was able to download and install the latest updates successfully.



Saturday, January 11, 2014

Manually Invoking TRIM To Restore SSD Performance

I've had my SSD for almost two years now and although Intel's SSD utility shows it as having plenty of life remaining, I'd been reading up on TRIM and the details of how SSDs manage their space.

TRIM is a kind of garbage collection for SSDs, for although SSDs don't experience data fragmentation of the sort that hard drives do, there is clutter which can accumulate over time and negatively affect performance.

I found a forum post on "refreshing" SSD performance which mentioned a tiny utility called ForceTrim, which tells your SSD to perform TRIM processing and smooth out the "wrinkles" in its data storage.



Using CrystalDiskMark to benchmark my SSD performance before running ForceTrim, I saw performance close to what it was when I first started using this SSD as my operating system drive:

BEFORE - Seems pretty close to new SSD performance.


I then opened ForceTrim, selected my C: drive, and clicked TRIM. As the tool advised, I waited around five minutes for the drive to "recover", then reran the benchmark:

AFTER - Modest gains pretty much across the board.

It does appear that manually invoking TRIM can provide a modest boost in read and write performance for an SSD. Perhaps in the SSD age, forcing TRIM once in a while is the "new" defrag?