Monday, October 5, 2015

Opencv 3 for me

   Embarrassingly my python install, conda and all had caught fire and collapsed for unknown reasons (this not happening being the whole point of conda).

   So I have splashed out into Python 3.4.3 and opencv 3.0.0. I held off on Python 3.5.0 for now. I was looking at cv2.filter2D(...) (why is opencv 3 still being called cv2) which broadly does what it should (for large kernels it does the convolution with the discrete Fourier transform).

   Also I started using vim again, and discovered that it has tabs now! It is my favourite IDE again.

   A page from an odd cookbook, filtered arbitrarily by directionally maximising green channel contrast. It looks artistic. I have written so many pictureless words that any excuse for an image has to do.


Saturday, October 3, 2015

Language choice

   At some point I entered a chrysalis then emerged a proper python programmer (at which point a lecturer called me on just being trendy).

   Now for my various (non-go) projects my current language choices are python/numpy etc, python/opencv3 and C/cuda. Obviously these three are somewhat interrelated with slightly differing emphases:

  • Numpy (pronounced numpy to enrage other python programmers) is the natural evolution from Matlab (vis all the "numpy for Matlab users" cheatsheets)
  • OpenCV 3 is a holistic and self contained (computer vision) package, where python is an incidental alternative to C++.
  • Cuda says I moreso want to actually control (worry about) my utilisation of graphics processing. I count putting some more mileage into C++ a bonus.
   Numpy and cv3 both have robust gpu functions (probably cuda derived) and are highlevel and syntactically sweet. Conversely one can cobble code from existing cuda quite easily.

Go bot though?

   I have been mainly hacking away with Numpy and friends, so that's my goto for the go bot, who shall consist of :
  1. Joseki dictionary bot
    • Dictionary Joseki deviation punishment bot
  2. Dictionary advised non-dictionary joseki deviation punishment bot
  3. MCTS bot (hopefully the board has closed up lowering computation cost).

What about making another SGF editor?

   Seems like I could do it in python (python gui toolkits are a thing)