{ bob.yexley.net }

software development, sports, the outdoors, faith, life...

Joining appendTo

appendTo logo I’ve been doing web development in some capacity for my entire ~15 year software development career, but only over the past ~18 months or so has the focus returned almost solely to web user experience (UX) technologies like HTML, CSS and especially JavaScript. I’ve had the privilege to work on some projects that have really pushed the bounds of my skillset recently, and I’ve really enjoyed that opportunity to learn and grow. I’ve been particularly excited about the growth of the JavaScript language and the tools that have been emerging to make working with JavaScript a more and more exciting space to work.

This past August I had the privilege to attend the DevLink conference in Chattanooga. While there I was blessed to be able to connect with several of the fantastic people that work for appendTo. Those connections proved valuable not long ago when I saw an update on their twitter feed announcing that they had an opening for a JavaScript developer. Having gotten to know the quality of the people there already, I was skeptical if I was even qualified…but the potential for an opportunity to be able to work on that team overpowered my hesitation. I decided to toss my resume at the wall and see if it would stick.

Our good Lord showed me favor, and I was offered a position as a senior developer on their professional services team. I’m excited to get started on Monday. What a fantastic opportunity to work with and learn from some of the best professionals in our industry. With time and a little luck, I hope to maybe even be able to contribute a little myself. We’re a training and consulting company so…hire us…maybe I can get a chance to work with you too! : )

Node.js: More Than Just a Server-side Runtime

Node.js logo I’ve been doing some work with Node.js on the side lately to try to learn it. I’ve really been enjoying learning the new platform, and working with a language that I’m learning to love more and more as I learn it better, JavaScript. I think the most exciting thing I’ve discovered about it so far, has been learning how powerful and flexible Node is, especially beyond being just a runtime for building server-side network applications. I’ve even been using it at work more and more as another tool in my web development workflow/toolkit.

Credit where its due: The final straw that inspired me to dig in and read more about Grunt.js (more on that here in a little bit…) was the publishing of this screencast by Derick Bailey. He does a fantastic job with his screencasts, and I would highly recommend shellin’ out the $4 for it if you’re looking for even more (and better) details about how to use Grunt.js.

Green Ninja Rising: Happy Half-birthday Phoenix

My little green ninja On December 27th, 2007, God hand-delivered our first little boy, Phoenix, into our lives. That was one of the most nerve-racking days of my life. Being that he was born so close to Christmas, we decided a long time ago that, when the time came and it was most appropriate, that for a time during his young life, we would celebrate his birthday on the half-year. Not very many of his friends are available to hang out for a birthday party two days after Christmas, and even if they were, its usually either too cold or too wet to do a whole lot of anything fun.

Well this year our little boy turned four, and we decided it was time to throw him his first half-birthday party.

Stepping Gingerly in Front of the Node.js Bandwagon

Node.js

Node.js is a platform built on [Google] Chrome’s JavaScript runtime for easily building fast, scalable network applications. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.

We’ve been using the Less CSS pre-processor at work recently, but we’ve only been using the JavaScript parser/generator for it, which is really only intended for development/debugging purposes…not a live, production environment. I’m not sure it really hurts much to use the JavaScript parser/generator, other than performance…It does it all dynamically on the client…on every page load, so it could be a little slow. Anyway, having a couple of hours of downtime at work recently while we were upgrading our VCS, I took the opportunity to start looking into pre-compiling and minifying our stylesheets using the server-side compiler for it, which is a Node.js module. That forced me to get Node.js installed and running on my workstation, and get the Less module installed. I was pleasantly surprised and impressed at how easy it was to get up-and-running with it…that prompted me to start exploring Node.js further.

Armor of God Series

Roman soldiers statue This is (hopefully) the first of a series of posts that I’ve wanted to write for a long time now. If I recall correctly, I think I actually already wrote this very post a while back on a previous version of my site, and never got beyond this first post, so, I’m hoping I can stick with it this time and actually follow through and finish it. This is a subject I believe in very strongly and am very passionate about, so I’m looking forward to the opportunity to think through it in more depth as I write it all down.

I plan to take an in-depth look at the passage of Ephesians 6:10-18. My goal with this series is to learn more about the subject on a personal level, and if it interests or helps someone else, so much the better. More than anything, I pray that it reflects honor and glory on God and is something that He will be proud of.

The outline

Here is a rough outline of how I plan to approach the subject (at least for now…subject to change):

  1. Reality: This is not a metaphor, this is real, and we need to take it seriously and deal with it like every other reality in our lives.
  2. Call to action: This requires an active, daily discipline in practice. There is nothing passive about battle.
  3. The belt of truth: keeping it all together
  4. The breastplate of righteousness: guarding our vitals
  5. The Gospel as shoes? Sharing the love
  6. The shield of faith: self defense
  7. The helmet of salvation: the brain bucket
  8. The sword of the spirit: fighting back
  9. Prayer: suiting up

The format

This is the typical format that I was planning to use for each section in the outline:

  1. The spiritual principle: discuss the spriritual principle for the section (truth, righteousness, faith, etc.)
  2. The analogy: discuss the conceptual analogy that Paul uses in the passage to help us understand the principle (belt, breastplate, shield, etc.)
  3. The enemy’s perspective: what is the enemy’s approach and tactics against us with regard to the subject? What are we fighting against?
  4. The application: what can we do? What action can we take? How do we apply this to our own personal battle?

Creation vs Evolution: Can They Both Be Right?

This is the outline for a discussion that I’ll be leading for our small group, and is my attempt to put my thoughts together in a logical manner. Much of the content for this piece was sourced from chapter three of The Case For Faith by Lee Strobel. Much of the content of that chapter is based on an interview he did with Dr. Walter Bradley, so much of the content can be attributed to them, but has been summarized for the purposes of this document. It should also be noted that the book was published in 2000. Certainly much could have changed in the course of the past twelve years. In the short bit of time I took to research for this document, I found little to refute the information found in the book and from this field of research, but I am certainly open to education and learning, so please let me know if any of this information is inaccurate. To the best of my knowledge the information presented here is still relevant and accurate.

The positions…

Creation

The original bringing into existence of the universe by God

Evolution

The process by which different kinds of living organisms are thought to have developed and diversified from earlier forms during the history of the earth.

Charles Darwin Charles Darwin’s theory of natural selection suggests that naturalistic processes could account for the increasing complexity and diversity of living things.

Darwin’s “greatest accomplishment” was to show how the development of life is “the result of a natural process, natural selection, without any need to resort to a Creator.”

As far as Christianity was concerned, the advent of the theory of evolution…was catastrophic…The decline in religious belief can probably be attributed more to the propagation and advocacy by the intellectual and scientific community of the Darwinian version of evolution than to any other single factor.

So which perspective is right? Can they both be? Does one of them have to be wrong? What do the facts say? Does science, by its nature, automatically have to be correct and accurate? Can it be wrong? Much of it is, after all, theoretical/hypothetical in nature, right? What do you think? Can both evolution and creation be right?

ASP.NET and SQL Server: Passing Timestamps Back and Forth

Starscream For some reason, whenever I think of or discuss the idea of serialization, my brain associates it with the concept of transformation…which always makes me think of Transformers. Is that weird?

Data serialization can be a sticky wicket sometimes. Things don’t always get passed back and forth between a client and server the way you think or expect they will. Which means, sometimes you have to take matters into your own hands.

I was recently working on implementing some concurrency checking into an app, and we decided to use SQL Server timestamp fields to check against before updating data being passed back to the server from the web app. Seemed straight-forward enough initially…but that was before that field started getting transformed into different datatypes and formats as it was passed through the different layers of the application. All of the different players involved (the various components of our app) apparently didn’t feel like playing nicely together with the timestamps. We ultimately came up with what I think is a fairly simple and straight-forward solution to the problem…