Python Preliminaries: Open Source Licenses & Header Format

I revisited an old python project today, which had been written for company project. Since there was nothing special or proprietary about the code, I decided to open source the project. The python header for the project files includes a place for describing the license. So, which license? A quick search came up with this helpful guide. And while looking at header, I started wonder about python file header conventions. Even though I didn’t get around to standardizing the headers, I have a reference now:)


Computational Geometry In Hollywood

An interview with Pixar’s head of research. Worth a read. I found DeRose’s answer to a question about the kind of skills/training animators should ideally have especially interesting.

We need people that are mathematically sophisticated, especially in areas like linear algebra, numerical analysis, differential geometry, and differential equations. We also need people that can implement their ideas in software. It’s really important that candidates are well versed in reasonably modern software development, being able to implement in languages like Python and C++.

DeRose is essentially saying they[Pixar] looks for strong software engineers with a strong mathematics background. Seems to be the same requirement I’ve seen in other industries, from finance to tech.

Start-up funding under stress

Food for thought. When I came out to the Bay Area, one of my questions was how long can this tech bubble last. Well, this article partially addresses this question; particularly with regard to start-up seed funding, mostly in the web/e-commerce space. Though, I believe there is always funding for good ideas and teams that can execute; examples include non-consumer firms like SkyTree, Zest, and various data analytics platform and predictive modeling companies. One of the take aways from this article is that firms whose data acquisition strategy includes crawling social network sites like LinkedIn and Facebook are considered weak investments. 

Installing latest GCC/G++ via homebrew

With the holidays here, I finally had time to revisit a programming project I’d been meaning to complete/start. This is my sphere points project, which is available (shameless plug) in my github repo. The goal of which is to compute N equidistant points on S^2 . Along the way, I made a choice to implement much of the calculation in C++ 11. So far I’m really enjoying familiarizing myself with C++ latest enhancements. Presently, at the part where I want to compile and test the first bit of code which I’ve written, but g++ can’t find <random>, <array>, etc. After some googling it seems that my version of g++ (4.2.*) doesn’t support C++ 11. No problem. I just have to get the lastest version which supports C++ 11 — gcc 4.7. For those who might have found this post C++ 11 features are also supported on earlier versions of GCC/G++. A complete list and description of gcc compilers can be found here. Anyway, I chose to install via homebrew because of the convenience and gcc 4.7 is installed in /usr/local/*, preserving my current Xcode llvm configuration of gcc. This is what I did:

The latest version of GCC will always be available through the SynthiNet tap:
brew tap SynthiNet/synthinet

Install GCC 4.7.*
brew install gcc47