Header Image -

It is that time of year again….

by dave

The end of the year rapidly approaches, which means an arbitrary milestone to take an introspective look at your life, and see if your trajectory matches your desires.

Or, in other words — how was 2016?

Let’s see what I said a year ago, and see if I succeeded:

1) Work Either succeed or fail, decisively.

I failed, decisively. But that is not about work performance. It is about my health.  More details below, but I will be switching jobs at some point. Not necessarily employers… I like my employer. Just need a new role.

I am counting this as a success, though. I’ve been an in-the-trenches technologist for a long, long time. I have other skills that can be applied to my work, too. I’ve built and led teams, I’ve designed products, I’ve done platform transitions… I’m not sure exactly what direction things will head in 2017, but it is past time for a positive change.

2) HealthI want to get to the point that I can exercise again. I want 2016 to end with me able to go on hikes, and be at least smaller than as I was when I left my last full-time office job.

Partial credit here. I am exercising daily. I can hike. I am not smaller than I was when I left my office job. But I am SO much stronger than I was a year ago.

I did hit a new problem this year, where my tendons in my wrist are giving me problems, and I really cannot work at a computer all day, at least not as a coder.  I can work still in tech, but the constant reaching for all keys on the keyboard, especially the special characters used so much in coding, is not working for me. As mentioned above, change is coming, one way or another. I will need to find a role that only has me typing a couple hours a day, not 8+. Or typing content, not code. Or something. I’m open.

3) CreativityPainting, drawing, photography, writing.

I really only did the drawing this year, but I did put together some new ways to merge my tech skills with drawing and photography. It took me months to tweak all the details, but I’m calling this goal as a success despite not actually doing exactly the crafts I was thinking about a year ago, because I am producing creative work.

4) FarmSimple goals – get irrigation systems in for all garden boxes and fruit trees, keep the gardens weeded and watered, and have a non-trivial produce harvest in addition to our current production.

Irrigation… Check! Gardens weeded and watered… Check! Non-trivial harvest… No. Well, at least aside from tomatoes, No. We got heaps of tomatoes. But due to half the year being spent with a wife recovering from injuries, we didn’t hit our farm goals this year. I’m not worried about it either, though. We had bigger fish to fry.

5) FamilySimply have a happier and healthier family at the end of 2016 than we do at the end of 2015.

Sadly, no. My health isn’t better, my wife is far more broken than she was last year. And those things don’t make for a good family year. But part of this yearly exercise is just about self-awareness, so I can fix problems over the long haul. So lets try this goal again for 2017

Moving on, I’ll lay out my goals for 2017 with the exact same categories, but new details:


  1. Work — I want to start a new job. Preferably with my current employer, but either way, a new job. Not coding. Probably still in tech though, because it is what I know.
  2. Health — I either want a diagnosis of what has been ailing me for the past 5 years, or to give up and just commit to living with the problems. I want to continue the daily exercise that I have finally achieved this year, and end the year having lost at least 20 pounds.
  3. Creativity — I want to continue to pursue the new ideas I’ve come up with for merging drawing, photography, and tech. (About which I may write more in the future.) Because it is a new project, I’m not going to define specific goals… just to work it and see where it goes.
  4. Farm — Get our dairy and eggs back into production in the spring. Produce more value in food than we spend.  Note: we tentatively have someone else working larger scale gardens on our land this year, and sharing the harvest with us. This should help with making this hobby farm thing a success.
  5. Family — Repeat from last year. Lets end 2017 happier and healthier than in 2016.


Lava Tubes

by dave

We are still here but I have been trying to avoid typing for the last few months so I have not been posting anything. Today I am experimenting with a new WordPress plugin that lets me speak a blog post so I can still put things here without having to actually type.

Two weekends ago we went down to the lava tubes near Fillmore and ran around there for an afternoon. The kids were enjoying the time that we had to explore. They went up and down the cliff to get into the lava tubes many times, and they did it safely. The only person who got hurt was me. I was not hurt badly — I just slipped on a rock as we were going into one of the tubes that go off to the side of the main lava tube and we decided it would be better to come back another day would we have life with us and maybe explore the darker parts of the tubes when we were little better prepared. But we did run around for a couple hours and I think all the kids had fun. Loretta was able to come with us and hang out while we explored.

We made up a small fire and a hung around the fire as the sun went down. As it started to get dark we let the fire burn down, laid out some blankets on the ground, and watched the stars come out. We have not seen the Milky Way in a few years because we are getting more light pollution near our house. But we were able to see the stars come out the, and Milky Way was visible early in the night. So we sat there talking and looking at the Milky Way for about an hour until we decided to go back home. The kids had such a good time we are going to go back in a couple weeks and give them an entire day to explore the lava tubes maybe even more than one day.

And on a tech note, the text-to-speech plugin I just tested to write this is OK, not awesome. I may keep looking for one that handles capitalization and punctuation better.

Spring Adventures

by dave

The lack of posting here should not imply a lack of adventures this spring…

I have been out exploring the areas around Milford, UT, bringing home some obsidian, and a few other shiny things. The entire family spent a day collecting crystals out near Marysvale… the kids mostly found chunks of Selenite, but they were big and shiny so it made everyone happy. I found some rocks that had obsidian mixed up with sandstone, something blue/grey, and flecks of gold. I’ve never seen anything quite like it, and there was not much of it, but in my non-expert opinion, it is pretty cool.

The kids and I also explored old back roads between Eureka and Delta, and found some promising areas to come back to in the future, when we want to spend a longer time at a single site, really digging for treasures.

End of Year 2015

by dave

Cliched thought it may be, I set goals for myself in 2015, and although there is still almost 2 weeks left in the year, it is close enough to see how I did:

  • Succeed at work. 
    • Did I succeed this year? Well, I didn’t fail. We delivered on projects. We have a vision for the future.  But I can’t claim anything extraordinary.
  • Get Healthier
    • Yes, but it is just the first step on what is hopefully a long journey.  Most of the year was spent talking to doctors and laying around in pain. We made some progress in the early winter, and I now am only in pain a couple nights a week. I am just now starting to lose weight and exercise again. But there are still some things wrong and not as of yet diagnosed.
  • Rekindle my creative efforts
    • Again, some success – I started painting again. Drawing, too. I have all the tools and supplies I need. We have my artwork hanging on the walls of our home, that was created this year. The only missing piece is the audience. I have not developed anything that I yet feel is worth submitting to any shows.
  • Succeed on the farm
    • We have a larger chicken flock, are inundated in eggs and dairy, and produced some honey and produce. We bred goats, and have 3 goats worth of meat in our freezer. Well maybe 2 – we have eaten some of it. We know what we need to do over the winter to increase our production next year. I’m calling this one a success.
  • Spend more time with children – restart the one-on-one talks and nights out that I did with my kinds in 2013.
    • I now have nightly talks with each child. We have gone out exploring the world multiple times. I have enough energy to do more around the house, and have taught how to do chores more efficiently, which means we spend more time working together.

I believe we can call 2015 a good year. Not an amazing year, but good enough.

2016 is more of the same:

  • Work – Either succeed or fail, decisively. Breaking my normal rules against talking about work, my company has hit a milestone that should allow us to all do amazing work this year. We should be able to grow and have a great year. My goal is to actually do so. However, if that goal fails to happen, it may be time to move on to something else, as it means that either I’m not doing as well as I can, or something out of my control is stifling the potential.
  • Health – I want to get to the point that I can exercise again. I want 2016 to end with me able to go on hikes, and be at least smaller than as I was when I left my last full-time office job.
  • Creativity – I want to keep painting and drawing, but also be more serious about photography, either as a final creative product, or to provide source materials for paintings and drawings. I also am going to start trying to do more serious writing, and improving my abilities as a writer instead of just being a guy who does blog posts once in a while.
  • Farm – Simple goals – get irrigation systems in for all garden boxes and fruit trees, keep the gardens weeded and watered, and have a non-trivial produce harvest in addition to our current production.
  • Family – Simply have a  happier and healthier family at the end of 2016 than we do at the end of 2015.


Learning to Code

by dave

I am surrounded by conversations recently about learning how to code, and wanted to write out some aspects of my journey to being a coder…

The Apple ][

When I was a kid, my dad got an Apple ][ at his office. And on some Saturdays, I would go in and play with it. I had nothing but the manual that came with it, so I pretty much would load up BASIC and start coding the same kinds of things every Saturday. I would write basic loops, counting from 1 to infinity, then enjoying making it overflow. I moved on to random number generation, and would write up basic programs to pick a random color and place it on the screen in random locations, then I figured out how to do the same in high resolution. There is something meditative about watching a screen fill randomly.

The Apple also had DBase on it, so I played with that a little bit and learned how to build a database. But I did not have a reason to build a database as a young boy, so while it made complete sense to me, I could not think of why it would be useful.

But then I hit a wall – I remember thinking that I wanted to learn more, but I did not have resources to help me. There were professional programmers in my town, but they worked in FORTRAN at the insurance company my mom worked at, and she did not think that they would want to take on a child to teach them more. In hindsight, I’m not so sure that was true, but that is about where my childhood programming career ended.

Although I did not do anything truly impressive in those days, I did learn some of the basics of how to code – variables, loops, input, output.

Logic Puzzles

Logic puzzles have nothing to do with technology, but I credit them for much of my ability to think analytically. If you are not familiar with  them, there are books available, or you can generate them online at: http://www.logic-puzzles.org/

I had a large book of these as a kid, and over what felt like years,  but may have just been a summer, I worked my way through that book, eventually completing all but the hardest puzzles.

Aside from the basic logic skills, I believe this helped me to know how to visualize data, and relationships of data points to each other. This is a skill that I find very useful as a professional coder. All coders  can walk through code, understanding the instructions and making code do what it is supposed to do. But all code eventually needs refactoring, as the usage of the code and the related business evolves and changes. Being able to visualize representations of a codebase in your mind lets you better break it into components, understand how they all relate to each other, and see ways to re-organize code into better structures.

Writing a Video Game

I failed to write a game when I was in 7th grade. I would go to the library and play games on their computer, and continue to play on computers at my dad’s office, but wanted to try to figure out how to create my own games. This continues to be a popular reason for learning to code, event today.

Without any resources to learn from, and knowing only the basics of coding, I utterly failed. I drew something on the screen, then wasn’t sure how to animate it. I could draw a background on the screen, but had no graphics frameworks, so I just wrote each pixel. I simply did not know what to do, and had no resources to help. So I failed.

But I did realize that there was a lot more to creating significant work than just what I had learned. At least at this point, I realized what I did not know, which is a great starting point for learning something new.

High School

In high school, I did little with coding. I was a teenager, so I did the things teenagers do — video games, sports, lots of bike rides, time with friends, etc.

I played with computers more on the hardware side -learned how they were built, how all the components actually worked. The one coding project I recall doing was when I figured out how to directly control the pins on a dot matrix printers, and started sending it specific pin instructions to draw images. It was tedious and painful.


I took no computer science courses in college. I had this crazy idea that I should study topics that I could not teach myself, so I studied fine arts and philosophy.

In hindsight, this was an excellent decision for someone who wants to be a coder. It is not the only path, of course, but it was quite effective.

Fine Arts is an excellent background for coding. Although the thinking is completely different, the creative process is exactly the same. You need to have a vision of what you want to create, determine the best methods to reach that vision, plan how to create your work, and actually start the work and execute that plan. You need to develop skills in whichever medium you are using, and know what tools are correct for which jobs. These same principles directly apply to coding.

Philosophy teaches you to understand the core goals of a project – in philosophy, you are normally trying to answer a question or prove a point of some kind. You critically evaluate the premises building up to your conclusions, you can argue for or against most points, and decide what answers to accept/reject, to help build you towards a logical conclusion that holds together. Again, this is like unto coding. You are building logical pieces up, to reach a goal. You make critical decisions on the best way to reach that goal, and implement them in code.

In general, a liberal arts education teaches you a process – how to deconstruct anything, but more importantly, how to pull the best parts back together, and build your concepts back up into something better than where you started.

That reconstruction process is one of the most important skills that I have. Anyone can tear something down, but the ability to improve it as you build it back up seems rare.

Oh, and I ran computer labs for my college, too. *shrug*

Early Career – Support Roles

The first few years of my career was all about tech support – doing direct deskside support at IBM Research, sysadmin work at IT research firms who eventually grew into Gartner Group, stuff like that.

At those positions, I learned Lotus Notes. Although it is a dying technology today (that people mock), in those days it was good stuff. We could whip out a database with forms, UI, data views, without knowing how to code. We could replicate data to different clients, and used it to publish our research. It has not aged well, but it was my first exposure to building an application to handle what a business needed.

It is important to note that I was building simple applications at this point in my career, before I even knew how to code. Although coding is the most common tool for building business solutions, it is not the only tool. It is important to know what tools are available to you, and use what you have to the best of its ability before ever writing a line of new code.

Transitioning to Coding

I was a full time application developer and team lead, before I ever knew how to code.

I worked as a consultant for IBM during their rollout of Lotus Notes after they purchased Lotus.  Although my job description was for deskside support, due to my prior experience, I knew more about the product than most IBMers. I became involved in the rollout, and quickly started helping people understand what could be done with the product.

My boss hired me on full-time, as gave me a team lead role to focus solely on building out applications for that division of IBM, including training some of my team members on how to do the same. I built a team of 4 developers, and started holding training sessions for other application developers throughout the division.

I still did not know how to code…. but soon learned. IBM/Lotus added a real coding language to the product. Well, at least real enough for our purposes. LotusScript was added in version 4. It was based on BASIC, but added an object model that opened up the capabilities of the product.

So now was the time that I actually learned to code. The learning curve was steep, even though I had the base analytical and logical abilities, with some solid application development experience under my belt. It is like learning a new language. You know exactly what is supposed to happen, but have to learn how to express that in the way your computer understands. The first time you go through this process, it takes time and effort.

My learning process was a top-down approach. I would do as much as the system allowed before coding, then learn how to code one specific task. In that way, I eventually worked through the commonly used objects, method, and functions. It really only took a few months of work to make the leap to actually coding.

Once you make that leap, and no longer need to look at the help or reference books for every line of code, you are working the way most professional coders work. We do not know everything off the top of our heads, and with the speed of searching online, we don’t need to. The code that you use all the time becomes as easy as speaking English, and you just pull up references when you forget the exact syntax or parameters for uncommon functions.


At this point, the story is done. I knew how to code. I was not good at it yet – that is a different process and a different story, and a story without an end.  But if I could tell anyone learning to code one thing, it is that the actual coding is just the cherry on top of a larger sundae. It is the logical and analytical thought, the ability to deconstruct and reconstruct concepts, and the ability to design not only the final result you desire, but the structure to get you there… those are the key components to being able to successfully build applications or other systems.