Ramblings of a software developer

Tuesday, August 12, 2014

On Robin Williams, Depression, and Compassion

Like most of the country, I was surprised and shocked by the news of Robin Williams's passing. I've read, thought, and felt a lot since then. There's so much swirling around in my head right now, that I figure if I capture even a tiny fraction of it here, this post will be successful.

First, was the actual news. I could not believe it. Wasn't he young? People die young all the time, but he was the same age as my mother! Then came the news about the apparent cause. As that began to sink in, I started to realize the torture he must of been going through his entire life. It occurred to me that his utterly brilliant career was an attempt to fight off his inner demons.

Depression is a real thing. As someone said on the internet lately, it does not discriminate. I cannot even begin to comprehend the daily torture that Robin Williams went through, and countless millions of others go through daily. I have read descriptions of what chronic depression feels like, and it pains me to know that other human beings feel like that all the time. The strength that one must have to make it through life day after day after day--let's just say that part kind of blows me away.

It's not as if I don't have plenty to be depressed about. My daughter was diagnosed with cerebral palsy about a year and a half ago. The journey of raising a child with special needs is fraught with anxiety, worry, sadness, frustration, and doubt. You often don't know what the correct action is, because you are not on the well-trodden path of parenting normal kids. It breaks my heart when I see other kids her age (and younger) able to do so much more physically than she can. I have every reason to have depression.

And yet, I do not. I find joy wherever I can. My daughter and I share an interest in astronomy. We often have conversations about Saturn, and Jupiter, and stars, and black holes. She sings a lot. I mean a LOT. It sometimes feels like every other breath she takes is in song. I can't help but smile at that. I also find joy in things not related to raising my daughter, like practicing and performing piano, and computer programming.

So, now I'm supposed to say something like, "See, depressed people? All you're missing is some joy in your life. All you have to do is find the thing that gives you joy, and go do it. It's as easy as that!" But I'm not going to. Because having a daughter with cerebral palsy has done more than just give me anxiety, worry, sadness, frustration, and doubt. It has taught me compassion. If it were easy for people with chronic depression to just "snap out of it" by throwing in some joy (as if joy were some kind of pill you took with water), they would've done it a long time ago. Look at Robin Williams. Even after a successful career of making award-winning movies, performing side-splittingly funny stand-up routines, and bringing joy to millions, he still couldn't defeat his demons. One cannot "snap out of" depression any more than one can snap out of cerebral palsy.

I grieve for Robin Williams. I grieve for the Unitarian Universalist minister in Norfolk who took her life last week. I grieve for my cousin. I grieve for my high school band director's son. I grieve for that girl I knew in high school who played saxophone. And countless others whose inner demons overcame their inner strength. My heart goes out to everyone who hasn't yet given in. I hope you never do. I hope that you are able to find a way to chase your demons away, so that you don't have to be strong all the time. I hope that you are able to live your life the way it should be lived: without a constant struggle.

Friday, June 28, 2013

Civil Marriage Verses Civil Union

From time to time I have heard the argument that the legal contract between two people as recognized by the government should be called a "civil union" rather than a "marriage". I think the idea is that having it be called "civil union" would make it easier to convince people that it's OK for same-sex partners to get one, because "marriage" connotes the religious union, and most people opposed to same-sex marriage think of it in that context.* While I agree that calling this legal contract a "civil union" would be OK, assuming it guarantees same-sex partners equal protection under the law, I think that pushing for a name change would actually cause more problems than it would solve.

The current legislation and case law use the word "marriage". This includes all the state laws in all 50 states and the federal laws, such as the one requiring states to recognize marriages from other states. If we were to start calling it "civil union", all of that legal infrastructure would go out the window. A new federal law requiring states to recognize civil unions from other states would need to be enacted, and each state individually would have to enact laws that replace marriage with civil union. I could see this getting messy very quickly.

Also, what would happen to current marriages? Would they suddenly become civil unions under the law, or would they be "grandfathered", and only new legal contracts would be named "civil unions"? Neither choice seems good. The former would anger a lot of couples who would probably feel their legal union had been downgraded, and the latter would not serve the original purpose (equality under the law) for a long time.

For these reasons I think that it would be easier in the long run to keep calling it "marriage" and change current law to allow same-sex partners to be legally married. We need to convince those opposed that we are not talking about the religious institution of marriage. Indeed, if we are following the Constitution, we can't be, since that would violate separation of church and state.

*My apologies if this sentence seems awkward. I really just wanted to use the word "connotes", and I tried to structure the sentence such that I could. I mean, really: who wouldn't want to use the word "connotes"?

Sunday, October 12, 2008

ReactOS -- some thoughts

ReactOS (homepage) is a very interesting project to me. It is billed on their website as a free replacement for Windows, and they're aiming at being 100% binary compatible with Microsoft Windows.

Now, I've been a die-hard Linux user for about 12 years now, and I've seen the technology for Linux get better and better. If ReactOS became a viable operating system, I'm not sure what I'd do, however. It currently seems inconceivable that I would switch away from Linux currently, but in the future...?

First, I should share the reasons why I became a Linux user in the first place, and why it stuck. Way back in the dark ages (mid 1990s or so), I was in school. Music school, to be precise. I had heard that the university's Unix servers had a C compiler you could use for free, which was rather cool in my book. I wanted to learn C (I don't remember how I had originally heard of C or why I wanted to learn it, oh well!), so I did some telnetting in to the Unix servers for a while.

That became a pain all too quickly. Only being able to do stuff from the command line became really inconvenient. I was kind of stuck, though. As a poor (and cheap) college student, I didn't want to fork out the cash for a compiler for Windows (there weren't any free ones at the time). And I couldn't justify it either, since I was a music major, not a computer science major.

Then I heard about this Unix-like operating system called Linux that you could run on a PC. On a PC! Way too cool. And hey, guess what else? You could download it off the internet for free! And yes, that means a free C (and C++) compiler.

But, how did I install the thing? 'Twas a sticking point. So I eventually learned about partitioning hard drives, dual booting, and a slew of other stuff that most computer users don't get into (and wonder what insanity would drive someone to it :-). And then, after playing around with Linux for a while, I learned about the Free Software philosophy and all about this community that develops software not for a paycheck, but out of love for the craft.

That was ages ago. Now my PC is a single-boot Linux box with Kubuntu installed, and when I need to run a Windows application (which is rare), I run Windows in a virtual machine.

OK, so... How does this all relate to ReactOS?
Well, Linux is arguably weaker on some things than Windows is. Lack of driver support for peripherals is the main one. Application support is really not an argument anymore as far as general purpose applications go, but usually the default platform for developers to develop for is Windows, so Linux is arguably behind on that front too.

So why not switch back to Windows? After all, Windows has all the driver support and applications you can shake a stick at, and it now has free C/C++ compilers too :-). Answer: draconian EULAs. I recently moved my Windows installation from a hard drive to a virtual machine. Seems simple, right? I should be able to do something like this without the DRM police coming after me. Right?

Wrong. I had to call Microsoft to reactivate my software. Until I called them to talk to an automated service to reactivate, I couldn't use the software I had paid good money for because it decided I might be a pirate. Guilty until proven innocent.

Enter ReactOS. It's released under the GNU GPL (same as Linux), so there are no licensing restrictions on what I can do with the software. Nice. When this project is mature, I can only imagine what I could do with it. I envision a dual boot machine where on each side a virtual machine runs the other OS--virtual ReactOS on Linux, and virtual Linux on ReactOS. Maybe install a copy on my laptop too. Since I don't have to pay for each copy I install, I could do this without breaking the bank. Very nice.

Now, An operating system, particularly an open source one, is nothing without a community. What good is an OS if nobody uses it? Here are some things the ReactOS people should do to ensure they develop a vibrant operating system:
  • Make the OS attractive in its own right. An OS won't gain much traction unless it offers something others don't. Simply being a replacement for another OS isn't enough. (And no, being free doesn't count either, I'm afraid.)
  • Allow customization of parts of the OS that Microsoft doesn't currently offer. Linux, for example, has a whole boatload of themes you can choose from to customize the look and feel of your desktop. Do that in ReactOS too.
  • Make the OS attractive to developers. Offer development tools that make the developer's life easier. Develop scripting languages for automated tasks.
  • Encourage current free software projects that run on MS Windows to test on ReactOS as well. Achieving absolute 100% binary compatibility is probably impossible, but 99.99% compatibility is probably not. It's up to the developers of end-user applications to provide that last 0.01%.
  • Encourage more free software projects to start on (or port to) ReactOS. If more software is available, people will be more likely to use it, and thus a bigger community, which helps with the other stuff I've mentioned.
Just some thoughts. It'll be interesting to see how this project turns out, and how long it takes Microsoft to notice.

First Post

Hello there! I don't know how you've discovered this blog, but I hope you don't find it extremely boring. If you do, feel free to click that "X" on the upper right corner of your browser window (or upper right, depending on your operating system :-).

I find software very interesting. Particularly free software. I also find music interesting. I will probably blog on both. Really, I will probably blog on whatever I feel like, which is what most people do, right?