tag:blogger.com,1999:blog-82367851214265153592024-03-29T04:29:23.517+01:00RuminationsOle Laursenhttp://www.blogger.com/profile/11202062681718096078noreply@blogger.comBlogger132125tag:blogger.com,1999:blog-8236785121426515359.post-6387716011291837172023-05-02T10:40:00.003+02:002023-05-02T10:40:46.289+02:00When six becomes seven<p>I woke up in the night, really tired, hearing Janne rummaging around. Two weeks before the due date.</p><p>If she doesn't go to bed soon, she's probably in labour, I thought. A few seconds later she woke me up with the news that the water had broken.</p><p>So I called for help, and we went to the hospital. A few hours later, our fifth child, a daughter, was born.</p><p>She bled too much at the previous birth, so this time they drugged her immediately, and it did seem to work, so we could go home a few hours later by the bus.</p><p>Both are fine. It's been five years since our previous child, so I've almost forgotten how cute they are as small babies. And how quickly they go from looking around to a sour face and a cry. The rest of the children have received her well. Good times.</p>Ole Laursenhttp://www.blogger.com/profile/11202062681718096078noreply@blogger.com0tag:blogger.com,1999:blog-8236785121426515359.post-5832001186475547212023-01-31T10:23:00.002+01:002023-01-31T10:23:49.343+01:00Tao Te Ching<p>I've been reading through <a href="https://www.organism.earth/library/document/tao-te-ching">this translation of Tao Te Ching</a> which I really enjoyed. Like this, on the trouble of inner mud:</p><p><br /></p><blockquote><p style="text-align: center;">The ancient Masters were profound and subtle.</p><p style="text-align: center;">Their wisdom was unfathomable.</p><p style="text-align: center;">There is no way to describe it;</p><p style="text-align: center;">all we can describe is their appearance.</p><p style="text-align: center;"><br /></p><p style="text-align: center;">They were careful</p><p style="text-align: center;">as someone crossing an iced-over stream.</p><p style="text-align: center;">Alert as a warrior in enemy territory.</p><p style="text-align: center;">Courteous as a guest.</p><p style="text-align: center;">Fluid as melting ice.</p><p style="text-align: center;">Shapable as a block of wood.</p><p style="text-align: center;">Receptive as a valley.</p><p style="text-align: center;">Clear as a glass of water.</p><p style="text-align: center;"><br /></p><p style="text-align: center;">Do you have the patience to wait</p><p style="text-align: center;">till your mud settles and the water is clear?</p><p style="text-align: center;">Can you remain unmoving</p><p style="text-align: center;">till the right action arises by itself?</p><p style="text-align: center;"><br /></p><p style="text-align: center;">The Master doesn't seek fulfillment.</p><p style="text-align: center;">Not seeking, not expecting,</p><p style="text-align: center;">she is present, and can welcome all things.</p></blockquote><p><br /></p>Ole Laursenhttp://www.blogger.com/profile/11202062681718096078noreply@blogger.com0tag:blogger.com,1999:blog-8236785121426515359.post-34085790251844534022022-08-26T22:07:00.004+02:002022-08-26T22:08:25.208+02:00On problem-based learning in primary school<p>I watched a passionate <a href="https://www.ted.com/talks/trish_millines_dziko_how_schools_can_nurture_every_student_s_genius">TED talk about problem-based learning in primary schools</a>.</p><p>The university I went to followed this model religiously. 2/3 of our time was spent on semester-long projects. It works. The average time to complete a comp.sci. master's degree at this university was 5.0 years, where the average in other traditional universities in Denmark was > 8 years when I last looked at the numbers.</p><p>Besides the benefits mentioned by the speaker in the above video, there can also be a strong social aspect in being divided into small, tightly-knit groups where people would help, motivate and look after each other - and learn how to forget their egos in the name of making the project work.</p>Ole Laursenhttp://www.blogger.com/profile/11202062681718096078noreply@blogger.com0tag:blogger.com,1999:blog-8236785121426515359.post-24892326034088678562021-09-23T10:16:00.002+02:002022-03-30T08:44:33.836+02:00Bicycle pedal care<p>I mostly get around on bicycle. I'm a bicyclist in the sense that it is my primary means of transportation, but I'm definitely not an enthusiastic bicyclist in the sense that I want to spend time on my bicycle. I want my bicycle to be as care-free and as cheap as possible. Yes, these two can easily be at odds, but they can also go together. For instance, some of the low-weight, high-speed bicycle gear is definitely not care-free.</p><p>Now when it comes to the pedals, there are a couple of things I've learned from 20 years of maintenance.</p><p><b>Which ones to buy</b></p><p>First, there are two kinds of cheap pedals. There are the ultra cheap ones that claim to be completely sealed, hence needing no maintenance.</p><p>This turns out to be a lie. The sealing means that it is really difficult to maintain them, but it does not stop water from leaking in and ruining the oiling of the ball bearings.</p><p>It took me some years to understand how, but I think it's simply a basic physical property of the metal that when you apply pressure to it, it will flex just a tiny amount, and that tiny amount is enough to let water in when you're bicycling in wet weather.</p><p>So eventually, the drive train starts creaking, and it turns out it's the pedals, and then it is really difficult to get any kind of greasing into them, so you end up having to buy new ones. I thought for some years that this was okay, due to the low price. But for me it's really just cumbersome (buying stuff takes time) and distasteful to have to discard a big lump of metal each year.</p><p>And it turns out there is another kind of cheap, just slightly less cheap, pedal which allows you to remove the end cap that faces outwards so you can easily get to the ball bearings. That end cap is not under pressure, so I don't think it makes the pedal more leaky, but it does make it trivial to get the ball bearings re-oiled. So these pedals last a lot longer.</p><p><b>Preventive maintenance</b></p><p>One thing I did learn is that pedals is a wear part. In retrospect that should not be surprising, after all it's the main interface for transferring power from your body to the bicycle. So you need to be able to take pedals off, even if it's just for oiling.</p><p>Unfortunately, pedals can get stuck pretty hard on the pedal arms. It probably does not help that many pedal arms are made of aluminium while the cheap pedals are steel, so they tend to grow fond of each other.</p><p>So, first, when you screw in pedals, give the thread a bit of oil to try to prevent the metals from exchanging electrons.</p><p>Then, and here comes the repetitive part, each time you fix something unrelated on the bicycle, take a wrench, give the pedal a nudge so it is no longer tight, and tighten it up again.</p><p>You don't need to tighten it hard. So if you are a strong, independent, fair-skinned, but not pale, okay, perhaps somewhat pale, computer scientist like me, and do this a couple of times a year, it should untighten with a little nudge, no trouble at all. The whole procedure takes 10 seconds per pedal plus two minutes to find the wrench and put it back.</p><p><b>Wrenching pedals</b></p><p>The fun thing about pedals is that they turn around as you pedal. And if you think about it, they don't turn the same way with respect to their axle, since one axle is pointing to the right and the other to the left.</p><p>Now someone, and I suspect this happened early in the history of the pedalled bicycle, figured out that the spinning motion is great on the right side as it will tend to tighten in the pedal screw. At least when you pedal forwards, which I think we sort of standardized on.</p><p>But on the left side, the spinning motion will tend to unscrew the pedal. So on the left side, the thread is flipped so that it also gets to enjoy this tightening goodness. As a consequence you need to wrench the pedal the opposite direction on the left pedal - it has a links (left) thread, not a right one.</p><p>So this is why you don't need to tighten the pedals more than a gentle nudge, despite the forces involved in pedaling.</p><p>It also means that left and right pedals are not interchangeable. They are usually marked with L(eft) and R(ight). If you don't pay attention to this, you can easily destroy the thread on a soft aluminium pedal arm.</p><p>As for the wrench itself, back in the day, there used to be very little space between the pedal and the pedal arm so people would have special, thin pedal wrenches. Combine that with stuck pedals, and you would be sure to have a sad experience.</p><p>But all the cheap pedals I've bought over the past 15 years have had plenty of space for a standard 15 mm wrench/spanner, which I also use for the bolts on the back wheel axle. So no need for special equipment.</p>Ole Laursenhttp://www.blogger.com/profile/11202062681718096078noreply@blogger.com0tag:blogger.com,1999:blog-8236785121426515359.post-57415128001875413682021-08-04T12:04:00.004+02:002021-09-23T10:19:27.742+02:00Daniel Schmachtenberger and civilization<p>I recently came across <a href="https://www.youtube.com/watch?v=hGRNUw559SE">this interview with Daniel Schmachtenberger</a> which I really enjoyed, partly because it concerns something I find myself spending more time thinking about, partly because of the absolutely attractive view of human that he is show casing through his attitude.</p><p>There are things in our modern life which we should be proud of, things that have been developed over centuries by us and the people before us. The internet is one example. Another is our governance structures, the refinement of which has prevented much suffering.</p><p>But there are also things that are dark. The are things that cause people suffering in new ways. <a href="http://rickroderick.org/201-nietzsche-as-myth-and-mythmaker-1991/">Loss of meaning</a> of life itself, replaced with void or empty consumerism, and <a href="https://www.goodreads.com/book/show/34466958-bullshit-jobs">loss of even the meaning of work</a>. Corruption of the information that feeds our governance structures. Appraisal of comfort over long-term planning. Self-centered competition over compassion.</p><p>Daniel Schmachtenberger has the interesting take that our culture makes a difference to who we are. And even if we find it difficult to control ourselves and our emotions, we can change our culture and our environment.</p>Ole Laursenhttp://www.blogger.com/profile/11202062681718096078noreply@blogger.com0tag:blogger.com,1999:blog-8236785121426515359.post-88554359190482331062019-06-26T16:30:00.002+02:002021-09-23T10:17:03.727+02:00Consumerism and alienation<div data-block="true" data-editor="57efv" data-offset-key="3dbre-0-0" style="background-color: white; color: #1d2129; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;"><div class="_1mf _1mj" data-offset-key="3dbre-0-0" style="direction: ltr; font-family: inherit; position: relative;"><span data-offset-key="3dbre-0-0" style="font-family: inherit;">Came across this quote, which is really one of the reasons my children are in the Waldorf kindergarten and school system:</span><br />
<span style="font-family: inherit;">“The relatively new trouble with mass society is perhaps even more serious, but not because of the masses themselves, but because this society is essentially a consumers’ society where leisure time is used no longer for self-perfection or acquisition of more social status, but for more and more consumption and more and more entertainment…To believe that such a society will become more “cultured” as time goes on and education has done its work, is, I think, a fatal mistake. The point is that a consumers’ society cannot possibly know how to take care of a world and the things which belong exclusively to the space of worldly appearances, because its central attitude toward all objects, the attitude of consumption, spells ruin to everything it touches.” </span></div></div><div data-block="true" data-editor="57efv" data-offset-key="flq4d-0-0" style="background-color: white; color: #1d2129; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;"><div class="_1mf _1mj" data-offset-key="flq4d-0-0" style="direction: ltr; font-family: inherit; position: relative;">
<span data-offset-key="flq4d-0-0" style="font-family: inherit;">― Hannah Arendt, Between Past and Future</span></div>
<div class="_1mf _1mj" data-offset-key="flq4d-0-0" style="direction: ltr; font-family: inherit; position: relative;"><span style="font-family: inherit;">I don't think consumption itself is a problem. The problem is the attitude - if there is no thoughts about production, no consideration at all, then the result is a complete alienation towards the world. It is like existing in a prison, getting everything spoon-fed.</span></div>
</div>
Ole Laursenhttp://www.blogger.com/profile/11202062681718096078noreply@blogger.com0tag:blogger.com,1999:blog-8236785121426515359.post-22666851148036679082019-05-06T17:17:00.001+02:002019-05-06T17:17:21.208+02:00Danish blogI finally got around to dusting off some notes I have taken over the past year or so and got my <a href="https://holdeplads.blogspot.com/">Danish blog</a> published. I intend to use it for Danish things that just seem pointless to blog about in English, but it is currently mostly about the local <a href="http://www.oestskolen.dk/">Waldorf/Rudolf Steiner School</a> that my oldest son attends.Ole Laursenhttp://www.blogger.com/profile/11202062681718096078noreply@blogger.com0tag:blogger.com,1999:blog-8236785121426515359.post-87118330720862376942019-01-31T00:58:00.003+01:002021-09-23T10:19:14.608+02:00What a dumb thing to sayHave you ever witnessed a stranger remark something and thought it to be a dumb thing to say?<br />
<div>
<br /></div>
<div>
I sometimes ponder that kind of sayings years later and realize that I was wrong: <i>I was in fact the dumb one</i>.</div>
<div>
<br /></div>
<div>
I couldn't see why it made sense at the time, either because I was not experienced enough, or because I was stuck in a certain mindset, or just didn't give it enough thought.</div>
<div>
<br /></div>
<b>The world is beautiful</b><br />
<div>
These days, realizations like these make me incredibly <i>happy</i> - the world suddenly grows more beautiful. </div>
<div>
<br /></div>
<div>
And it can off-hand remarks, not intended to be deep, but just a reflection of a large sum of experiences.</div>
<div>
<br /></div>
<div>
For instance, one of the adults in the kindergarten my children attend once explained to me that you cannot really change the children in the kindergarten. They are who they are. But you can help them be the best version of themselves.</div>
<div>
<br /></div>
<div>
That really stuck with me. I think it sums up how to approach other people - we should always help them be the best version of themselves. Imagine a world where your partner, colleagues, managers, customers, students, shop assistants, everyone had the aim of helping you be the best version you could be in a given situation.</div>
<div>
<br /></div>
<div>
That's beautiful.<br />
<br />
And the ability to see this is truly one of the gifts of growing older. I can understand things I couldn't understand before.</div>
<div>
<br /></div>
<div>
And when I get surprised by people who I believe should think better saying something that does not seem right, I try to spend my brain cycles on why they'd reach that conclusion rather than how wrong they are.</div>
<div>
<br /></div>
<div>
I'm finding that works really well when trying to come to terms with politics. Today I'm more interested in the politician than the party.</div>
<div>
<br /></div>
<b>Internet culture</b><br />
<div>
I love reading, I guess I am really a curious person. The internet is full of forums with people discussing all sorts of things, in great detail, donating their personal time to illuminate the rest of the world with their arguments and experiences, from a point of view that is hard to reproduce. For instance, I don't know how it's like to be an 18 year old girl. Or an investment banker.</div>
<div>
<br /></div>
<div>
But seeing things from their perspective is valuable. And I have participated myself too. Over the years, I must have written several thousands of posts here and there.</div>
<div>
<br /></div>
<div>
The interesting thing is that for me, replying makes the man-that's-dumb mistake harder. I don't like being wrong, so once I start a reply, somewhere an unconscious part of me starts wondering if I am really right, or whether there could perhaps be meaning somewhere in the words that seem so dumb.</div>
<div>
<br /></div>
<div>
In the end I often end up not clicking the submit button.</div>
<div>
<br /></div>
<div>
In some cases I have gone ahead, only to realize months later, to my great agony, that I was in fact the dumb one.</div>
<div>
<br /></div>
<div>
But when I then go back and look at the discussion thread again, I can see that often, it's not really a case of two people being stupid to each other, but more a resolvable failure of communication.</div>
<div>
<br /></div>
<div>
As I grow older and start condensing hard-earned truths myself, I'm starting to experience it from the other end - people who obviously think what I say is dumb because they do not appreciate the context. It can be really annoying if it's people I care about.</div>
<div>
<br /></div>
<div>
I need to work on my communication.</div>
<div>
<br /></div>
<div>
<b>The reverse situation</b></div>
<div>
In some sense, the reverse situation is much worse. I and everyone else think something sounds profound and correct and <i>smart,</i> only to realize, years later, that it is in fact pretty dumb.</div>
<div>
<br /></div>
<div>
When I do that myself, I'm somewhat happy that I can now see my mistake. But honestly, seeing other people do it makes me depressed.</div>
Ole Laursenhttp://www.blogger.com/profile/11202062681718096078noreply@blogger.com0tag:blogger.com,1999:blog-8236785121426515359.post-4062519258076012902018-02-16T14:59:00.002+01:002023-05-02T10:33:59.250+02:00When five becomes sixJanne woke me up saying she thought now was the time. But she wasn't sure. She had a few false starts, keeping her frem sleeping.<br />
<br />
She did sound so as if this was different, though, so I started calling for help. She also called the midwives at the hospital who apparently didn't quite believe she was going to give birth yet.<br />
<br />
Just before the help arrives, Lys woke up, so I had to comfort her. When I get up, Janne is weird - apparently she's less and less sure. But the rest of us think it's better if we just go, so we arrive at the hospital 15 minutes later where the midwife examines her and concludes that she's ready to give birth as soon as the water breaks. Not long after, our fourth child is born, a son.<br />
<br />
He's a bit blue but alright.<br />
<br />
Unfortunately, Janne's uterus doesn't contract itself properly, so she looses too much blood, almost 1.5 liter they think, so there's a little emergency until the staff manages to get it to stop, partly by medication, partly by pushing down on her stomach.<br />
<br />
They then kept her for a day for observation before releasing her and the child. That's now just about four weeks ago.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigXTipYvO69FZPgis1yq9jUXTN7g4mZGC2YqUn7aaaBU4EhUTa2KIjkqOCgeX0jwO94l0ukzkdsG1-cRU6krrhWIutO0k3t6lmAtCtljLXqPGHbBm8vKP8T6diJuwq7joofqy2mZ19uMo/s1600/DSC_3758.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1072" data-original-width="1600" height="267" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigXTipYvO69FZPgis1yq9jUXTN7g4mZGC2YqUn7aaaBU4EhUTa2KIjkqOCgeX0jwO94l0ukzkdsG1-cRU6krrhWIutO0k3t6lmAtCtljLXqPGHbBm8vKP8T6diJuwq7joofqy2mZ19uMo/s400/DSC_3758.JPG" width="400" /></a></div>
<br />
<br />
We're going to call him Dag - "day" in English.Ole Laursenhttp://www.blogger.com/profile/11202062681718096078noreply@blogger.com0tag:blogger.com,1999:blog-8236785121426515359.post-73718850835514669972017-12-09T00:58:00.000+01:002017-12-09T01:00:24.502+01:00Emotions and intuitionNot yet done with <a href="https://ole-laursen.blogspot.dk/2016/06/intuition-and-design.html">my layman journey</a> into thought processing and intuition, my model is as follows: Thinking intuitively, you first acquire experience, probably mostly through trial-and-success/error, then let yourself pattern-match the situation at hand against this experience.<br />
<br />
Now the funny thing is that, at least for me, when I need to evaluate several options, the way this pattern matching gets communicated up through the system is in many cases through emotions.<br />
<br />
What I think is the right path makes me more calm and happy, whereas a path which I for some reason have had a bad experience with or expect to have will make me more anxious. Which actually makes sense. But it can come out in an incoherent way.<br />
<br />
<b>Incoherency</b><br />
<br />
For instance, our course teacher at university in software management, an experienced and well-honed practitioner and pragmatic thinker once told us a story about a project which he ended it with a tired expression and the remark: "Just thinking about how to work with that is just almost unbearable."<br />
<br />
I think what he meant to say was that going along that path would be long-winded and tedious. But what I actually understood from this was much simpler: his intuition had decided this was the wrong path and sent him a bunch of negative emotions instead of an honest, objective assessment. We didn't get facts, we got a tired expression.<br />
<br />
Intuition can be right, and I certainly believe it was in his case, but bad at communication so you may end up with the wrong set of arguments for why. Which is not surprising if intuition is a complicated, haphazard pattern-matching process.<br />
<br />
Now if the arguments are ideas, you can use logic to examine them and quickly discard those that are bogus, but it's much harder to work with emotions.<br />
<br />
<b>Emotional decision-making</b><br />
<br />
While I believe that intuition is really powerful, much more powerful than logic when it comes to coming up with ideas and making decisions, emotions are certainly not something you want to be in control of decision making.<br />
<br />
Emotions tend to make us, well, emotional.<br />
<br />
There is a purpose to emotions. Hunger makes us look for food, excitement makes us focus and endure hardship, indifference or lazyness makes us conserve energy, fear makes us careful, affection makes us bond and mate, and hate and anger makes us defend ourselves and punish destructive antisocial behaviour.<br />
<br />
But these are primitive mechanisms. You can see a house cat take a liking to the occupants of the house or a dog get angry at someone passing by too close to the territory. A person following only emotions is like an animal.<br />
<br />
Emotions are simply not sophisticated enough devices. Following them makes for shortsighted decisions, although, ironically, they may serve a long-term goal - love for instance is certainly necessary for the survival of the human species.<br />
<br />
<b>Detachment</b><br />
<div>
<b><br /></b></div>
So while I'm still a firm believer of the power of intuition, I think it's important to be able to detach from the emotional aspect to get anywhere. So not get emotional, but instead listen to the conclusion and try to figure out if it is guided by experience or if it is simply an artifact of who you are.<br />
<br />
This is to me a three-way paradox. Intuition can provide the answers but not explain them, emotions can communicate the answers but at the risk of leading straight into an emotional and uncooperative dead end, logic cannot provide the answers but perhaps offset the emotions and help dig up an explanation from the intuitive depths.<br />
<br />
I don't think you can be an effective thinker without emotions, despite emotions being in some sense the antithesis of thinking.<br />
<br />
As a side note, I think I should clarify that detaching oneself from an emotion is a tool to use in certain situations. Much of the joy being a human comes from immersing oneself in emotions. It's just that when it comes to making important decisions, it may be better to set aside the immediate joy, or fear for that matter, and look into the future. Even if you hate that person, is it really a good idea to act on it? Or even if you love that person, is it truly best for you to act on it? Maybe your fears are unfounded?Ole Laursenhttp://www.blogger.com/profile/11202062681718096078noreply@blogger.com0tag:blogger.com,1999:blog-8236785121426515359.post-74108319838320416172017-11-14T23:33:00.002+01:002017-12-08T23:35:24.470+01:00AcceptingTonight, as I was dual-wielding my 1-year old daughter Lys as she was supposed to fall asleep, yes, I was holding both of her hands, at her request, I suppose it gives that extra 60% of comfort or something, I got thinking about the transformative experience it is to have small children.<br />
<br />
I think that the experience eventually wears off, although I would assume some residuals are always left. But I can't say for sure yet. Lys will be 2 years old this February but she isn't our latest child, unless you only count born children.<br />
<br />
For me, the transformation is mostly about accept, of my own situation and that of my children.<br />
<br />
For instance, I can't control even basic necessities in my life - like sleep. Not if I am to take care of my children. The moment I might need sleep the most, I may not sleep well for next week if one of them is ill. That's just the way it is.<br />
<br />
But that part is sort of trivial. Much more interesting is the uncontrollable human situation.<br />
<b><br /></b>
<b>Hurting</b><br />
<br />
An example is hurting people. Let me start with myself: as I held my daughters hands tonight, it struck me that I'm inadvertently hurting my children all the time. Why?<br />
<br />
Well, it's just impossible not to. Physically, it's like a human in an elephant house in a zoo, the difference in size is just so big that the small party is going to take a hit sometimes. I going to trample a toe or scratch an arm when I swing them around giggling.<br />
<br />
But also emotionally, it's just so hard to understand where small children are, and I don't always have the time or concentration or mood to even try to be there. And as is obvious with three children, sometimes someone has to let it go. We can discuss and think about priorities and what's the greater good when we find ourselves in a conflict, but in the end someone must chose a path. That's just the way it is.<br />
<br />
<b>Being mean</b><br />
<br />
But it gets worse. There are so many ways to hurt other people, to be mean to them. I have yet to see a child who doesn't occasionally try out most of the obvious ones. And despite my children being, in my opinion, generally lovely, lively and relatively reasonable, they have too.<br />
<br />
I try not to let them get away with it, but I don't control them. You can't control other people, and my children are definitely, albeit still in a small manner, people. Nor should I. Talk is cheap, leading by example is not. They need to understand and choose for themselves.<br />
<br />
So, as I parent, I will watch them be mean to each other and to other children and vice versa. That's just the way it is.<br />
<br />
<b>Accepting</b><br />
<br />
For me, the transformative part comes about because of force. Before being a parent, there are many aspects in life where I could maintain an idea of how things should be, possibly an illusion, but still. But it's no longer about me, only, and I find myself being forced into accepting things that I don't, at the outset, like.<br />
<br />
In this accept, I've started to see some things that I haven't understood before, not only in small people.<br />
<br />
You can't accept something without putting preconceived notions or what I think of as morality aside. Morality, even if well-founded, like the pretty obvious idea that you should never hurt others, is really one-sided in its emotional nature. Once morality enters, it calls for an immediate action, clouding cool judgement. So X hit Y. Shame on X!<br />
<br />
Now my examples may have been somewhat dramatic, but honestly I don't think those are terribly deep. I may witness a child of mine being mean, but I'm not going to like it and will try to find a reason behind and do something about that.<br />
<br />
What I have accepted is that this is human nature. And this accept of the human nature has opened some doors for me in much deeper territory.<br />
<br />
I'm finding it easier to read about politics (and send an occasional email to a party), to understand and learn from the <a href="https://en.wikipedia.org/wiki/Waldorf_education">Waldorf</a> kindergarten and school that we've ended up sending our children to, to work with people.<br />
<br />
How much is visible from the outside, I don't know, probably I'm just tired and grumpy. But it feels different.Ole Laursenhttp://www.blogger.com/profile/11202062681718096078noreply@blogger.com0tag:blogger.com,1999:blog-8236785121426515359.post-67517627695936047562017-06-13T22:53:00.002+02:002017-06-13T22:53:33.648+02:00Some ways to get probabilities wrongAn <a href="http://quillette.com/2017/05/26/paradoxes-probability-statistical-strangeness/">interesting set of paradoxes</a> in probability.<br />
<br />
Some of them are somewhat mind-boggling.<br />
<br />
It's too bad school doesn't generally teaches us enough to get the intuition right.Ole Laursenhttp://www.blogger.com/profile/11202062681718096078noreply@blogger.com0tag:blogger.com,1999:blog-8236785121426515359.post-71773359252566202412017-03-24T22:08:00.000+01:002017-11-14T23:33:49.955+01:00Lys' vuggevise/lullabyDespite not having blogged much for the past years, or rather, not writing down many blog posts, because I do in fact have had a lot of blogs composed inside my head, I sometimes wish I had a Danish blog for stuff that only makes sense in Danish or for Danes.<br />
<br />
This is one of them. For reference, here's someone singing <a href="https://www.youtube.com/watch?v=zN9o0Ao4N38">an original version</a>, with gestures (apparently the text is by Oskar Schlichtkrull and music by Finn Høfding). Obviously, when trying to get your baby daughter to sleep, you don't do any gestures.<br />
<br />
<b>Lys' vuggevise v. 3</b><br />
<i>Gentle, deep voice</i><br />
<br />
Jeg har en flyvemaskine,<br />
den har vinger på.<br />
Du kan tro at de er fine,<br />
for de er malet blå.<br />
<br />
Og når jeg flyver om natten,<br />
så tager jeg lygter på.<br />
Der er ingen der kan ta' dem,<br />
for hvem kan himlen nå?<br />
<br />
Min mor, hun sidder og strikker,<br />
og hun har lovet mig:<br />
Den dag der ik' er flere masker,<br />
flyver hun og jeg.<br />
<br />
Min far, han ligger og læser.<br />
Men han har sagt til mig:<br />
En dag hvor vinden rigtig blæser,<br />
flyver han og jeg.<br />
<br />
Min kat den sidder og spinder,<br />
for jeg har lovet den:<br />
En dag hvor solen rigtig skinner,<br />
flyver vi afsted.<br />
<br />
Jeg flyver hen over havet,<br />
jeg flyver over land.<br />
Propellen har jeg selv lavet,<br />
den kør' så hurtigt som den kan.<br />
<br />
Og mens min motor den brummer,<br />
så kigger jeg op og ned,<br />
for at se om der er andre folk der flyver,<br />
så'en en dag hvor solen bare bli'r ved...<br />
<br />
Here's a rough translation:<br />
<br />
<i>I have a flying machine,</i><br />
<i>it has wings on.</i><br />
<i>You can believe they're so fine,</i><br />
<i>because they're colored orange.</i><br />
<i><br /></i>
<i>And when I fly at night,</i><br />
<i>I put the lights on.</i><br />
<i>There is noone who can take them,</i><br />
<i>because who can reach the sky?</i><br />
<i><br /></i>
<i>My mum is sitting and knitting,</i><br />
<i>and she has said to me:</i><br />
<i>The day she's out of stitches,</i><br />
<i>she and I will fly.</i><br />
<i><br /></i>
<i>My dad is on the couch and reading.</i><br />
<i>But he has promised me:</i><br />
<i>A day where the wind is really blowing,</i><br />
<i>he and I will fly.</i><br />
<i><br /></i>
<i>My cat is in the window purring,</i><br />
<i>because I've promised it.</i><br />
<i>A day the sun is really shining,</i><br />
<i>we will fly away.</i><br />
<i><br /></i>
<i>I'm flying over the ocean,</i><br />
<i>I'm flying over land.</i><br />
<i>The propeller is one of my invention,</i><br />
<i>turning as fast as it can.</i><br />
<i><br /></i>
<i>And while my engine is humming,</i><br />
<i>I'm looking up and down,</i><br />
<i>to see if other people are out flying,</i><br />
<i>such a day where the sun is high...</i>Ole Laursenhttp://www.blogger.com/profile/11202062681718096078noreply@blogger.com1tag:blogger.com,1999:blog-8236785121426515359.post-72252457726241061642016-12-12T23:18:00.000+01:002016-12-12T23:18:53.811+01:00Disappointment...That's the feeling you get a late night when you hit M-/ in Emacs (hippie-expand), and Emacs doesn't use the web page you are looking at in Firefox as a source to auto-complete the word you've halfway written.<br />
<br />
I think I need to retrain myself to use the browser built into Emacs.<br />
<br />
Some people use an IDE that semantically analyses their code and pops up a suggestion box at every opportunity with an exhaustive list of valid choices.<br />
<br />
I program with structural templates/duck types in Python and Emacs lets me complete all sorts of stuff, in comments, from other comments, or from the documentation I'm editing. It'll sometimes suggest some weird stuff, including whole line completions. It doesn't care. I don't care. I guess we're hippies.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEip20anJbapstgtDO_D9YgBSG95jQV8yc3Swax0untjP4sLV8MF_XZfIubFZImDlVWSk7eCLA-aGRi2V-Ka5j-hUbZ3N_4X0mHHAEPR9cWEUBvgxxOm-CcI9T8d3c-QnpwNii1mW5UbQDg/s1600/2769601478_abbd8d10f7_z.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="215" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEip20anJbapstgtDO_D9YgBSG95jQV8yc3Swax0untjP4sLV8MF_XZfIubFZImDlVWSk7eCLA-aGRi2V-Ka5j-hUbZ3N_4X0mHHAEPR9cWEUBvgxxOm-CcI9T8d3c-QnpwNii1mW5UbQDg/s320/2769601478_abbd8d10f7_z.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><i>Hippie van <a href="https://www.flickr.com/photos/maenoellefoto/2769601478/in/photolist-5dJW2C-bZbDiy-rn4Win-3j7Xj-6pEstV-2XBkp1-gkdHu-6mGp6N-7JNUUG-5sgWK-2XBcvq-aewwRS-25yE43-7VBh5M-6C7teD-6C7sWa-937Q6g-54cyGw-bHQtAp-Fs1MX-EjMzn-5roDnx-fQxXZs-dZ99g8-7DgUko-68MRUP-3jKSNz-8iaRhY-7gW5vC-eKvJ8s-nHeTgi-ajES4s-6CMaXq-ampvzC-bABqj-arAMN-6p5JfJ-g1kn-6Zfri-2bBJV-Agqpy-8R8Vr8-DYivH-6iHzq7-mSNb5-fGemF-GBJU6-rb7rCK-6g4tX-bQJCw/">by ma noelle</a></i></td></tr>
</tbody></table>
It won't complete stuff we haven't shared between each other recently, though. I suppose the Lisp engine would rather get into it than wade through a lot of boring code analysis.Ole Laursenhttp://www.blogger.com/profile/11202062681718096078noreply@blogger.com0tag:blogger.com,1999:blog-8236785121426515359.post-66980815654958084252016-06-07T00:35:00.000+02:002017-12-09T01:03:45.302+01:00Intuition and designSo I was <a href="http://ole-laursen.blogspot.dk/2016/05/the-failure-of-logic.html">writing about intution</a>, and somehow got sidetracked into how not to do ranking. Like a review of a game where the reviewer would judge the game on 5 different aspects, game play, sound, story, graphics etc. and then compute a final score based on fixed weights. How you'd fit a smash hit like <a href="https://en.wikipedia.org/wiki/Minecraft">Minecraft</a> into that, I don't know.<br />
<br />
What I really wanted to talk about was design.<br />
<br />
Software development is full of design decisions. How do we present the information to the user? How do we let them act on it? How much to show, how much to hide?<br />
<br />
How do we structure the code internally? What data do we store, how do we model it, how much do we capture? What other software do we build on?<br />
<br />
What interface do we provide to other software developers?<br />
<div>
<br /></div>
It's a sea of decisions. Although it can be helpful for analyzing some outcomes, you can never hope to get through this sea with logic alone. You can often make reasonable deductions that something is simultaneously a good and a bad idea.<br />
<br />
This makes it hard to discuss and evaluate these decisions. Often, we do not have the words, and even if we had, the actual components involved may be interrelated in such a complex manner that you'd never get anything out of studying them directly. You'd have to condense this complexity into something simpler, a process which may take much longer than the design process itself. And in simplified form, you can't be sure deductions are still valid.<br />
<br />
So we're left with the intuitions we train for ourselves.<br />
<br />
In other words, a prime concern of a software developer should be training this intuition effectively, i.e. input good training data with valid, confirmed outcomes - this works in this situation, this doesn't.<br />
<br />
The main road to wisdom in programming, as in other crafts, I believe, is learning by doing. So experimenting or playing around if you wish, and seeing what happens. Not just in a strictly scientific sense where the experiment is artificial and controlled. It may be as simple as recognizing a common problem, working out a possible solution and implementing it and watching it unfold.<br />
<br />
Sometimes you can take a shortcut by learning from others. There are various ways to go about this. Reading literature, or source code, or asking questions, or getting them to comment on your work. It's mostly about basic curiosity. Typical developer chat when someone is talking about something new they've done circle around how they made it work and what problems they encountered.<br />
<br />
But the annoying thing about learning from others is, again, that it can be hard to talk about these things. Design decisions change when the details change. Sometimes minutia can decide whether one model is better than the other. How do you communicate this effectively? The person you are talking doesn't understand your problem completely. You don't understand the situation the other person was in either. So how do you know that the advice is correct?<br />
<br />
I think this is here analytical skills are important. You always have to be sceptical, train your intuition into recognizing discrepancies and evaluate what context causes something to be judged to be good or bad.<br />
<br />
For instance, if someone you know to have developed a sound intuition about a certain area find an idea of yours to be cause of alarm, you'd be a fool to ignore it. But unless you possess the same intuition about the problem, it can be hard to deduce exactly what causes the alarm and whether it's a problem in the context.<br />
<br />
Frustratingly, it can also be hard to explain the root cause on the spot. Often, there is no explanation in the intuition. And examples can be hard to think up. I've sometimes been asked for an opinion, found cause for alarm but haven't been able to figure out why until several years later. I know that because those alarms haunt me for years, making me feel like a grumpy old man seeing ghosts everywhere.<br />
<br />
One example I have is that of software you depend upon, as I touched upon in <a href="http://ole-laursen.blogspot.dk/2016/05/the-failure-of-logic.html">my previous entry</a>. Over the years, I've come to the conclusion that some dependencies serve you exceedingly well, and others serve you hell.<br />
<br />
Probably the hardest part of design is designing for the future. We never know what happens. Still, careful design mitigates the risks.Ole Laursenhttp://www.blogger.com/profile/11202062681718096078noreply@blogger.com0tag:blogger.com,1999:blog-8236785121426515359.post-56258351967725255762016-05-30T22:50:00.002+02:002017-12-09T01:03:08.627+01:00The failure of logicSome time ago, I read a book about experiments on brains, <i>You Are Not So Smart</i>. As it turns out, many of the ideas humans commonly have about their own thinking capabilities are pretty far off the mark because our brains in some way work with illusions.<br />
<div>
<br /></div>
<div>
For instance, human eyes only have a small field in the center where the resolution is good, yet when we open our eyes, a wide field of vision appears. Because the images our brains see is something it has composed itself.<br />
<div>
<div>
<br /></div>
<div>
One of the recurring themes was logic versus intuition.</div>
</div>
</div>
<div>
<br /></div>
<div>
The point was that people mostly think with intuition.</div>
<div>
<br /></div>
<div>
Intuition is powerful. It lets you reason from the cumulative experience you've had. It works effortlessly and often only takes moments to do its job.</div>
<div>
<br /></div>
<div>
Logic is extremely limited. Like a simple computer processor, you can only work with a limited set of concepts at the time and make simple deductions.</div>
<div>
<br /></div>
<div>
People seem to think they make rational, logical decisions. But when you actually test them in experiments where intuition and logic disagree and logic has the upper hand, then most people don't wait and think through the deductions. So they arrive at the wrong conclusions and aren't actually as smart as they think they are.</div>
<div>
<br /></div>
<div>
But it has occurred to me that in some instances, you can see the opposite problem. People trying to use logic to solve problems that require more than simple deductions.</div>
<div>
<br /></div>
<div>
For instance, how do you use logic to decide what you're going to do in life? What education, where to work.</div>
<div>
<br /></div>
<div>
In the software world, an eternal question is what software to bet your future on. It affects end-users as well as developers. In the office next to <a href="http://www.iola.dk/">IOLA</a>, there once was a company that was betting on a particular technology offered by Microsoft. It was even embedded in their name. From the outside, they appeared prosperous. Then one day Microsoft decided to shut down their framework.</div>
<div>
<br /></div>
<div>
How do you decide which programming language framework will serve you well for many years?</div>
<div>
<br /></div>
<div>
I think you can use logic to elucidate some points. Likewise, you can try things out to gain more knowledge. But overall it is a huge trade-off with many factors.</div>
<div>
<br /></div>
<div>
Some people realize that and try to split the hard decision up. So you might look at it from different angles and make up a matrix comparing all the choices.</div>
<div>
<br /></div>
<div>
Helpful as it may be in understanding the problem, it can lead down a path where people spend their time arguing about unimportant matrix details. And someone may get the brilliant idea that all that's needed is a scheme for assigning scores to the various parts and then combining them with weights into a final rank.</div>
<div>
<br /></div>
<div>
This is, I think, the ultimative failure of the faith in logic - thinking that simple-minded strategies will beat the raw power of a trained human brain. How do you assign the weights so that the end result is meaningful? Nobody knows.</div>
<div>
<br /></div>
<div>
If you need a complex ranking, feed the details to a trained intuition, one that has seen what works and what doesn't, and let it decide.</div>
Ole Laursenhttp://www.blogger.com/profile/11202062681718096078noreply@blogger.com0tag:blogger.com,1999:blog-8236785121426515359.post-39979409306190707262016-02-12T14:30:00.002+01:002017-11-14T23:34:12.329+01:00When four becomes fiveWe're now a family of five. Since last week.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxcPeyz_fluRT9q6qt93uwnNxNRhHAQ8QGUZpO5xx0Vq7ddtHhRTi1clKTI4-w05DsntVV93-kyMkDtnxcCYB8_PvwAM-JDGD7MDeu_nkMy0NnKk1xoOa9ovanzQwMskufDmN7SiRf4fo/s1600/newborn-girl.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="267" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxcPeyz_fluRT9q6qt93uwnNxNRhHAQ8QGUZpO5xx0Vq7ddtHhRTi1clKTI4-w05DsntVV93-kyMkDtnxcCYB8_PvwAM-JDGD7MDeu_nkMy0NnKk1xoOa9ovanzQwMskufDmN7SiRf4fo/s400/newborn-girl.jpg" width="400" /></a></div>
<br />
Now, there's a history of quick births. Last time we arrived at the hospital in an ambulance.<br />
<br />
This time Janne woke me up at around 2:40 in the night. At that point, there was plenty of time. So we called the grand parents.<br />
<br />
By the time they got here, maybe half an hour later, Janne wasn't sure there was still plenty of time, so we hurried of, arrived at hospital safely thanks to my father, and half an hour later, it was all over, Janne had given birth to a little girl.<br />
<br />
They wanted to keep Janne around for while because she'd lost a bit more blood than they liked, but changed their mind later the same day after having tested her hemoglobin level. By five o'clock in the afternoon, we were all together again.<br />
<br />
So for the past week and a half, we've been taken care of a little baby, once again. Rewarding in some ways, demanding in other ways. She's got a nice loud scream for when she's not happy.Ole Laursenhttp://www.blogger.com/profile/11202062681718096078noreply@blogger.com0tag:blogger.com,1999:blog-8236785121426515359.post-33763304031493835412016-01-15T00:24:00.000+01:002016-01-15T00:24:44.296+01:00StimergyI've always been attracted to the idea of self-organization by informal means, and there was an article not long ago talking about <a href="https://en.wikipedia.org/wiki/Stigmergy">stimergy</a> in a software development context.<br />
<div>
<br /></div>
<div>
The idea is that everyone somehow knows what to do without talking to each other, but just by doing the work and observing the signs left behind, implicit and explicit.</div>
<div>
<br /></div>
<div>
For instance, how do we add a new page to the app? By copying an existing. How do we know something is wrong? Well, either someone already removed the problematic part so we don't see it anymore, or someone added a FIXME note with the intention of doing it later. Or perhaps it just sticks out so visibly that nobody is in doubt it's bad.<br />
<br /></div>
<h4>
Arrows</h4>
<div>
<br /></div>
<div>
<div>
I think of it as a room full of arrows lying on the floor.</div>
</div>
<div>
<br /></div>
<div>
If you are bad at software development, the arrows will be pointing in random directions, and confusion ensues at every point in the process. You can never sprint, only stumble.</div>
<div>
<br /></div>
<div>
The goal is to make sure everything is tidied up so the arrows point in the same direction, the direction we want to go in. We need to constantly check and revise the code to align the arrows, not only align them to each other but also align them with the evershifting goals of the system. The goal of training newcomers is to teach them to read the arrows and make new arrows point in the right direction.</div>
<div>
<br /></div>
<div>
For instance, if a function is named after how it was conceived, not after how it is currently being used, it's pointing in the wrong direction. When you later try to reason with it, your mind will tend to go down the wrong paths and you'll reach the wrong conclusions, leading to bugs, or at least waste time having to retrace your steps.</div>
<div>
<br /></div>
<div>
You can add a comment to the function, but it's far more powerful to fix the name so it's pointing in the right direction, even if it's more work up front. Arrows matter.</div>
<div>
<br /></div>
<div>
I think this is a powerful metaphor.<br />
<br /></div>
<h4>
Simple processes</h4>
<div>
<br /></div>
<div>
I also think it's a powerful method.</div>
<div>
<br /></div>
<div>
Everything is done by <i>engaging with the main activity</i>, programming. It's through this activity that we learn and exchange the acquired knowledge.</div>
<div>
<br /></div>
<div>
<i>Anyone can contribute to the direction</i>. The value of the contribution is correlated with the confusion the contribution leaves in the greater system. It can be negative, but it can also be a stroke of genius, the subtle touch that makes the arrows of the system appear in greater clarity and alignment.</div>
<div>
<br /></div>
<div>
<i>It is dynamic</i>. If a bad decision is made, it's precisely as fixed as the program. The effort it takes to fix the program is the effort it takes to change the decision, no more and no less. Once something enters the program, it takes a life of its own, removed from the egos of programmers involved. The ego might point in one direction, but the code has its own signs.</div>
<div>
<br /></div>
<div>
<i>Yet it's really simple</i>. It works for ants.<br />
<br /></div>
<div>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="text-align: left;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglEnX7Fd2zWolUONMNC9UcjymvwDGdnKOXSCxDcuZ2QsqED3r6mlNCu1N_D4vnZBHg-SnvccagRHr9pvBAaFTbIqSFWy-_84YA3BQ7EhMuug_Q2c9cBZ0LucyN03qgZgIJ3VP_a_jZ1QA/s1600/22334948204_a9e239b16a_z.jpg" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglEnX7Fd2zWolUONMNC9UcjymvwDGdnKOXSCxDcuZ2QsqED3r6mlNCu1N_D4vnZBHg-SnvccagRHr9pvBAaFTbIqSFWy-_84YA3BQ7EhMuug_Q2c9cBZ0LucyN03qgZgIJ3VP_a_jZ1QA/s400/22334948204_a9e239b16a_z.jpg" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><i>Ant by <a href="https://www.flickr.com/photos/treegrow/22334948204/in/photolist-A2ErXS-A2NsYH-A2Nt2D-AYG87H-pti8wK-di5uY1-bDeKAA-nPqHBQ-bscNcP-eeJ4Lc-p1PfJZ-qsBfVM-A2Nthi-AXvprG-A2Nt92-AWoPKf-9vqSzw-dvsiGe-c6RQvj-auuTRP-iwfagp-eaBSoS-eRqF7m-BNhCQe-advTUx-mcmFe-qc6DKk-ahXzva-4HHb5m-fjnHTz-phY3Wi-AG5x79-AWoPVL-AG5wZA-AWoPLh-81NL4r-i3UeXk-q3jpzv-qbYARN-4cjmGb-cLt4XY-AZFbhT-25ANGY-vTpCuc-6ofFu5-axWkPm-5TCYYS-a5E2Er-iYB6xV-drzFK2">Katja Schulz</a></i></td></tr>
</tbody></table>
<br /></div>
<h4>
Ants</h4>
<div>
<br /></div>
<div>
Of course we're not ants. We need to and should communicate. We can pre-align our internal arrows to solve a complex problem much more efficiently than a bunch of ants that are mostly relying on evolved instincts.</div>
<div>
<br /></div>
<div>
But once the program starts, the communication becomes fragmented and loses some of its relevance compared to the work we actually do. You want to know what I did last week? Look at my commit log.</div>
Ole Laursenhttp://www.blogger.com/profile/11202062681718096078noreply@blogger.com0tag:blogger.com,1999:blog-8236785121426515359.post-41697802384805138892016-01-14T22:08:00.001+01:002016-01-14T22:08:33.391+01:00The unspoken truth about managing geeksThis <a href="http://www.computerworld.com/article/2527153/it-management/opinion--the-unspoken-truth-about-managing-geeks.html">opinion piece</a> was funny.Ole Laursenhttp://www.blogger.com/profile/11202062681718096078noreply@blogger.com0tag:blogger.com,1999:blog-8236785121426515359.post-48807121448329511772016-01-13T23:30:00.000+01:002016-01-13T23:30:00.471+01:00Emacs: ido is currently the replacement for iswitchb, not icomplete-modeSo Emacs recently, well, recently in Emacs time, obsoleted iswitchb, the package I've been using to switch buffers.<br />
<br />
The suggestion is to try icomplete-mode instead. But icomplete-mode isn't really tuned for buffer switching in the same manner as iswitchb. After some digging, it looks like there was a plan to gradually integrate the features of iswitchb/ido into icomplete-mode, but that hasn't happened yet, and yet iswitchb was obsoleted.<br />
<br />
Fortunately, it looks like ido these days allows one to only turn it on for buffers. This will do the trick as a replacement for <code>(iswitchb-mode 1)</code>:<br />
<br />
<code>(ido-mode 'buffers)</code><br />
<br />
Once that's done, you can even enable icomplete-mode safely without having it meddle with buffer switching, so:<br />
<br />
<code>(ido-mode 'buffers)</code><br />
<code>(icomplete-mode 1)</code>Ole Laursenhttp://www.blogger.com/profile/11202062681718096078noreply@blogger.com0tag:blogger.com,1999:blog-8236785121426515359.post-30682148353215564152016-01-06T22:42:00.001+01:002016-01-06T22:42:49.777+01:00Last-minute bugsYou've just completed a new big feature.<br />
<br />
There's been ups and downs - you started thinking how hard can it be, then discovered the inherent ambiguities, the dissonances with the existing code base, got stuck, pacing the floor of the office, chatting to coworkers, slowly building, discarding and rebuilding refined models, getting stuck and unstuck again and again, then gradually transcending into a coding frenzy, with the code bending towards your goals and your will, constantly in the zone, writing tests, wrapping things up, thoroughly testing everything manually, finally letting some trusted users try it out.<br />
<br />
And now you're ready for release. Release!<br />
<br />
Except just now someone remarked how something is a little bit odd. Perhaps it's even yourself, the overworked brain having mentally let go of the whole thing and suddenly remembering a little forgotten detail.<br />
<br />
Ah. But I just need to fix this. It is simple. The world is my feet. And the test works. I can do this.<br />
<br />
Except you didn't bother running the full test suite. Or going through the full test procedure. Or full release procedure. Or checking with the users.<br />
<br />
This is the time of the last-minute bug where the little innocent fix turns out to violate an assumption somewhere else.<br />
<br />
My piano teacher Karen-Marie once explained to me that finales can be the most dangerous parts for a musician. When you stop thinking ahead, instead thinking about what you've accomplished, letting concentration slip.Ole Laursenhttp://www.blogger.com/profile/11202062681718096078noreply@blogger.com0tag:blogger.com,1999:blog-8236785121426515359.post-89971069846754322072015-09-20T07:40:00.000+02:002015-09-20T07:40:05.141+02:00Simulating statisticsThis <a href="https://speakerdeck.com/jakevdp/statistics-for-hackers">presentation</a> was interesting - it explains how you can simulate your way through various statistical problems instead of trying to figure out the right analytical approach. For instance, to answer the question: is this a typical scenario? You just run the simulation many times in a loop and see what happens.Ole Laursenhttp://www.blogger.com/profile/11202062681718096078noreply@blogger.com0tag:blogger.com,1999:blog-8236785121426515359.post-90676718907101465592014-10-29T15:52:00.002+01:002014-10-29T15:52:55.270+01:00Confident idiots<a href="http://www.psmag.com/navigation/health-and-behavior/confident-idiots-92793/">This article</a> about the problem that ignorance makes people more confident and how that affects society was really, really interesting - e.g. is it safer to educate people on how to drive on icy roads or not? It even has some advice on how to not fall into the ignorance trap.Ole Laursenhttp://www.blogger.com/profile/11202062681718096078noreply@blogger.com0tag:blogger.com,1999:blog-8236785121426515359.post-58678961241561281622014-05-11T23:10:00.000+02:002017-11-14T23:35:38.979+01:00When three becomes fourIt's now a little over three months ago that Janne gave birth to Nor.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjaqbR7GWkbDiyKyKZ1-gMaUVNO9-PMdVe_JQ7_PArGq5ELSoN6NFwuvHus-x1YMb_TJ0b2GHhG-nPIE8fUaRKAG2nBEXZarCbpazeYDLy6W2Z6SqL0bHwVK-wWkHoVnbxYbGeAif5gWzo/s1600/three.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjaqbR7GWkbDiyKyKZ1-gMaUVNO9-PMdVe_JQ7_PArGq5ELSoN6NFwuvHus-x1YMb_TJ0b2GHhG-nPIE8fUaRKAG2nBEXZarCbpazeYDLy6W2Z6SqL0bHwVK-wWkHoVnbxYbGeAif5gWzo/s1600/three.jpg" width="310" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<i>Nor, Storm and me a few hours after the birth</i></div>
<br />
He was born almost on time, and slightly disappointingly, he wasn't quite as done as Storm - more wrinkles and odd baby skin.<br />
<br />
The birth itself went fast. Despite being warned last time by the midwives, Janne didn't think the birth was actually starting until quite late, so in the end an ambulance came to pick up us and went through the morning traffic with blinking lights and sirens on. A young female apprentice ambulance driver sailed us through the red traffic lights as if nothing was on.<br />
<br />
After delivering us at the hospital, everything went pretty smooth and calm, though. Janne is good a giving birth, and in many ways the perfect mother too. I don't think most people think of that when they pick their partner. But I guess some of us are lucky.<br />
<br />
I managed to ask the assistant midwife for some help so didn't faint this time either. I swear they turn up the heating every time we're there - this time a technician even came to try to fix it afterwards.<br />
<br />
Nor is turning out well and is day-by-day developing the muscles and skills that make us those human beings we are. Keeping the head up and smiling.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhATq15Z8mJ1CkGJrS-ifTD9lVkEhir1vy7RjyI2POwAYRlOyHA5bUF2tGQxGjE655HE3S1jprB52vJ1poqp5M9UkZ0jx1sFh9f4ZpNi86I22hlrtTQuAc79KNzomrb7mTDdHSS1r72PPg/s1600/nor.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="267" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhATq15Z8mJ1CkGJrS-ifTD9lVkEhir1vy7RjyI2POwAYRlOyHA5bUF2tGQxGjE655HE3S1jprB52vJ1poqp5M9UkZ0jx1sFh9f4ZpNi86I22hlrtTQuAc79KNzomrb7mTDdHSS1r72PPg/s1600/nor.jpg" width="400" /></a></div>
<br />Ole Laursenhttp://www.blogger.com/profile/11202062681718096078noreply@blogger.com0tag:blogger.com,1999:blog-8236785121426515359.post-17228096641349142962013-10-25T23:24:00.000+02:002014-01-28T10:33:06.145+01:00The disproportionality factor - why do people get angry?It has recently occurred to me that many of the conflicts and negative feelings I see from time to time at work and elsewhere are caused by two parties having very different levels of interest in something they are cooperating on. For one party, the party that wants something from the other party, the effort is extremely important, for the other party, the delivering party, it doesn't really matter.<br />
<br />
For instance, think of a situation where you're going to a foreign country on the other side of the world. You have done countless preparations, booked the flights, scheduled everything around it at work, and now just need to obtain the visa from the embassy - which is late.<br />
<br />
So you send reminders, press for it to go through, and finally get through by phone in the one service hour per day to a person who kindly explains that yes, he has your papers, and yes they look fine, but unfortunately he will not be able to process them because he's going to lunch and after that he has two weeks off so the case will have to wait on his desk until well into your travels.<br />
<br />
I think most people would get pretty angry in that situation.<br />
<br />
For better or worse, we have to rely on other people which means they sometimes have power over us. I am not talking about formal power relations, I am talking about the fact that when someone is doing something for you, you have effectively lost control over what happens. A manager who assigns a task to one of this workers is dependent on the worker to do his job. Otherwise everyone, not just the worker but also the manager although he's formally the one in power, gets in trouble.<br />
<br />
And when you have lost control over something that is very important to you, and the other party has very little if any inherent interest in the matter, chances are something will go wrong.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://farm3.staticflickr.com/2115/2126671311_a754487456_z.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="http://farm3.staticflickr.com/2115/2126671311_a754487456_z.jpg" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><i>Oops, you need to walk here? (by <a href="http://www.flickr.com/photos/cod_gabriel/2126671311/">Gabriel</a>)</i></td></tr>
</tbody></table>
I think of this as the disproportionality factor.<br />
<br />
More examples: the bus is a bit late. For the driver, it's only 3 minutes, but for you it's the difference between being able to catch the train or having to wait two hours for the next one. Are you cursing at the transportation company? Yes, you are.<br />
<br />
Or in reverse: you spend 10 minutes extra at work with the phone turned off to finish up an important project, get home in high spirits, and find an angry and hurt husband or wife who wasn't able to go to a concert because you were supposed to get home half an hour early to take care of the children. Which you had of course forgotten - because you weren't the one buying a ticket three months in advance in anticipation.<br />
<br />
In a similar way at work: when we call the hosting company because our server is down, it's critical for us. But for the operator in the other end, it's just pressing a button to restart one server among thousands.<br />
<br />
It happens with minute details too: why are people not aligning their vehicles properly at the parking lot - now I can't park properly! Why are people not formatting their code properly when they know I hate camelNotation! Why has this error in the software I'm using not yet been fixed when it annoys me everyday!<br />
<br />
I think there are two things that are important in dealing with the disproportionality factor.<br />
<br />
The first is that we need to understand what's important to other people. This goes both ways - you need to think about what's important for people you are dealing with, and you need to communicate effectively what you think is important.<br />
<br />
The second is that we need to remember that on average, we can't expect people to really care that much about anything that isn't important to them. That's just human nature.<br />
<br />
So we need to help them, not just by explaining what we think is important but also by helping them out, instead of just crossing our fingers and hoping for the best, and then getting ticked off when we are inevitably disappointed.<br />
<br />
And sometimes, when in the land of the minute details, we perhaps need to help ourselves to just get some perspective.Ole Laursenhttp://www.blogger.com/profile/11202062681718096078noreply@blogger.com1