Sunday, November 17, 2013

Logic vs. Butter

I recently outed myself as an atheistic agnostic.  As such, I find myself thinking differently.  Historically, I have always been at odds with certain moral dilemmas, my logic not always aligning with my Christian influences.  Having set those influences aside deliberately, I have some issues to deal with.

One of those issues, regrettably, is butter.

The quandary is this:  what is moral?  What is right?  It is easy and natural to fall onto defining moral as what results in the most comfort (or least discomfort) for a group.  But what is that group?  Clearly, I want to be in it.  I want my wife in it.  My parents.  My children.  You (assuming anyone actually reads this).  But I find difficulty in knowing where to put that line.  Is it all of humanity?  I say yes, I would want all of humanity in that group.  It would be very, very, very convenient for me to draw the line there.

But there are issues with that.  I have had several dogs that I care(d) deeply for.  Their suffering does not seem trivial to me, so I'd want them in that group.  I would not consider it moral to abuse any of my pets.  Dolphins and Bonobos copulate for pleasure, and that's kind of cool.  So lets add them in.  Many animals have demonstrated ethical behavior.  So lets add them in.  I can't look into the eyes of a being that thinks like me and revert to a morality that states a 1% genetic difference invalidates its suffering.

So now the best I can rationalize is that what is moral is that which reduces the suffering and/or increases the pleasure of conscious beings.  Our robot overlords will love me as a house slave.  But until then...

I have to figure out how to live morally in a society that feeds its populous through what I now see as the morally bankrupt practice of abusing animals.  Many human societies throughout history have had a respectable symbiotic relationship with livestock.  I do not see ours as one.  We do not cherish the cow, chicken, turkey, or goat.  We have a parasitic relationship.  We abuse them.  We breed them to be abused in life and tortured in slaughter.  We have laws that protect pets, and excuse food-providing animals from those same laws so that we can have $0.99 chicken nuggets.

Now please do not misunderstand, cheap food is a very worthy goal.  But is it not one that we can meet without this abuse?  I think it is.  But only through an animal-free food chain.  When you add in an ethically treated animal, it just seems to cost too much to feed a man.

For that reason, I am now a relaxed, ethical vegan.  The ethical side of this is that I have no problem with consumption of animal products if they are obtained ethically.  But I do not want to support the US food industry at large due to its practices.  I am relaxed as in this is my problem, not yours.  I'm not asking anyone else to go out of their way for my moral problems, especially when most of the persons I associate with have a different moral basis, one that allows for these practices.

Although I won't complain if you throw a few extra vegetables on the grill and keep the butter on the side.

Thursday, October 25, 2012

Roadshow Experience

As I write this, I am sitting in Nashville listening to a group of developers jam on guitars / Bass.  It is a good night.

The event is the Nashville .NET Rocks Roadshow.  The speaker was Kate Gregory.  As expected, she gave a good presentation on C++ 11 and C++ Amp.  I have a strong C++ background and know these subjects well, so there were no big surprises, but it was still a good talk.  It is nice to hear a competent defense of C++ in the wake of the developer productivity that is .NET.  I do wish that she had addressed what I think is a problem - catching up to productivity enhancements every 10 years is nice, but C++ really could use a quicker cadence for specification modification.  I imagine that in 10 years we will be back on the defensive talking about missing features.

Carl and Richard both gave good talks that both hold possibilities professionally.

But by far the most interesting part of the evening was the live recording of a .NET rocks episode.  It is interesting to, in a small, personal way, be a part of something public that has had a big impact on my life.  It is odd to see some of what goes on behind the curtain, but it was a very good experience that more than met expectation.

Now the after party is going.  I had a chance to catch up with some friends I made at Codestock, but now most have left.  Carl is participating in a jam session.  Richard is running a scotch session.  I sit alone in the corner blogging.  I am losing the battle against a plague my children morphed into something entirely unnatural, and definitely do not want to infect a travelling show.   

Jimi Hendrix.  I wondered how long that would take.  Apparently 4 songs, or 1 hand-written blog post.

If you get a chance to attend one of these events, I highly recommend it.  If you do, stick around after.  There is more to life than work. 

Tuesday, September 18, 2012

Ergodex DX1 Windows 8 Driver

I have updated the Ergodex DX1 driver that I support to include Windows 8 support (tested on x64, untested on x32).  In order to do this, I had to purchase a VeriSign Authenticode account and sign the driver.  The setup experience should be a little smoother across the board now that the driver is signed.  This did require a capital investment of $100, and that will be a yearly fee, so if you get use out of this product I would appreciate a contribution (Available at our website at http://www.in-character.com and linked from in the tool using the "$" link on the main screen).

The driver, version 3.1, is available on our product page at http://www.in-character.com/Pages/ErgodexDX1Suite.aspx.

Here is a direct link for download:  http://patrickvhines.com/Releases/DX1_Driver_3.01.zip

Saturday, July 28, 2012

Ergodex DX1 Suite 2.04.0128 Released

I have released version 2.04.0128 of the Ergodex DX1 control software.  It is available on the product page at:


This adds a new big feature (macro support) and has been lightly tested.  I also reworked the UI for simplicity.  The next release is planned to be 3.0 with a full round of testing.  Please do not hesitate to send me bug reports.

Thursday, July 5, 2012

Ergodex DX-1 Driver 2.03.0101 Released

I have updated the Ergodex DX-1 driver project and released it.  It is available on the product page located at http://www.in-character.com/Pages/ErgodexDX1Suite.aspx.  I did not have time to do what I would consider adequate testing on this.  I know of a few bugs in the tool.  This is mostly a baby-step release on the way toward full macro support, which is why I am proceeding with a release in the current state.  I did add the ability to bind to modified key sequences (so you can now bind a DX-1 key to shift-A, for example).  Hopefully my other projects will allow a relatively quick release supporting macros, but given the number of side projects going at the moment, I can make no promises.

Tuesday, June 26, 2012

Codestock Keynote - Nick Bradbury

A Message For Me

I recently attended the Codestock conference, a conference for software developers.  At the end of the first day of the conference, there was a keynote address by Nick Bradbury.  This keynote seemed to have been written special for me, and I thank Nick for delivering it.  I do a lot of software development outside of my employment.  While this is not for financial gain, it is still real software development, with real customers.  

Make something you need

Nick's message was about the life of the independent developer.  While I do have a more standard employment relationship, in some limited aspect I am an independent developer.  I struggle at times to stay focused, to know which project to work, which project to prioritize.  Nick's first point that really struck home with me was to make something you need.  Several of my projects are things that I think will benefit others, but are not things that I need.  I can see in his points things that I struggle with on these projects.  Lack of motivation.  Lack of insight.  And ultimately lack of releases.  There is one project that stands out as something I need, something I want.  This project needs the lion's share of my time, which Nick has helped me see.


No one reads help

I have pushed this repeatedly in my workplace, oft to no avail.  But it was elegantly stated during this keynote.  My recollection, probably less elegant, is that if a feature needs a help file, the feature needs to be redesigned.  Intuitive experience is one of the most important aspects of your software.  I believe that customers will not open your help, but will instead just go to your competitor.  And you always have a competitor.


Staying Relevant

A large part of my life is spent staying relevant.  I do not want to spend the sunset of my working career maintaining legacy software.  I want to be a driver of technology.  To that end, I give up a lot.  Probably too much, but only that which I see as needed.  It is a hard rope to walk, managing family and work life.  I fail daily, but my family is provided for, I remain relevant.  But in the quest for relevance and skill maintenance, I tend to get distracted by making, and often drop the learning ball.  If this time is so important, it needs to be primarily time that makes me more relevant, more marketable, even at the cost of lack of software deliveries.


Make a difference

This was really something that hit home with me, and what really made me want to write this blog post regarding this keynote.  Nick's parting words were great ones in my mind.  
If you feel like you're wasting your time creating software you don't believe in, find a way to stop doing that.  Find a way to create software that makes a difference. - Nick Bradbury
For me right now that way is to focus on a single project that I care about, that I need. Thank you Nick for delivering this keynote.

Saturday, June 16, 2012

Codestock 2012 - Day 1

Yesterday was day 1 of Codestock, a software development conference held annually in Knoxville, TN.  This is the first conference I have attended, and it proved to be a very valuable experience.  I am looking forward to tomorrow even more.

Registration

As the morning began, I met with my expectation.  Get up early, go register, get some breakfast, find the first session.  I don't mind the get up early part, but seem to be in the minority.  Registration starts at 7 AM and I show up at 6:50.  Based on some comments on the lines during the Keynote, this seems to have been a wise decision, because there was no line to speak of.  

Attendees

The attendees that I met throughout the day were a welcome part of this experience.  There seems to be a thriving community here of developers.  Unfortunately for me, I am on the outside of that community, and can tell that being on the inside would greatly enhance this experience.  There are many familiar names, but none know me.  I did get pulled into several great conversations surrounding my Samsung Slate 7 Windows 8 box, so I'm glad I brought that.  After the days festivities there was a social event at one of the local restaurant-bars, where I really sealed the deal on my social awkwardness.  I did get to converse with several fellow Huntsville natives that I have met through our local user's group (HUNTUG).  

Sessions

I tried to fill every moment I could with session attendance.  They pretty much went as I expected.  Two were great, one mediocre, two were bad.  For the bad sessions, I really got a sense that the presenters knew they were bad and would use the experience to make future presentations better.  But I have to say that even from the "bad" sessions, I still walked out knowing more than I walked in knowing, which is of great value so I thank all presenters. 

The session that gave me the most was, not surprisingly, the Windows 8 deep dive, given by Jennifer Marsman.  This was a good refresher on the recent Windows 8 Code Camp that I attended with a little more real-world coding stuck in.  Jennifer is a great communicator, stays on topic, keeps the audience engaged, and packs her sessions with content.

Keynote

They keynote address was given by Nick Bradbury and it was by far the highlight of the day.  The talk was on the life of the independent developer.  He went through his career path and showed us his path from birth to success, what he has loved, what he has less-loved.  Almost everything Nick had to say seemed to be a message designed for me.  That we are at a pivotal time in human history.  That I am a big part of that.  That I want, and should want, to be a bigger part of that.  That I can affect real changes in this space.  That code craftsmanship matters.  That money only matters in that I have to provide for my family, but it should not be an end goal.  That user experience is not a buzzword, but rather a light that shines on the darkest corner of software development containing our greatest failures as an industry.  I thank you Nick for this presentation.