| Programming | 0 Comments

Today I received an interesting email from someone trying to sell an online tutorial on WebdriverIO which posed the following:

"Quick question: What holds you back from writing automated tests?"

Based on my personal experience doing various projects in the wonderful world of software development, here is a list of reasons with which I replied:

  • The product is already finished and in production so there's no more budget left for automated testing.
  • The platform is legacy software and no one understands how it works.
  • We already have an army of functional testers in India who are manually testing everything, and it's cheap.
  • You need "technical" people to setup the the automated test environment, and the only technical people we have are developers and system admins.
  • Developers hate to write tests and have no time to learn it.
  • Most testers are high-level black-box functional testers and are not concerned with the internal details nor are technical enough to understand the underlying software.
  • Setting up an automated environment is expensive.
  • There are already tons of tests failing and no one gives a damn.
  • The CI runs from Jenkins and the guy that set things up is no longer working for us (don't fix whats not broken).
  • Managers do not fully understand what automated testing is and how it really works and are therefore unwilling to invest money.
  • Automated testing means that the functionality of the complete product is known, however mostly it is undocumented or specific areas of expertise limited to certain privileged individuals.
  • We're too busy and have no time.
  • Good testers are hard to find, especially those that are technically inclined and/or understand how to write software.
  • The product is not stable and is changing too frequently, meaning that time spent invested in writing test scripts that will continuously break is not worth it.
| Family and friends | 0 Comments

Been fifteen whole years ago since I last met up with my old university buddy, and lo and behold he will be visiting me this weekend for a fun and relaxing bout of reminiscing about the good old days.

Fifteen years is a long time and there will be much catching up to do I'm sure. We have become older and taken separate paths in life but the bond of friendship keeps us together.

Paths cross here and there.

| Programming | 0 Comments

Signed up for the Learn Elixir and Learn Phoenix online video training.

Been procrastinating long enough so it's time to make the move and learn even more new stuff.

| Vacation | 0 Comments

DSC01074.JPG
Where was this picture taken?

| | 0 Comments

Ever just wanted to shuffle your Ember model contents around in a random way? Well, here's something I happened to discover while perusing through the Liquid-fire github. This is such a real jewel, so elegant and simple that I had to share it.

shuffle: function() {
  this.get('model').forEach((item) => {
    item._random = Math.random();
  });
  this.set('model', this.get('model').sortBy('_random'));
}
| Nature and universe | 1 Comment

stormy-weather.png

An hour or so ago they sent out a code orange. This warning means that the weather will become very severe and we should all stay indoors where it is supposedly safe. At first I didn't believe them, what do they know? The weather outside seemed just fine to me. Well, an hour later and the deluge is here with lots and lots of lightning bolts striking nearby. Boom! That was sure close. Almost too worrisome seeing such a gush of water being spilled out from the darkened sky. The backyard and the streets are flooding over. Yipes! Mother nature can be unpredictable and needs to be respected and/or worshiped at all times. Either that or else.

| Art and culture | 0 Comments

This is the new logo that I designed myself. I used SVG and a little dab of creativity. The three colors are: midnight blue, dark cyan and firebrick. They blend in together quite nicely, don't you think? The interlocking shapes are shifted slightly downwards from left to right. This gives the viewer a subtle impression of movement, that each shape rises a little above and beyond the previous one.

Each geometrical piece of the puzzle integrates snugly with the next one. Together the three objects form a unified and pleasing whole. These shapes represent the software building blocks that I like to use when creating beautiful objects: knowledge, processes and people.

For more information and inspiration please have a look at the Gishtech logo page.

| Javascript | 0 Comments

So here I am claiming to be a so-called "experienced" JavaScript developer, thinking that I pretty much know everything about this language, but in fact I don't. It's like driving a car for many years, and you start thinking that you're the best. The true fact of the matter is that your driving skills are becoming quite rusty and if you are not careful it will become very dangerous.

It never hurts to have a serious look at yourself in the mirror once in awhile, do it sometime and you'll feel much better about yourself.

Since I am never too old to learn new stuff, I like to discover the future while it is still happening. More and more I've been getting interesting in how the JavaScript language is evolving, namely the new and upcoming ES6 features. This is really cool stuff and shouldn't be missed.

So I went over to the Leanpub website and found myself a couple good sources, namely Exploring ES6 and Setting up ES6 by Axel Rauschmayer.

These books are fairly technical and difficult to understand, but beautifully written nonetheless. I figured that in order to maximize my learning experience I'd have to take one step back and refresh my knowledge of the JavaScript basics. Not just some easy introductory book but an intense and truly in-depth exploration of the technical details.

Since this Axel person is obviously very smart I figured what the heck three books by him must be the magical combination to success. So I bought his other book.

speaking-javascript.png

A tough but fulfilling read, highly recommended. Speaking JavaScript is also available for free online, but I'm still pretty old-fashioned and had to have another book for my immense computer library.

| Programming | 0 Comments

One of the most important credos for boosting a development team into the realm of excellence is to ensure that they can feel very proud of what they create as a coherent team. This power of creative energy mixed in with just the right amount of the fun factor is not to be under-estimated.

| Health and happiness | 0 Comments

Looks like I won't be playing in the club championship this weekend. This event happens to be the yearly highlight of my golfing life, so you can imagine how very disappointed I will be by not being allowed to defend my title. I have won the championship two years in a row and unless some miracle occurs the chance of a magical three in a row will dissolve into thin air.

So what in the heck went wrong? I decided to run my car through the car wash after filling up my tank at the gas station. When I returned home from the car wash I was in a pretty good and energetic mood. Diligently I crawled through the interior of my car ensuring that every crook and cranny was polished and spotless. Well you can imagine that certain spots behind the seats or under the dashboard are hard to get reach. Even for a limber and athletic body like mine.

Then all of a sudden my back froze up and I was floored by an excruciating pain. Some main nerve in my lower back was chaffed and exposed, screaming bloody murder from within the depths of my right buttocks. There was no way I was ever going to be able to get out of the car alive.

Fortunately my son Maarten came to the rescue and pulled me out. Getting from the car to the front door of the house took about ten minutes in slow motion, and then after that at least as much time to make it to the couch in the sitting. My wife Thea who is a gentle and loving nurse helped me upstairs. I felt really embarrassed screaming and crying like I was some weakling. Although it was hurting pretty bad, I figured that within a day I'd be pretty much back to normal.

Two days later I'm still in this stupid bed medicated and feeling pretty bored. I could become all angry and frustrated, but I have realized at this stage of my life that acceptance, hope and staying positive is what it's all about.

That's why I decided to compose this boring and complaining blog entry, which is also kind of funny and entertaining, don't you think? Now I feel much better, thanks.

| Javascript | 0 Comments

Express is a fast, unopinionated, minimalist web framework for Node.js. That's why I had to purchase yet another book to add to my huge collection of computer books.

express-in-action.png

I sawed through this book in a single day. While it may not be intended for super advanced developers, I found it a refreshing overview of express, node, npm and all those powerful tools and techniques any engineer worth his salt should know.

There's also a nice section covering testing with mocha and supertest, as well as chapters about mongodb, less, browserify and coffeescript.

Highly recommended by someone who is never too old to learn new stuff.

| Golf | 0 Comments

You never would have expected that this grueling contest of wills would go down to the final hole, but it did. It was one of those wonderful days out with the guys hacking around in nature and laughing out loud, making great shots and bad ones too, once in awhile a slight curse here and there.

On Friday afternoon at exactly 16:17 the battle of Michael and Kiffin (Merikans) versus Thomas and Dion (no team name) began. The weather was perfect, sunny and dry, the fairways extra hard meaning that our amazing drives would roll and roll forever making us feel like real joe blows.

As is inherent to our golf course these days, the greens were irregular and bouncy, meaning that you had about a fifty-fifty chance of making putts just outside the gimme range. Frustrating yes, but adding an extra sense of excitement and unpredictability fitting for the true spirit of golf where nothing is certain.

The first hole was a good start for the Merikans as they turned on the gas and won the first hole with a par (thanks to a nice chip by Michael).

On the second hole the Merikans messed up knocking both their balls into the trees on the left, playing give-away golf with a triple bogey, and it was back to all square. What a waste.

After that it was just another day on the links with a long streak of five ties nothing special just pars and bogies.

Starting on the eighth hole and thereafter for three disappointing holes, Thomas and Dion pulled together a string of great drives, super approaches, chips next to the hole, that kind of thing. Michael: what happened to us we're three down can you believe that?!

I turned to my fellow Merikan and reminded him that we had not won a single bleeping hole since the first one, we need to get our act together. Remember the Alamo!

It worked and we pushed forward winning the next three holes in a row, this time around it was Dion and Thomas playing give-away golf, and coming to the fourteenth tee box we were all square again. Wow, how'd that happen so quickly?!

Tied fourteen to remain all even. On the fifteenth both Thomas and Dion nailed their shots on the dancing floor for a likely par possible birdie. Michael made a great sand shot from the left bunker rolling the ball up close, but yours truly missed yet another short putt, one down with three to go.

Merikans won the sixteenth after another great chip by Michael to within a couple inches of the hole for a gimme. Lost the seventeenth and there we were one down with only one hole to go.

Thomas and Dion were hot but not quite hot enough. They drilled their drives in excellent position, but Kiffin punched his drive even further even to the bunker in the middle of the fairway.

Dion's approach looked really good (ended up over the green but we didn't know it at the time), so Michael was under alot of pressure. When I turned to him and said it was his moment to achieve the Warhol's fifteen minutes of fame, he duly addressed the ball and made it happen.

The Merikans had to win, and when we finally made it to the top of the hill and discovered our ball pin high five feet to the right and the opponents' ball over the green with a nasty downhill chip, we knew we had a chance. I was convinced that I'd finally make my first normal putt of the day and tally that birdie.

Thomas and Dion pulled off a respectable bogey (after the stupid ball kept rolling and rolling past the pin) and of course I missed the birdie putt curling it left and downhill from the hole. It was definitely what you'd call a semi-easy putt but a good knee-knocker just the same.

With confidence Michael rammed it into the back of the hole for the par. The grueling contest of wills was over, and we tied 1-1.

| Golf | 0 Comments

The summer season for senior golfers kicked off yesterday and I was in good spirits. Although I didn't play that great, shooting an 82 and being tied for twentieth place out of 93 players is a respectable round. Three easy putts under two meters should have been made combined with a mere three pars on the front nine made things a bit frustrating. I managed to shoot a double-bogie free round with the same ball which in itself is a nice accomplishment.

Anderstein-golfcourse.png
Ready to tee off on the first hole at Golfclub Anderstein

| Gishtech | 0 Comments

gishtech-company-card.png

The long wait was worth it, finally my new company cards arrived and I really like them. Designed them myself. Now it's time to explore the mysterious jungle out there and seed the world with new ideas.

| Javascript | 0 Comments

If you ever want to setup an automated test platform for an important project, I can certainly recommend Webdrverio very much.

webdriverio.png

This advanced open source testing utility for Node.js makes it possible to write super easy selenium tests with JavaScript for the a number of TDD test frameworks, for example the Mocha test framework.

The extensive API is quite powerful and lets you do just about anything.

| Golf | 0 Comments

So here is how it started: par, birdie and eagle. Already three under par after only three holes. Hard to believe, but it's true ...

I flubbed the next easy par four with a careless bogie, but after that I held on with a string of pars to make the turn at two under par. 4-4-2-5-3-4-5-3-4=34.

If I could just keep playing half-decently, nothing miraculous just an ordinary nine more holes, then I'd have a pretty good score.

There's this mental thing that rears its ugly head in my mind when I'm playing great golf and it always tries to ruin me. I'm thinking that there's only so many holes left and I need to hold on, getting more and more nervous.

This is a once in a lifetime opportunity so let's get serious and make the best of it. Or so I thought. The second nine was a disaster and I went into mental meltdown mode. Two double-bogies and only three pars: 6-3-6-4-5-7-4-4-5=44. That's TEN strokes more than the first nine, you must be kidding.

Afterward when the good life was all done and gone, I sat at the table moping, shaking my head and wondering out loud how it is possible to play so well for the first nine holes and then blow it so badly during the second nine holes.

My playing partner Jim (who comes from Ireland) hit the nail right on the head when he said, "You know the more often I see this happening the more convinced I am that it is one hundred percent just a mental thing.

How is it possible that such disasters strike when you least expect it? And why if it's just a mental thing can't I control it better.

(No I did not break a single club, although I was tempted to a couple of times)

| Golf | 0 Comments

Heren-1-Team-2016.png

This year we have a really great team again. It's a long shot but we could still become champions if we win our last two matches (so far won one and lost one).

| Family and friends | 0 Comments

kiffin-and-liam-2016-03.jpg
Kiffin and Liam

| Gishtech | 0 Comments

Spent the whole day from early this morning until late in the evening to finalize the official versions of the following documents (everything in Dutch):

  • Ondernemingsplan (Business Plan)
  • Financieel plan (Financial Plan)

If all goes according to plan, good ol' Gishtech (the reborn new and improved version of Gishteq) will be up and running again starting Monday, April 25.

gishtech.png
www.gishtech.com

"Gishtech levert best-­of-­breed diensten en advies op het gebied van geavanceerde software ontwikkeling, gereedschap, people en processen."

| Golf | 0 Comments

Last Saturday I played a practice round with the team. Just another normal day on the links with the goold old colleagues. Until we reached the eleventh hole that is. Jose started things off by chipping his ball in the hole from off of the green. Then from the fringe at the front of the green, Paul sank a winding twenty-footer uphill. Finally, Maurits rammed in his six-foot putt making it three birdies in a row. Could I do it as well? As the last remaining hero under tremendous pressure and all eyes watching me anxiously, I curled in my putt from three feet away. We all had birdies: 2-2-2-2 on the same hole. That was a pretty amazing golf moment! Don't think I've been so excited and screamed so loud and long in quite some time.

four-birdies-1.jpg four-birdies-2.jpg
From left to right: Kiffin, Paul, Jose and Maurits. The scorecard is proof that it really happened.

| Golf | 0 Comments

golfer_muscles.png

Although some people may not consider golf a "real" sport, it nonetheless requires that your body is in good condition and that certain muscles are well developed.

Since I started a more intensive workout program at the SportCity three months ago, I can really feel the difference.

My training focuses on the golf muscles as shown in the diagram above. Not that I need to develop giant muscles for extra distance, but rather well-toned upper legs, abdomen core, torso and arms to be able to hit the ball with a more stable and predictable swing, and above all with more confidence.

And yes, I can now also hit my drives straighter and about ten to twenty meters further. I am not sure whether or not this is all just psychological, but one thing is for sure and that's how good and healthy my body feels.

| Nature and universe | 0 Comments

Excuse me, can someone out there please tell me what this is all about?

cost-function-J.png

Thanks alot in advance.

| Health and happiness | 0 Comments

This is pretty funny. Some website about knuckle cracking gets re-launched and I get honorable mention on the front page. Internet can be scary sometimes, and the past can come back and bite you if you are not careful

The blog entry referred to is one titled Crackedty-crack which I wrote way back in 2002 and amazingly collected a record number of reactions.

relaunch-jointcrackers.png

Jointcrackers.com launched

| Family and friends | 0 Comments

three-generations.png
Three generations of first sons:
Liam (2015), Lennart (1987) and me (1957).

| Science and technology | 0 Comments

Some interesting things I learned today on my road to a successful career in data science:

  • Correlation does not imply causation.
  • If X predicts Y it does not mean that X causes Y.
  • Prediction is hard, especially about the future.
  • Causal relationships are usually identified as average effects, but may not apply to every individual.
  • The most important thing in data science is the question, the second most important is the data.
  • Often the data will limit or enable the questions, but having data alone won't save you if you don't have a question.
  • Beware of data dredging.

data-science-coursera.png
Data Science Specialization

"The data may not contain the answer. The combination of some data and an aching desire for an answer does not ensure that a reasonable answer can be extracted from a given body of data... no matter how big the data are."

| Golf | 0 Comments

I make my own sandwiches for lunch and like to slice my bread into nice uniform segments of equal thickness. Over time my cutting actions had acclimated well to the continuously dulling knife. It meant that gradually I had to cut imperceptibly just a little bit harder each day. I had become fond of that dull utensil and had developed a close relationship with that grip and sliding motion. There was balance between the forces of nature and my bodily movements.

So when I picked up the brand new knife that Thea had bought in some sale, I failed to register her comments. Or should I say warnings? She told me that it was a really great bargain for such a high quality knife which was as sharp as a razor blade. Then I watched the corrugated edge glisten in the light as I positioned it atop the bread ready to slice.

One slight push was more than enough, no need to press very hard nor initiate any cutting motion whatever. The super sharp knife went through that bread in an instant. The saying is like a hot knife through butter and that I the exact same sensation I felt. If it hadn't been for the top half of my forefinger blocking the way, it would have put a nice deep gash in the wooden cutting board.

I screamed although I felt nothing. In the same instant my hand shot up in the air. Blood started spurting out, and at first I thought that I had cut off my poor finger. The gouge was deep and clean, but my finger was still attached thank God. Thea came to the rescue and put her nursing skills to work by wrapping some gauze and bandages tightly around the wound. My life was saved and I would more likely survive.

The first thing that came to my mind was that I would never be able to play golf again. Not that I might bleed to death, but that having half of a finger would become an insurmountable obstacle for me at winning any future golf tournaments again. My days as a future famous golf pro were over.

One week later and it still hasn't healed completely, but things are improving nicely. In a couple more days I hope to be back on the golf course. I will use that little scar as a touch point from now on so that I can focus and play better golf.

first-cut-is-the-deepest.jpg

The funny thing is that around the time that I cut myself, a number of articles appeared in the local newspapers about people complaining that these knives were way too sharp for normal folks. One woman even threatens to sue the store for neglecting to give sufficient warnings about the danger.

| Life in Holland | 0 Comments

Is it possible to enjoy vacuuming the house? This weekly chore is definitely not my favorite activity. You take the apparatus and rub the end back and forth across the floor, and there's no real feeling of progress or satisfaction. When you paint, you immediately see the results and can feel good about it. With vacuuming however, you just seem to go through the actions without perceiving improvements. How much cleaner did the house get after expending so much energy over a period of so many minutes?

Today for some reason I actually enjoyed it. I stopped thinking about achieving results, comparing the present with the past, wondering how much longer it would take before I reached the bottom floor. I was in the zone, kind of meditating and not caring at all. My mind wandered a bit before disappearing into who knows where. When I realized that the last square meter of the kitchen floor had been reached, that was that.

Now it's time to continue the flow.

| Life in Holland | 0 Comments

According to the newspapers, it is still officially January. Normally this would mean that we are smack dab in the middle of winter. Whenever the December climate seems to have been more temperature than expected, at the turn of the new year mother nature almost always gets back by blasting us with icy cold winds and lots of snow.

Not here though.

Believe it or not, today was the warmest 25th of January in recorded time. Namely the temperature peaked at 16,3 ℃ which is 61 ℉. I was never a fan of winter weather, so psychologically at least I felt much happier inside. I was definitely in the golfing mood which is a good sign.

warmste-25-januari-ooit.png

The yellow flowers in the fields are blooming, the green buds are appearing on the trees, the birds are tweeting away and the insects are zooming around. Nature seems to be getting more and more confused as the years roll by.

Is this a fluke or caused by the carelessness of mankind?

| Ruby and Rails | 0 Comments

When I finished reading The Rails Doctrine I felt re-inspired to continue what I am currently doing, and it gave me courage to move forward with what I believe is the best route for me to follow right now. Although the odds are probably not with me, and it's going to take alot of hard work and perseverance, it's all about programmer's happiness anyway.

| Computers and stuff | 0 Comments

Having had the privilege of being a (small) part of the wonderful world of software development, one of the most important things that I have learned is that in the long run it is NOT technology which is the limiting factor.

The possibilities of technology are pretty much limitless, meaning that in general one can achieve anything that is required. Given enough sweat and tears, creative thinking, time and labor. However, it is "human nature" which is the limiting factor, and if left unchecked it is humans and not machines which usually cause a new project or enthusiastic startup to fail.

People relate to one another in a very unpredictable way. Not only within an organization or the chaotic dynamics of the team. External relationships with the market, ever-changing government rules and regulations, public fickleness or an unexpected dip in the economy. The products are usually pretty good, but it is the brand which must be developed and the potential customers which have to be convinced that they really need what we are building.

To make matters even worse, the endless possibilities of technology can confuse us and lead to indecision and uncertainty. Choosing to pivot in one direction and then switching to the other is only too easy. One needs to be flexible and have the ability to switch but not too easily. Hesitation makes us miss the window of opportunity, while forcing premature decisions doesn't usually work either.

Buddha spoke of always taking the middle path, and wavering ever so slightly is not a bad thing either as long as you do not veer off of the road, e.g. at those sharp turns.

I am not pretending to be a wise person, because I do not know the right answers either. Every startup and new project is different, the constraints and people forming a unique mix of variables. Keep focused, prefer the long run to the short, and tackle the future challenges in a positive and confident manner.

If I had to guess the perfect mix of technology versus the human factor, I'd give it a twenty-to-seventy percent. The last ten percent needs to be reserved for good old serendipity.

Random entries

Here are some random entries that you might be interested in:

Recent Assets

  • DSC01074.JPG
  • stormy-weather.png
  • speaking-javascript.png
  • express-in-action.png
  • Anderstein-golfcourse.png
  • gishtech-company-card.png
  • webdriverio.png
  • Heren-1-Team-2016.png
  • kiffin-and-liam-2016-03.jpg
  • gishtech.png
  • four-birdies-2.jpg
  • four-birdies-1.jpg

Recent Comments

  • Code orange: This blog provides useful information about new te ...
    - Geetha
  • Bridge to the moon: Yes it was a drawing and my older brother told me ...
    - jpmcfarlane
  • Bridge to the moon: Wow, that's quite a coincidence that we both sent ...
    - Kiffin
  • Bridge to the moon: Hello I was in my teens when Gemini 4 went up that ...
    - jpmcfarlane
  • Back to work: Congratulations Kiffin, I hope it is something you ...
    - KathleenC

Golf Handicap

Information

This personal weblog was started way back on July 21, 2001 which means that it is 7-21-2001 old.

So far this blog contains no less than 2241 entries and as many as 1877 comments.

Important events

Graduated from Stanford 6-5-1979 ago.

Kiffin Rockwell was shot down and killed 9-23-1916 ago.

Believe it or not but I am 10-11-1957 young.

Began well-balanced and healthy life style 1-8-2013 ago.

My father passed away 10-20-2000 ago.

First met Thea in Balestrand, Norway 6-14-1980 ago.