Sunday, June 3, 2012

It's that time of year again

Let's see how large we can get Buddhbrot this year. Last year I was up to 20k x 20k pixels. With my new computer, breaking 40k seems more than likely. I've also gotten a promising lead on how to splice abso-frickin-lutely humongous images like these into chunks for google maps. Can't promise anything, but I really want it to happen.

Also giving Eclipse CDT another try. Making it not choke and die on C++11 was a slight tricky. Stackoverflow got our back though. Quoting the post by Carsten Greiner (as I no doubt will have forgotten by the time I need to do this again):

  • Make a new C++ project
  • Default options for everything
  • Once created, right-click the project and go to "Properties"
  • C/C++ Build -> Settings -> Tool Settings -> GCC C++ Compiler -> Miscellaneous -> Other Flags. Put -std=c++0x at the end . ... instead of GCC C++ Compiler I have also Cygwin compiler
  • C/C++ General -> Paths and Symbols -> Symbols -> GNU C++. Click "Add..." and paste __GXX_EXPERIMENTAL_CXX0X__ (ensure to append and prepend two underscores) into "Name" and leave "Value" blank.
  • Hit Apply, do whatever it asks you to do, then hit OK.
That takes care of most of the problems. Still seems to have issues with lines like

    pnm.write([&f](int x, int y) { return f.get(x,y); });
where the function has the type prototype
    void write(std::function<void(int,int)>);
It doesn't seem to be up with the implicit cast between the lambda function and the function-class. But I guess I can live with that for now.