I received a comment on one of my older posts about interviewing for an Excel VBA job, asking about possible interview questions. I’ve been on both sides of the interview table, and I enjoy interviewing, and I’ve thought about this quite a lot. So I thought I’d write a more thorough reply, and make it a full post instead of hiding it in a comment. Maybe others can find this useful, too.

If I was conducting an interviewing for an Excel VBA, I would probe you from the following directions.

One: your general attitude towards and approach to programming. I’d ask you to write code to solve some simple generic problem that shouldn’t take you much more than 15 minutes. It could be sorting an array, or printing a checkerboard pattern of 0s and 1s, etc. I’d check that you have meaningful variable names, that you declare your variables (which in VBA you don’t necessarily need to do), that your code is reasonably well-organised etc.

Two: your knowledge of Excel. I’d want to see that you can use array formulas and pivot tables, lookup functions, named ranges, etc. You can’t be a good Excel VBA developer if you’re not a good Excel developer. I would give you a laptop and a few actual problems to solve, and leave you to it.

Three: your knowledge of the Excel object model. I’d ask you to write code that manipulates a worksheet – for example, sort and filter a range, or clean out duplicate data from a list, or consolidate data from multiple files. I’d look for knowledge of and ability to work with fundamental Excel objects such as Workbook, Worksheet, Range etc; also I’d definitely want to see that you don’t write “macro recorder”-style code with Select and Activate everywhere.

Four: your knowledge of how Excel VBA works. I’d check what you know about events (“Can you write code that runs every time the worksheet changes?”), about user-defined functions (“What is and isn’t allowed in UDFs?”), volatile functions (“How can you ensure that your UDF is volatile?”, “Which built-in Excel functions are volatile?”).

Five: questions specific to whatever the job is about. If it’s at a bank, I’d want to see you do some basic financial calculations. If it’s a database reporting job, see if you can work with ADO and basic SQL, or interop with Word, or creating charts in VBA, or whatever else is relevant.

This is quite a lot and might not all get covered in the first interview, but I would ideally want to go through all of this before deciding whether to hire you.

Personally I’d prioritise the parts just as I’ve listed them here, most important first. But I’ve been to interviews where they do almost the opposite – I once got a 10-question multiple-choice test about some nitty-gritty stuff in Excel but they didn’t care about what my code looked like. So you never know.

The reason I’ve put “knowledge of Excel” above “knowledge of Excel VBA” is that in my opinion, the latter is more straightforward and easier to learn. It’s just code, and it is reasonably well documented. It’s harder to find people who are good at writing efficient Excel formulas. But often formulas can yield a far more efficient solution – faster by several orders of magnitude. If I have a choice between formula and code, I’d almost always choose the formula.

John, I hope you find this helpful, and good luck with your interview!

City of Saints and Madmen is a collection of stories about the fictional city of Ambergris. It’s not exactly a short story collection, because these are not traditional short stories / novellas. All the stories are very different in shape and style, and even in layout and typography.

The tone of the book is generally funny, but with dark overtones of horror (more apparent in some stories than in others). Ambergris has this creepy, melancholy, dark aura. There are vaguely evil dwarfs, dangerous fungi swamping the city, priests of strange religions, an alien threat possibly lurking beneath the surface of the city, and so on. And it seems to rain almost all the time.

In this spooky city, a few straightforwardly spooky tales take place: “Dradin, In Love” is a story of love tinged with madness; “The Cage” is a horror story; in “The Transformation of Martin Lake” (the best of them all) a crisis transforms a mediocre artist into a sublime one; etc.

But the book also contains an excerpt from a supposed “Guide to the early history of the city”, an amateur naturalist’s pompous tract about the famed freshwater squid of Ambergris (complete with bibliography), letters, etc. There is even a story about a delusional writer who tries to convince an Ambergrisian that he has in fact created Ambergris.

The various parts are all linked, but not strongly. It is not necessary to read all of them to enjoy them. Especially the four main stories would stand on their own, and indeed an earlier version only contained those: VanderMeeer has apparently added material to the book over time.

Some of these component parts are very well written, and “The Transformation of Martin Lake” has won (well-deserved) awards as a standalone book.

Other “stories” are really only interesting because of the background information they provide. Still others are just plain boring: padding inserted by a self-indulgent author, slowing the pace to a crawl. Who wants to trawl through 40 pages of made-up bibliography about squid studies, no matter how many clever nuggets of information the author has hidden there? I guess it’s supposed to give the impression that this is an entire world, of which we only see bits and pieces, but instead it gives a chaotic, jumbled impression.

It doesn’t help that some of the stories openly contradict each other, or that the chronology is very unclear. (Some stories seem to happen centuries later than others, but I might be wrong.) This confusion entirely intentional, of course, which brings me to my main gripe: the book is far too postmodernistically self-aware and self-referential. Too many footnotes, too many stories supposedly written by fictional Ambergrisian authors, stories that are supposed to highlight the vagueness of “truth” etc.

Critics, of course, love this kind of book, even hinting that you’re a bit dull if you don’t get it. “This beautifully written, virtually hallucinatory work isn’t for every taste, but connoisseurs of the finest in postmodern fantasy will find it enormously rewarding.” The book seems to be so highly regarded by other writers that their reviews ape the book’s form: here and here, for example. Well, in my world “hallucinatory” is generally not a compliment.

I found this book really frustrating. Several times I got stuck and was annoyed with it and had to leave it for a few days. It took me several weeks to get through it. And yet I didn’t want to give up, because there just might be more of those brilliant bits (and indeed there were).

So if you’re “a connoisseur of the finest in postmodern fantasy” or otherwise fond of postmodernist stuff, you’ll get lots of it here, and of good quality. Personally, I prefer more coherent and traditional writings. While this had some great parts, the whole was not satisfying.

Amazon US, Amazon UK.

Well, Ingrid has definitely learned to roll over now. Twice today I’ve put her down on her front and found her on her back a few minutes later.

It seems like she hasn’t quite understood what is happening, because both times she was a bit upset afterwards and wanted to be turned back. She hasn’t turned the other way yet (back to front), but she’s been very close. She probably can, she just doesn’t know that she can.

No, make that three four times. She just did it again.

Soon she’ll probably be rolling all round the house, like those sheep who roll over cattle grids.


This site is hosted by NEXCESS.NET and they are the best web host ever. True, I’ve never had a different one, but I cannot imagine how they could be any better (short of sending me Christmas gifts). I have proudly added a “Hosted by NEXCESS.NET” logo to my front page, and if you need a web host, I strongly recommend that you try NEXCESS.

The hosting plan is very reasonably priced, and NEXCESS have been flexible about the details of the plan. The setup process was fast and painless. The billing and administration are regular as clockwork. The hosting plan came with Movable Type (the blogging software) preinstalled, which saved me a lot of hassle. NEXCESS also provides helpful information about a wide range of other web apps. When I wanted to add a photo album, for example, I took NEXCESS’s listing of photo gallery apps as a starting point, looked at each one to find one that looked good, installed it, and that was it.

I’ve had the site for 16 months now, and during all that time there have been only two instances of downtime. One was a small issue and was sorted quickly. The other was a larger problem due trouble at their data centre, and while it was frustrating, NEXCESS provided updates constantly so I always knew what was going on.

They also provide great technical support. Whenever I have a question or a problem, I always get a fast and helpful response from a very nice guy called Greg – often literally within minutes. Greg has helped me install applications, figure out firewall problems, fix corrupted file permissions, solve cookie-related mysteries and more.

There really isn’t anything they could do better!

Gina Ford is a phenomenon. Every parent in England will have heard of Gina Ford, and most will have a very firm opinion about her. The majority appear to be split into two opposing camps: one that loves her and one that hates her.

I looked at her The New Contented Little Baby Book before I’d heard about Gina, found the book terrible, and put it back on the shelf. Eric bought it because “everybody knows Gina Ford, so let’s see what all the hoopla is about”.

So what is the hoopla about? Her main point is that babies need routine. Things should be done in the same order and at the same time every day. A large part of the book (50 pages) is filled with detailed schedules setting out feeding and sleeping times with 5-minute precision. Another 30 pages are dedicated to discussing the different parts of the routine. This is supposedly “the secret to calm and confident parenting” (as the front cover blurb promises) and will lead to a contented baby.

This is the complete opposite of the “feed-on-demand, baby-knows-best” approach which seems to flourish in some places (notably among Swedish midwives, from what I read on Swedish parenting sites). In Sweden the common view seems to be that you shouldn’t meddle with small babies’ sleep rhythms but leave them to find their own rhythm. But I don’t see how a baby is supposed to figure out that night is for sleeping and day is for playing, if parents don’t teach this.

And the followers of each approach are often fully convinced that the others are mad, misled, and probably horrible parents. Gina’s book, therefore, gets very conflicting views from readers: of the 478 reviews on Amazon UK, 76% give it either 1 or 5 stars. Gina has even been compared to terrorists, and sued an online forum.

I started out reading The New Contented Little Baby Book mostly out of curiosity (and because it was there). I was inclined to discard much of the talk about routines. It just sounded ridiculous – and insensitive and unworkable. In the first few weeks I fed on demand, and Ingrid slept most of the time when she wasn’t eating. But then as she became more alert, I gradually felt the need for some more order, and started using a simple sleep-eat-play routine (i.e. doing things in that order, all the time) based on Tracy Hogg’s advice. I found it helpful, but at the same time it was hard to figure out how to adjust this as her sleep needs changed. And I was still spending a lot of my time guessing – is she tired? hungry? in pain? simply cranky?

I came to refer to Gina’s book more and more frequently for a more carefully considered routine. At first I was thinking to myself, “I can’t believe I am following this horrid book,” and yet I was gradually won over. Ingrid took well to having a routine, and I liked having one. It simply works very well for us. I have made a 180-degree turn: I now find Gina’s routines very helpful, and I am glad I have this book at hand. In our household we’re now on first-name basis with Gina: “Gina suggests…”

But I still can’t say that I like the book. I’ve got the hate-Gina and the love-Gina camps both right here inside my head, because the book manages to mix very good things with very bad ones.

This is what Gina gets right:

  • I totally agree that having a routine is good and leads to more confident parenting. I find it much easier to read Ingrid’s signals when I can immediately exclude several reasons for crying. Ingrid never gets overtired; she is happy almost all the time and rarely cries without an easily discernible reason. And she definitely never cries for long (unless she is in pain because of reflux) because I can figure out what she needs, and help her.
  • A routine makes it a lot easier to distinguish baby’s habits, and to tell chance from a changing habit. Because we do things at roughly the same time every day, I notice quite easily when Ingrid is able to stay up longer without bad effects, and when she is getting too much daytime sleep (because she is awake for a longish stretch during the night).
  • A routine means that I know when Ingrid will sleep, which lets me plan my own day as well. (And it ensures that I get my daily feeds as well!) And since we have a well-functioning basic routine, I can adjust it when necessary to fit in outside activities.
  • Gina provides not just a routine like some other books, but a routine that changes over time. There is guidance about which naps should get shorter, and which waking times longer? This is probably the most important and useful part of the book.
  • Gina’s advice to limit daytime sleep by waking baby from naps was counterintuitive, but turned out very helpful. Ingrid learned the difference between day and night quite early, unlike some babies I read about.

This is what Gina gets wrong:

  • She assumes that all babies and all mothers are the same. “Baby should eat x minutes on the first breast and y minutes on the second breast.” One day Ingrid may need 10 minutes for a feed, and the next day it takes 25. And this is just a single baby and a single pair of breasts! Imagine the variation, then, among millions of combinations of babies and breasts. A baby should eat until she is full.
  • While she does say that her schedule is a guideline and should be adjusted as needed, the wording of the schedule flat-out contradicts this (“He needs a sleep of no longer than 45 minutes”) and there is hardly any advice in the book on how to adjust the schedule if you think it isn’t right for your baby. I get the impression she really means that the schedule should be strictly followed, but then everybody would get all upset, so she says (without much conviction) that it’s just a guideline.
  • She pays too much attention to minute details and ignores more important questions. The schedule micromanages the day (down to telling you what to have for breakfast: “8am: try to have some cereal, toast and a drink no later than 8am”). But at the same time there’s no help for dealing with mishaps. If the baby woke up an hour early, do you stretch each nap a bit, or just the longest one, or do you put in an extra nap? You’re on your own there.
  • The book commands instead of explaining. Why is this nap longer than that one? Why is the third nap dropped first? You can figure this out by experimentation and observation, or (more likely) see that it just works that way, but but more explanation would certainly be useful.
  • She strongly discourages doing anything that upsets the routine, most of all getting out of the house. If you listened to her you wouldn’t even be able to go to the doctor, not to mention shopping or coffee mornings! Mothers need a life, too!
  • Much of the book is written in an unpleasant tone which I found quite offputting. It’s all about “should” and “must” and “must not”: I picture a nurse in a starched white uniform who will not listen to anything you say. There is no joy. She is also far too fond of doling out guilt and disappointment: a baby should be able to do x at 3 months, and so on, and anything that goes wrong is because you haven’t done everything exactly as she says. As another reviewer put it:

    I would say that this book actually should come with […] a volume controll- to turn down Gina shouting at you for being a very bad parent.

  • Finally I think the book is badly organised. It is hard to find the important bits, and even the schedules are not so easy to read. The book would definitely gain from a better editor.

As I said, I do find Gina’s advice helpful. But following it to the letter, as she insists, would be a nightmare. I’d need an alarm clock. My whole life would be taken up with her schedule. As it is now, we often deviate up to half an hour in either direction from the schedule, depending on what seems to be needed. Yet the only reason I can fiddle with the schedule (for example to fit in a swimming lesson at a time when Ingrid would normally be getting sleepy) is that we have a schedule to begin with. In order to break the rules, you first need to know what the rules are.

And Ingrid would most certainly not be contented with Gina’s standard routine. She has always needed more sleep and more food than Gina’s “average” baby. At the age of 3 months her routine most closely resembled what Gina suggested for a 2-month-old. At 3.5 months she still wakes up twice every night for feeds – and it’s not just snacking, she takes a proper meal. And she definitely cannot be just put down in her bed awake, in the dark, to fall asleep on her own.

Buy the book. Find the best bits and ignore the rest. Add a large dose of common sense, and relax about the schedule. Then Gina’s book truly is useful.

Amazon UK, Amazon US.

…are just totally irresistible and infectious, and so open and heartfelt. What a difference they make to our relationship!

She smiles when she sees me in the morning. She smiles when I change her nappy. She smiles when I turn up and talk to her. She smiles when she’s done eating and is full and contented. She even fires of completely spontaneous smiles in the middle of a feed, just because.

We had snow this morning!

Snow is a rare thing in central London. There are occasional flakes in the air, but it usually melts before it lands, and snow on the ground is seen maybe once a year. Last time we had snow outside our window was February two years ago. And there was an evening of snowfall three years ago as well, but that melted very fast.

I miss snow. But I don’t miss the cold winters, or the sleet in late autumn, or the slushy snowmelt of spring. On the balance I rather like London winters, especially if combined with occasional (brief) trips to picturesque snowy places.

The minor miracle has now been followed by a medium-sized one!

Ingrid still goes to sleep in the sling, and I take her out and put her in the Moses Basket after about an hour or so. Then I normally wake her for a last meal just before I go to bed, in the hope that she will then wake fewer times during the night. The plan has been to do this at around 10.

Ingrid got used to this and started waking up just before 10. But then for the past week or so, she woke up earlier and earlier, sometimes even just after 9, interrupting whatever I was doing and messing up my evenings.

Today she did it again, and I was a bit annoyed, because I had to finish my blog post in about a minute, before she got too upset. But given how well she has generally been sleeping – rarely waking when I take her out of the sling, and falling asleep well after night feeds – I had the audacious idea of trying to get her to settle again. And to my great surprise it worked! I hadn’t expected this at all, which made my success even more pleasing. Victory dance!

The technique seems to have two key parts. First, turning her on her side: I had noticed that she fell asleep better after night feeds if I kept her on her side instead of laying her flat on her back. Second, gently rocking her side-to-side (or front-to-back, depending on how you look at it). She seems to find movement very soothing, and is probably very used to it given all the rocking she’s gone through in the sling.

More generally, she is a lot better at falling asleep now. Even though she still falls asleep either in the sling or the pram during the day, she does it faster and with far less crying than before. And the slinging no longer involves insane amounts of bouncing – we’re down to a gentle rocking and patting. I haven’t tried actually getting her to sleep directly in the bed or the basket, but given today’s success, I guess I should try! That would be a major miracle.

I’ve also introduced lullabies. We got a CD with Estonian lullabies for Christmas, and I’ve been playing it for her every time I put her to sleep. The plan is that she will get so used to these tunes that they will become a signal for her to go to sleep. I don’t know if that’s made any difference – sights matter far more to her than sounds – but maybe they will. In any case, the lullabies provide a nice rhythm for the rocking and swaying. They actually make me sleepy sometimes!

… or rather, watery activities.

Several mums at the Tower Hamlets NCT coffee group mentioned going swimming with their babies. I thought that sounded like fun, so I signed us up for a baby swimming class at the nearest pool. We had our first session last Tuesday, and the second one today.

To call it swimming is really a gross exaggeration. It’s more like floating and bouncing around in water. Or rather, being floated and bounced around in water, because the babies do not participate very actively. The parents do most of the work.

The activities were surprisingly varied. Firstly there were ways to get the babies used to the feel of water: splashing water on their heads so it trickled down their faces (which led to some serious grimacing and nose-wrinkling) and pouring water on them from small plastic watering cans. Then “jumping” into water from the pool edge. And then of course various ways of moving across the pool: bouncing up and down, floating on the front, floating on the back with mum holding baby’s head only (so they can feel what it’s like for the body to float freely), floating on the back with baby’s head on mum’s shoulder and mum making kicking movements with baby’s leg, etc etc.

Ingrid was the youngest participant, as she barely clears the 3-month threshold. (Not the smallest, though.) So she’s not able to do any of the more “advanced” exercises such as kicking her legs, or gripping the rail on the side of the pool, or pushing a ball in front of her – mostly because she has no clue what is expected of her!

That doesn’t matter, though. And it doesn’t matter that what we do is nowhere near swimming. If this gets her used to water, and if she comes away with the understanding that water is pleasant and fun and not scary, then swimming can follow later. For now we’re just having fun.

At least I’m having fun. Ingrid mostly just seemed totally overwhelmed. New sights, new sounds, new smells, all this water everywhere… After both sessions she’s been quite exhausted and fallen asleep as soon as the pram started rolling. I hope she will get less tired as she gets used to this, and then enjoys it more. Still, even now, I think she has been interested in this new experience – she has not shown any signs of not liking it.

My ants are lazy and rebellious.

Following the instructions I made 4 holes in the surface to get them started. They briefly nibbled on one of them and then ignored all 4 completely. Instead they started on their own holes.

All three holes were started in corners, and initially aimed straight down. The two next to each other were later joined by a tunnel. The short tunnel at the opposite end of the habitat is almost U-shaped, aiming for the 4th corner, but its other end hasn’t yet reached the surface yet.

They took some interesting approaches here and there. When they were working on their two main digs, 90% of the ants piled into one tunnel and only a few went for the other. This left the first tunnel so crowded that they often got stuck behind each other and couldn’t get out with the stuff they had dug out. So the 10%-tunnel grew much faster than the 90%-tunnel.

That tunnel “complex” has two loops: a short one along the end wall of the habitat, and a longer one that goes down and towards the middle. They completed the shorter loop first and used that to live in, and a few of them kept working on the longer one. The long loop was so narrow that the digging ants often had to come out backwards – they had no space to turn around. And they didn’t think of digging from both ends and meeting in the middle – even when they had almost rendez-voused with the shorter loop, they went the long way round.

And now they seem to have almost stopped digging. They just huddle in one of their two favourite tunnel sections, or walk around on the surface and the walls. And I suppose they must be eating, too. But no digging! They’re supposed to dig lots of tunnels, and here they are, just lazing around. What sort of ants are these, anyway?

On the whole they seem to be more interested in the walls of the box than in the gel. I’m supposed to let in a bit of air once a week or so, but there’s always a crowd of ants exploring the edges of the lid, so it’s hard to find a time when I can open the box without letting them all out.

I hope they do more digging soon. Otherwise I guess I will have to wait for them to die of old age and then hope that the next batch will spurn the old “house” and dig new digs.