Scientific Python on macOS X

After some frustrating experience with MacPorts regarding failed builts and outdated versions I decided to setup my python development environment anew and do some things differently. Basically I followed Joern Hees’ fantastic blog post to switch away from my old environment with MacPorts and Conda and onto a fresh install using homebrew and virtualenv and pyenv.

A Word to the Wise

set up some taps and update brew
brew tap homebrew/science # a lot of cool formulae for scientific tools
brew tap homebrew/python # numpy, scipy, matplotlib, ...

The taps mostly don’t exist anymore or are deprecated, doesn’t matter too much though, since most of the packages have been migrated to the homebrew core tap.

pip install virtualenv

Of course virtualenv does exist, however there are some compatibility issues regarding the macos graphics backend and the usage of tensorflow; therefore one can either change the graphics backend to TgAgg or use pyenv instead.

An Additional Tip

Switching environments can be a hassle and therefore I suggest implementing a little bash function into your .profile file like this:
sc() {
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
source ~/venv/science/bin/activate
}

To be honest, I am quite happy with how this solution worked out and sadly the hardest part was to get rid of all the old stuff I had installed previously, but I won’t get into detail here; luckily with this new solution that won’t a problem.

Designing Informational Media

At the moment I am working on a series of videos intended to raise awareness among students for common language mistakes within scientific writing. This campaign mainly focusses on so-called ‚Denglisch‘, which is a neologism comprised of ‚Deutsch‘ – German and ‚Englisch‘ – English. However I am not going to delve into the details of the subject matter here, instead I want to give you a glimpse of what to think about when you are designing informational media

Know your Audience

The first and most important step is to lean back and think about your audience. Who are you designing for, what is their relationship with your product? What are you trying to achieve for them? And how are they going to use the thing you do?

Conceptualize

Once you have found out about your audience, try to make a concept. Write down ideas and storyboards. Try to narrate a story using specific examples. Do some brainstorming with collegues, talk about how you are trying to achieve certain effects and discuss stylistic choices.

Do lean Development

Last but not least: Produce. But don’t shy away from producing something while everything else is not perfect. You will learn the most about the media you are creating and about the audience you are targeting by doing lean research and development. What I mean by that is, that you should start producing once producing is possible. Try to use as few resources as possible and make prototypes of your product. Shoot with a smartphone instead of an expensive camera, use cheap effects, do rudimentary lighting, use a cheap built in microphone, but just do it. Producing will help you understand the production toolkit you need and will teach you a lot about what works and what doesn’t work. Maybe you have to change how you produce, maybe you have to change the whole concept in order to achieve what you were shooting for. The worst thing you could have done is to go for the highest production value and then find out that your concept is trash.

Furthermore this way enables you to get your product out the consumers, you can learn about whether there is an actual need you are fulfilling. You can also begin to estimate what size the audience is that you are producing for and how much enthusiasm you are generating. From here you can start refining your concept, your message, your production. Now is the time to buy a more expensive microphone, to produce your idea with higher production value.

Why we need more Fab Labs

I’ve been recently to a conference at RWTH Aachen and I truly enjoyed serving as a student volunteer there. As a bonus I was invited to visit the labs of the Human Computer Interaction Group of Prof. Borchers as well as their FabLab and I was super-impressed.

Fab Lab is short for fabrication laboratory and is basically a room full of computer controlled tools with the aim to make basically everything you can imagine. There are tools to 3D print plastics, to laser-cut wood and much more. It enables rapid prototyping and production of tools for various disciplines. In fact it’s even open to the public. You have to sign a sheet of paper, make your plans public and create something.

Why is this great?

Basically its a superb tool to do lean research and development. A huge part of research is finding creative new ways to measure things or find out about things or use methods that are not mass-fabricated and are very specific to the task. Being able to prototype solutions before manufacture the real deal in a short amount of time is a breakthrough. Imagine there is a part for a machine you are not sure about how it should look like – prototype it! Imagine you want to test usability of a product – prototype it! Imagine you want to repair something as fast as possible – produce it! Imagine you need a new solution and nobody sells it to you – invent it!

Why do we need more of them?

Basically thats what scientists have been doing all along, but these techniques are much faster than anything else before them. The thing is it’s not really about perfection. In the end you probably will have to order parts from a mechanical workshop or professionally mass produce, but using FabLabs can speed up the whole process of finding solutions. Because it enables a lean iterative way of research that was not really possible before.

Reading this, you probably think of a mechanical engineering student who 3D prints gears. However I firmly believe that this technology is beneficial to all kinds of research and development. Think of social science students who want to investigate the influence of relief-maps on visually-impaired people. Think of psychology students who are eager to know more about how we interact with certain things. Think of your dad who desperately wants a new handle for the garage door or a small startup who wants to test an idea with a small group of people.

The possibilities are manyfold and I believe that establishing new Fab Labs at every university or city is a great way to benefit everyone.