Category: Uncategorized

  • SAIChE conference summary

    I have just returned from the biannual conference of the South African Instutute of Chemical Engineers. This post is a quick summary of the big themes that emerged from the plenaries and the sessions that I attended.

    The first plenary set the tone of most of the plenary sessions: climate change is real and chemical engineers play a critical role in its amelioration. Of course, the chemical industry in South Africa is dominated by Sasol, who have been under much pressure to reduce their vast CO₂ footprint and water use. Interestingly, they are at the point where they can do more to reduce water use by partnering with municipalities to reduce leaks from their water networks than by doing anything better on their plants.

    Another plenary focussed on the practicability of biomass for fuels. His conclusion was that biomass is a good carbon source for chemical production, but that it will be at best a bit-player when it comes to energy – our current solar cells are more efficient at producing usable energy from the sun than plants are (W/m2), and we have enough people to start worrying about the amount of arable land we take away from food production.

    So, if PV is the future of energy from the sun, we have to adapt to use electricity for more things. At the moment, there are no realistic plans to use electricity for aeroplanes, so the bio-fuels are probably going to be required for those kinds of applications. It is also harder to trade electricity than biofuels. On the personal mobility front though, all the people talking about energy seemed to agree on one thing: if we are going to move to electric cars, the big challenge is going to be battery technology. It is well known that people have what is known as “range anxiety” – even though most people drive less than 100 km a day for the vast majority of their lives, they would feel anxious that they couldn’t drive 500 km at the drop of a hat. They also fear that having drained their battery they wouldn’t be able to charge it again. An exciting innovation in this regard is battery replacement stations which could replace your depleted battery with a fully charged one in 90 seconds.

    Many of the other talks addressed energy or sustainability in some way. From detailed work on fuel cells to optimisation of processes for better efficiency, almost everyone referenced this trend. Of course, there was also a lot of basic research and chemical engineering practice, mostly of decent quality, even though there seemed to be a largely student-driven contigent in the talks.

    Finally, it was also announced that SAIChE would be forming a closer bond with IChemE. There was a vote for moving forward in this activity, required by our constitution to be favoured by 2/3 of the voters. With something like 300 votes for and 8 against, the intent was clear.

  • Indiscriminate

    Another blog post cobbled together from Facebook posts. I should get a way to edit my research code on my iPhone…


    Last week, a student came to talk to me about postgraduate research and I suggested that she speak to my colleague as her previous experience was aligned with his current research. I mentioned this to the colleague in question and he asked me wether she “looked Nigerian”.  I said I honestly couldn’t say, as I don’t know what a Nigerian is supposed to look like, to which he replied “oh, do all black people look the same to you?”


    This exchanged bothered me enough to tweet about it, but I’ve been unpacking why it bothered me for a while. The thing is, I can distinguish between black people easily, it’s just that I don’t think I could classify a stack of pictures of any people (of any colour) into country groups with any accuracy.  I’ve been thinking that I would have remarked on a French accent, because I can recognize it. I’ve been looking at photos of Nigerians online, and I’ve even googled around for West African facial features, but to be honest I would say many of my South African students share those same features, which as far as I can glean are wide face, wide nose and dark skin.



    I would say context adds a lot of clues. If you already know someone is from India, you can go into nuances, but how easy is it to take a picture from a stack and say with certainty that a person is from India instead of Pakistan – or South Africa for that matter? Is it easy to tell someone is from West African descent, or is it a stereotype (and one I am unfamiliar with). I know what the stereotypical Dutchman looks like, although I have only met one person from Holland that actually looked like that (tall, blond, biggish teeth). I just didn’t know the Nigerian stereotype, and found its very hard to get that info from looking at Nigerians.

    There’s a more subtle point here about the utility of such a distinction. In fact, I find it vaguely racist (or at least discriminatory) to categorize beyond pure description in identifying a student. It’s one thing to refer to skin colour when describing someone’s appearance, as this is directly descriptive. It’s another thing to add references to race when talking about a person’s academic performance, as it’s a clue that you feel that race is related to academic performance.


    Many people I spoke to about this repeated the tired old line that stereotypes are based on a grain of truth. Unfortunately, when it comes to perceptions of national character in personality, this paper shows that everyone agrees on the typical character of a German, but Germans don’t test the same as these stereotypes. And if you’re thinking “But they didn’t test the real Germans”, look up the No True Scotsman fallacy. Of course, you may also be thinking that casual classifications like these are not harmful, but you may be interested in the idea of stereotype threat. By the way, if you think you’re impervious to the group effect, have a look at the out-group homogeneity effect, which makes groups you are not a part of look a lot more homogeneous than groups you are a part of. Basically, this explains why you don’t here South Africans asking “did she look like a South African?”


    I think it serves everyone best to be vigilant in the use of possibly biased language. I try to refrain from gendered language except where it applies to a known individual. Similarly, I try to avoid mentions of race or other irrelivant information when describing someone’s competence. I know people who seem obliged to precede positive reports of minorities by a description like “oh, that black girl who just started working here is doing so well”, while the “default” white male’s competence is a given. This makes me cringe. I know a couple of my preconceptions end up slipping into my language as well, but at least I am (partly) aware of the issues. If you clicked on the three links in this story, you may be more aware now, too.

  • Diversity vs systems

    Technology seems to be conspiring to stop me from speaking Afrikaans.  First, it was my cell phone and sending SMSs. Every phone I owned which supported the T9 system neglected to add Afrikaans as a language, even though the software existed. This meant I had to learn really quickly how to turn T9 off. Then I upgraded to smartphones and the iPhone had really good routines for guessing what you meant to type on the small keyboard. Unfortunately, again, no Afrikaans support. This time, even though I can switch between keyboards quickly, there seems to be no fast way to disable autocorrect. You have to navigate away from where you are, into settings, then disable it, which probably will cost you more time than you’re losing because you’re constantly told to replace “moet” with “Moët”.

    On my desktop, I often have to defend my choice of running Linux and not having Microsoft Word on my computer.  When I tell people that I couldn’t open the document they sent me with the correct formatting, they often act like it is my problem for not running the same software that they do, rather than their problem for using software that not everyone can run.  I get the same strange looks when I complain that some of our intranet can only be used using Internet Explorer, which really has no version for Linux (or Mac for that matter).

    The field of computer programming has a similar problem: do you learn one language really well, or use lots of smaller languages that work well for a particular task? Development tools typically favour a single-language approach.

    The general picture one gets is that technology, or more properly systems, work best with less diversity. The idea is that everyone could read what everyone writes if we all spoke the same language, or used the same software. The benefits of monoculture and conformity are obvious.

    Unfortunately there are benefits to diversity, too. I find myself in two minds here, as I know the benefits of using multiple tools really well. I’m not quite so sure about the benefits of multiple spoken languages, but I suspect that they may justify the idea of a second language in addition to a lingua franca.


    I don’t know whether this issue will be resolved any time soon, but my personal take is that conformity drives should be focussed on infrastructure which allows for variation on the user level rather than implicitly assuming conformity.

  • Dogma and change fatigue

    There is never time to do it right, but there’s time to do it again. Use the right tool for the job. If it’s worth doing it’s worth doing right. These are some items of dogma that I have lived by, and they are making me unhappy and a bad worker.

    Many people have described me as an idealist. I have also recognised a certain evangelical streak in myself. Combine this with the values described by the phrases above and you have a recipe for Quixotic enterprise. This idea of using the right tool for the right job seems quite simple, but there’s a hidden catch: what is the right tool? What is the right way to do something? When you really hold on to the dogma of “Do stuff right using the right tools” you are setting yourself up for a lot of pain. You start searching for better tools (to make sure you’re using the “right” one), you start searching for better ways of doing things (to make sure you’re doing it “right”) and you eagerly evangelise the latest thing you’ve learned as the answer to these questions.
    Of course, somewhere in the back of my mind I know the whole idea is bogus. I guess I was a bit happier when I knew less methods of doing things. Not because I was less enamoured of the dogma above, but because I was more convinced I was doing things right. Looking back, I find myself thinking I was doing things all wrong. So how was I able to be so productive? Because the dogma is wrong, or at least wrong when you interpret “right” as “best”. The idea that there is only one right answer to vague questions like this is of course pretty immature. I am learning now how coupled the idea of “right” is to what you know, your skill level and the greater community. Perhaps I should try and focus on getting stuff done using what I have, and looking at projects that have actually delivered results for me, that’s pretty much what I had to do.
    But this brings me to the change fatigue part of the title. Once you realise that you should be freeing yourself from dogmatic adherence to infantile rules, you start searching around for better rules, right? Hang on – now we’re back to the same problem, and we add a new one – change fatigue. Doing things in one way creates baggage. It affects the way you think and it creates artifacts built using those methods. It represents an investment. All of this means it is hard to change on so many levels that you may find yourself experiencing change fatigue – that feeling of unfamiliarity which drains your will to do things and makes you less productive. This is what I am experiencing now.
    I should have a poster made, I think, with “Le mieux est l’ennemi du bien” (the best is the enemy of the good) printed on it. Or perhaps I should find a way to let go of dogma altogether and just get things done. After all, aphorisms may be pleasing but Voltaire also said “Un bon mot ne prouve rien” (a witty saying proves nothing).
  • Equation solving interface

    In moment of clarity I realised today that many of the things that I want to create as GUI applications can be generalised to a single application: An equation solving interface. I have played around with various equation solving environments like EES and PolyMath, also math environments like Mathcad but none of them work like the thing I am starting to see in my head.

    The idea is like this: You set up a set of variables and constraints, which may be equalities or inequalities. You give the variables names and dimensions (length, time, etc). So far so normal. Traditionally you would now start to specify your problem, perhaps with the tool checking when there were enough specifications to solve the problem. In my vision, you get an interface consisting of entry boxes for each of the variables. You can enter values in any box, and as more information becomes available, the other boxes are filled. Some colour coding helps you to see which values you filled in recently and which ones have just been calculated. Hovering over a variable highlights the values that are linked to it, perhaps with an overall and direct distinction, perhaps with a drillable menu.
    So the first mode of operation allows you to start typing the information you have and the unknowns are calculated as they can be. Now you can play with the values, and select which calculated values should stay the same and which should be recalculated (perhaps using that drill-down menu). You can select some variables to be “Fixed”. You can elect to change some of the text boxes to sliders, which allows you to “play” with the solution. You can change some of the boxes to ranges, which will use interval arithmetic to calculate ranges on the other variables. You can change some of the variables to Min or Max, if you select more than one you get multiobjective optimisation. From the same interface, you can see visualisations of the current position in the design space and the constraints that you have placed via the equation setup and via the ranges you have imposed on the other variables. When you find a nice combo, you save it and it gets added to a list of tagged points in the plot views.
    Other nice things you can do: automatic nondimensionalisation, perhaps with plotting of variables and implied boundraries (that’s why you specify dimensions on the variables instead of units).
    This generalises problems like doing brewing calculations, designing equipment and many of the things people use spreadsheets for.
    A final note about why spreadsheets and programming languages aren’t right for this job. It all has to do with the directionality of equations. Equations go both ways. In fact, a set of equations is like a graph connecting all the variables in it. On spreadsheets and in most programming languages, equations are one-way — a cell can contain a value or a formula, not both. In some constraint programming languages, it’s easier to be declarative, but most of them enforce complete specification and don’t even try to calculate values if the whole problem hasn’t been correctly specified. They also don’t provide direct interaction that allows one to play with the solution.
    Perhaps I’m missing something, but I haven’t found anything like I’ve just described. I really want something like this, so perhaps this should the project that I finally break my GUI programming block on. If you have any information or comments, please pipe up!