Sara's Fundraising for West Africa

family at Christmas
My younger sister Sara is headed to Africa, long term. Actually leaves in 21 days for France for immersive language learning for 6 months before headed directly from there to Africa for 2-3 years. Definitely headed to France but might have to come back through US unless she gets her last 14% of monthly funding (~$600/m) before then.

I'd appreciate if you added her to your prayer list and would appreciate passing her name on to any other prayer warriors in your network.

She is still raising money for that last 14% of her monthly support, she's reached her sending budget needs. Not sure if you, your church, or anybody in your network is looking for missionaries to support financially but I know anything would be super appreciated, prayer especially. Prayer warriors are key!

cmfi.org (christian ministry fellowship, international)

For more info: https://give.cmfi.org/p-19947-sara-garringer.aspx She'd be happy to give more info personally.

She went on a short term trip a couple years ago to a family that is already there, working mainly with younger elementary age kids. They expressed a need then for help to provide for older kids, then ~1 year ago they were on furlough and talked at her church again and it really hit home with her.

11 Years

Today makes 11 years of Mark and Emilie! That’s pretty awesome! Happy Anniversary Mark Garringer! #ourselfiegameisstrong


Caleb’s extremely interested in the American Revolution and colonial times so we thought this fall break we’d take him to Colonial Williamsburg and Washington DC. We’ve had a blast the past two days learning about life in the 18th century. To top it off my parents drove down from CT to meet us here and experience it with us! Our favorite was the printmaker, we also enjoyed the capitol tour.

Sara in West Africa

From my sister:

Today is the day!! It's an opportunity for you to be a part of sending me to West Africa or join one of my fellow recruits in getting to their field! Get excited and #SENDME!! https://give.cmfi.org/p-19947-sara-garringer.aspx

Father's Day 2018

Happy Father’s Day Mark Garringer!!! You love us well, and make us laugh. I wouldn’t want to raise these kids with anyone else. ❤️

Merry Christmas

"The best of all gifts around any Christmas tree: the presence of a happy family all wrapped up in each other." ~Burton Hillis

Merry Christmas from the Garringers!

Merry Christmas from the Garringers! More photos in the picture gallery!

Another Chapter?

2008-09 – GeoEstimator is born/takes off.
05/2011 – Pictometry acquires GeoEstimator (press release)
01/2013 – Pictometry merges with EagleView (press release)
01/2014 – Verisk acquires Eagleview (press release)

Javascript Mathematics Libraries… GO!

I needed to look at the performance of multiple different Javascript Math libraries, specifically around Matrices. So, I’ve created numerous jsperf.com tests to compare them on different items. I’d originally started with 3 libraries:

After learning to use the libraries, comparing the performance, and just generally using them I parred it down to 2: Sylvester & Numeric. Sylvester is on the far OOP side of design, fluent interface, pretty good looking and readable code. Numeric is on the completely opposite end of the world with all static calls, no types just arrays, very functional looking, with code that is nearly IMPOSSIBLE to read. Google Closure on the other hand is the worst of both worlds. It’s OOP but the different libraries don’t play nice with each other (e.g. Vec3, Matrix) while it’s not easy to read the code and rather tedious in general. So, most of my later tests leave out gc.

Identity Matrix: http://jsperf.com/numeric-vs-sylvester-for-3d-matrix-operations/2
4×4 * 4×1 Multiplication: http://jsperf.com/numeric-vs-sylvester-vs-closure-matrix-multiplication
Single 3D Transformation: http://jsperf.com/sylvester-vs-numeric-vs-closure-for-3d-transformation/2
500 3D Rotates (T,R,T) w/ Unrolled: http://jsperf.com/numeric-vs-sylvester-vs-closure-for-unrolled
1000 3D Rotates (T,R,T) w/ Unrolled: http://jsperf.com/numeric-vs-sylvester-vs-closure-for-unrolled/2
1000 3D Rotates (T,R,T) w/ Unrolled not building Matrix: http://jsperf.com/numeric-vs-sylvester-vs-closure-for-unrolled/3
Row Access: http://jsperf.com/numeric-vs-sylvester-on-col-row-access
Col Access: http://jsperf.com/numeric-vs-sylvester-on-col-row-access/2
4×4 & 3×3 Inversion: http://jsperf.com/numeric-vs-sylvester-4x4-3x3-inversion
Equality: http://jsperf.com/sylvester-vs-numeric-vector-equality

When I got to the Row access, I thought things were going to be ‘similar’. MAN, were they not. Numeric kicked Sylvesters butt, like 100 to 1 style. I decided to look into it a bit and found that quite a bit happens on Matrix/Vector creation in Sylvester. Inputs are checked, arrays are copied/sliced/created, and all around good stuff when dealing with outside input. By simply removing all of this ‘stuff’ and simply creating a Vector and settings it’s elements to a known ‘good’ array from another matrix I was able to improve Sylvesters time by ~10x. That still left it years behind Numeric on row access so I dug deeper. Turns out it’s simple prototypal object creation that’s slowing Sylvester down. The vector constructor does absolutely nothign code-wise, simply instantiates an object. Simply putting ‘new Vector();’ in the numeric tests slowed down them down put them right on par with Sylvester. Leads me to believe that the speed of complex object creation is a big part of what is perceived as ‘slowness’ in Sylvester.

At the end of the day I’d recommend Numericjs for ‘raw performance’ and Sylvester for about everything else. Sylvester is easier to understand, has more implementation around common 3D constructs, is readable, and all round ‘nicer’. Numericjs cuts ALL cruft, is horrible to read, not nice at all, but is fast. Did I mention lots of variables named x,y,z (and not x, y, z coordinates) and functions named foo, dim, and other such worthless names? Did I mention that a LOT of the code is actually creating javascript on the fly with string concatenation?

Defining ‘Technical Debt’, breaking down agile, and how it all fits together

Here are some links to the slidedeck and other items of interest in relation to my talk on May 16th, 2013 at the Indy Software Artisans meetup.

My Slidedeck:
Technical Debt & Craftsmanship

Slides for most of the speakers at the Agile Indy Conference:

Ward Cunninghams Correction on Technical Debt:

Ron & Chet giving the same talk @ COHAA:

Cynefin Framework overview:

Monitoring MySQL replication with Nagios.

This isn’t a post about setting it all up. That would require quite a bit more space/time than I have as Nagios is fairly complex. I just wanted to let people know about some changes I’ve made to an existing package.

I found the check-mysql-all scripts on google code that already contained a number of nice scripts for monitoring with Nagios. What it didn’t support was the mk-heartbeat command in it’s check_maatkit command. In my github repo I’ve added this support. We’ll see if it ever makes it into the google code repo. Not having easy push/pull requests sucks! (maybe google code does if I used it?)