Waiting is bad for you… and it’s worse than you think

I recently ran into a concrete example on waiting that showed me, again, why it’s bad. And how easy the alternative is.

At one of our facilities the cleaning has long been neglected. It was super-dirty in places and you could see that no one had clean here for months, maybe even years. A rescue operation was put into place and in just 5 days the facility was cleaned. About 15 people was engaged in the effort.

That’s really awesome because not only is the cleaning done, but the next time we clean it will not take as much time.

In this post I wanted to share some thoughts on how this is general and what we can do to avoid this situation.

To explain what just happened to the people in the room I drew this diagram on the whiteboard:

2014-06-02 13.16.14

We talked for awhile...

Read More

What I missed, longed for, happy to not have from fasting from social media

Tomorrow I will end a 30 day social media fast.

I got a bit overwhelmed and depressed by some comments and discussions that I was drawn into and aired it with my buddies at Aptitud. 2 minutes later 3 of us decided to go on a fast.

I uninstalled all my social media apps and removed the shortcuts to the sites. The first thing was to make it harder to use it. I was in real deep, and even felt a bit stressed that if I didn’t read my stream the first thing in the morning.  The first couple of days it was pretty close that I got back in a couple of times. I realized that if I was waiting for a slow page (ALL pages when in Indonesia) I often switched over to Twitter to catch up…. And got stuck.

Full disclosure: I have been tweeting...

Read More

Screencast - What is Yield and Generators?

I made another little screencast about Koa Js. This time I talk about and show the concept that Koa is built upon: generators. We’re also visiting the “yield” keyword in order to understand what’s going on.

  • Yo
  • I
  • Expect
  • Little
  • Delay

is my new way of explaining what happens when you say yield in your code. I hope you enjoy this.

Read More

Screencast - Installing Koa Js - A Tutorial Through Failures

When I first started to use Koa Js, I was, like many I presumed, slowed down by the fact that Koa is using features in JavaScript not yet released in the current Node, like generators for example.

When you’re quite new to a subject, the errors that you are greeted with can be quite confusing. And the solutions are often not obvious. So, I did a short screencast showing off the failures that I ran into when I tried to get started with Koa. It’s a tutorial through failures, quite simple.

I hope you enjoy it.

There are also some tips that have helped me in there. If you prefer reading about how to install this, it’s basically the same content as this blog post.

I used my iPhone mic this time and that took some of the clickety-click sounds away, even if it also made my...

Read More

Screencast on Getting Started with Koa Js

I got a comment from a reader. That’s both encouraging and educating. Mr Robert Larsson asked me if I could show him and others how to write an API using Koa Js. Yes, sir. I can do that.

I thought that I would try something different (for me) and did a screencast out of this. I had great fun doing this and was a bit nervous to record this (would the internet act up, would any dogs or cats outside my house be audible), but the end result was pretty good I think (Elin opened our VERY squeaky door twice but other than that it came across fine).

Please let me know what you think about the content:

As always, I learned a lot in the process. Here are a few of the things that I picked up:

  • Rehearse it! Did the complete app 4 times before...
Read More

“Waiting” should be a note and not a column

Quite often when you create a visualized version of your workflow you end up with a waiting column. This is where items go while you are waiting for someone else, or something else to happen before you can continue to work on it.

It might look something like this on your board:

example1

For example, you are writing a report and need feedback on the report before you can continue. Sadly, that person (Daphne, let’s call her that) who can give you feedback is sick, so you’ll have to wait until Daphne is back again. You are blocked on this item and cannot complete it. (Coders, exchange the word “report” for “module” and you’ll be able to tag along :smile:). You move the sticky to the waiting column and pull the next one…

This is a bad idea. Waiting-columns are a place where work items go to...

Read More

Repost Beyond Callbacks or How Koa helps me Code Better

REPOST FROM CODEBETTER

I noticed that CodeBetter is slowing down. Maybe dying. I’m preserving my post from there here.

Orginal post

For the better part of my life I have been a C# programmer. But lately I have ventured into JavaScript land. And I like it. I have come over the “what kind of junk is this”-phase and come to see the power and beauty that is “hidden under a huge steaming pile of good intentions and blunders is an elegant, expressive programming language”. You should read that book, by the way, that’s the one that made me like JavaScript.

Being a backend-guy (I will NEVER understand CSS… There – I’ve said it!) I soon came to look into Nodetoo. And pretty soon after that I met Express. Express was very nice since it reminded me of Nancy. Felt right at...

Read More

MongoDb and the "10309 Unable to create/open lock file" on Ubuntu

Ok, this was about to drive me crazy, and it seems like a lot of people have run into the same problem but sometimes my Mongo installation dies on me with an error like this:

10309 Unable to create/open lock file: /data/db/mongod.lock errno:13 Permission denied Is a mongod instance already running?, terminating

Yeah, I didn’t get that either. The actual error is not hard to understand, there’s some kind of permission needed on the /data/db-directory. But why? And how to fix it?

Why… well in my case it was when I had to shut down a running VirtualBox image by just closing the image window, the equivalent of pulling the cord of a running computer. So probably Mongo didn’t have time to clean up after itself…

Fix it… yeah, there’s a big number of posts on StackOverflow, take your pick....

Read More

Marcus Node Bits - Basic Authentication with Koa

As you might know I have fallen in love with Koa Js. I have, from experience, also come to realize that if you want to really understand a framework or tool you need to build something real with it. In that spirit, I created a little voting site that we will use in my current job. The whole application is simple; basically, you can create a question (poll maybe is a better word) that you want someone to answer. “How did you enjoy your stay?” for example. There are then only 4 valid answers: Sad smile, Disappointed smile, Smile, and Open-mouthed smile. The idea is that answering this is just pushing a button on your way out, like a physical Facebook like-button. From this, we can gather some simple, but interesting data about what people...

Read More

Do something together - what Indonesians taught me, part I

One of the things that really surprised my wife and me when we were about to move to Indonesia was the schedule for our office. Every Friday, there’s a scheduled 2.5-hour exercise session from 8 AM. Special exercise clothing is provided by the office. Except once a month when we spend that time cleaning or repairing the office. These activities are required, and nothing else happens in the office during this time (no meetings, for example).

Every office (that I have seen and passed by on the streets) participates in this. The bank down the road is exercising or playing soccer in their parking lot. The police office is doing aerobics in their courtyard, and even the churches and their staff are outside, exercising.

It felt a bit strange initially, but I have come to appreciate these activities a lot, and maybe not for the reasons you might first think.

...
Read More