Several people have asked me what kind of work I’ve been doing since I went out on my own earlier this year. So far I’ve done a lot of fairly small projects, though I have one large project that’s just getting started. (The larger the project and client, the longer it takes to get rolling.)
Here are some particular things I’ve been doing.
- Helped a company improve their statistical software development process
- Modeled the efficiency and reliability of server configurations
- Analyzed marketing and sales data
- Coached someone in technical professional development
- Wrote an article for an online magazine
- Helped a company integrate R into their software product
- Reviewed the mathematical code in a video game
- Researched and coded up some numerical algorithms
If something on this list sounds like something you’d like for me to do with your company, please let me know.
Could you comment some more about points 1, 2 and 7 please? :)
It would be great to know a bit about that videogame project, type of maths involved (euclidean geometry, vectors,…), programming language, … Anything in this blog would be amazing (K-12 teacher here)
badmax: I wanted to keep the post short and I wanted to make sure I didn’t say more than I had my clients’ approval to say. I’ll elaborate on the points you mentioned in the abstract without commenting on my particular client work.
There’s a lot of opportunity to help scientists by introducing them to ideas that are well established by now in mainstream software development but not in scientific programming. I can help because I’ve worked on both sides of that fence and understand which things will work on both sides and which won’t.
As to server modeling, when you have larger server farms you have to think in terms of probability rather than imagining everything is deterministic. Events that are rare enough to ignore on a small scale become commonplace on a large scale.
As for the video game project, the math involved was mostly random number generation. There are some subtle aspects of random number generation that often trip up programmers. Code can look reasonable but be wrong.