http://asawicki.info/ Programming, graphics, games, media, C++, Windows, Internet and more...
Building JSON Parser Library for C++
C++ is a flawed language in many aspects, but one of its biggest problems is how difficult it is to start using some C or C++ library. Because of the lack of binary compatibility, separate version have to be prepared for each operating system, compiler and compiler version. Often a version for my compiler is not accessible (or no binary distributions are accessible at all) and I have to compile the library from source code, which always causes problems.
I recently wanted to start using JSON as a configuration file format. It's a nice description language that would make a good compromise between XML (which has lots of redundacy, is unreadable and I generally dislike it) and TokDoc (my custom description language). In search for a JSON parser library for C++, I've decided to use json-cpp. And here the story begins...
Json-cpp is distributed only as source code. README file says that I have to use Scons build system to compile it. WTF is this? How many f*** build systems like this are out there?! Well, I've downloaded it. It looks like it uses and requires Python. I have Python 2.6 installed - it should be OK. Scons Windows setup installed it in the Python directory - OK. What now?
Json-cpp readme says about Scons: "Unzip it in the directory where you found this README file. scons.py Should be at the same level as README.". Unzip?! OK, so maybe I should download the ZIP distribution of Scons instead of setup. I did it, enter the ZIP archive and... There is no scons.py file there! Only scons.1 and some other mysterious files. The only Python script in the main directory is setup.py. So desipte what json-cpp README says, scons cannot be just unzipped, it has to be setup somehow. ARGH!
Luckily this time the solution turned out to be easy. There is a Visual C++ solution file in build\vs71 subdirectory. I managed to successfully convert it to Visual C++ 2008 version and compile it to static LIB files. I only had to ensure that the Runtime Library in Project Options is set to same type as in all my projects, that is the DLL version.
Last weekend I've been in Poznań on Allegro Party - party for users of Allegro.pl - online auctions website. But we went there with my friends from the demoscene not only because we trade stuff online, but as organizers, as one of the highlights of the event were classic computers like Amiga or Commodore, ready to play good old games. Here are my photos from the event.
NEW: Some more information about this party (in Polish) can be found here:
Now I try to catch up with news on my Twitter and on the blogs I follow. One of these news in GPU Technology Conference by NVIDIA, which took place Sep 20-24, 2010 in San Jose, USA. Much interesting new graphics and HPC-related hardware and software have been shown there. Many coverages can be found over the Internet, like this one. What attracted my attention the most is a plenoptic lens technology presented by Adobe (I recommend the video at the bottom of this page). Their camera is equipped with a matrix of many small lenses, giving kind of a 4D image. It can be then processed to a single photo with software-controlled depth of field. There are also more than a hundred posters presented on the conference, available for download here. Posters is a nice form for presenting research results because it's short and attractive.
Game Event, Technology Event
Another interesting events took place recently. IDF - Intel Developer Forum (Sep 13-15, 2010, San Francisco, USA) is organized by just one company, but they've shown some interesting stuff there. Intel manufactures CPU-s as well as GPU-s, so there was something about hardware, as well as high-performance and parallel programming. Some topics from IDF are covered in recent entries of SoftTalk blog.
After E3 in USA and GC in Europe, this time there was a game event in Japan - TGS - Tokyo Game Show (16-19 Sep, 2010). As always, there is much new information and multimedia data after such event, like trailers and news about games under development. Some of them are specific to the exotic Japanese culture, but most of them is about games that will be available on the West too. I like watching trailers :)
reg__ @ Delicious
I've decided to start using Delicious - a social bookmarking website. I collect and browse many interesting links every day. Until now I've been keeping my bookmarks in a text file that I share here: Links - gamedev.txt. But if bookmarks are about the Internet, why not keep them online too? Delicious looks like a very nice service for that purpose. I only have to switch from organizing my links in hierarchical categories to tagging. Unfortunately I can't find any fully-featured desktop application for Windows to manage Delicious bookmarks, just like I use Thunderbird for e-mail, RSSOwl for RSS and TweetDeck for Twitter. I've already started entering some of the interesting links I've recently found so here is my account:
NEW: I still learn how to make good use of tags, but I've already entered most of my bookmarks from different places into Delicious. So I think it's also the time to drop my Links page. It no longer appears in the menu at the top, while I placed all my "social" website links there. For the list of my favourite blogs I regularly visit, see my following tag.
Riverwash 2010 - After the Party
Riverwash 2010 is over. I had really great time there. What's best about such party is the opportunity to meet so many interesting people. The most important and awaited part - competitions - was also very nice experience. I especially liked intros and demos. There was only one 4k intro - "Quantum Core" by KK from DMA - but it was so awesome it shouldn't have problems winning even if it would have some competitors. There were 5 newschool demos and mine scored the last place. The one designed for anaglyph 3D glasses was especially impressing - I haven't seen such 3D effect on these simple glasses before.
Here are my photos from the party: Riverwash 2010 by sawickiap @ Picasa
And here is the demo I've submitted for the Newschool Demo Compo:
Riverwash 2010 Starts Today
I was offline in recent days because I've been moving to another flat, but I'm already online now and I slowly catch up on news, like the new Steam Hardware & Software Survey: August 2010. There has been another international demoscene party recently - Evoke 2010 (August 27-29, 2010, Cologne, Germany). I suppose it is worth seeing productions from the competitions.
Today the biggest democene party in Poland starts - Riverwash. It will take place in Warsaw, so I don't have to travel far. That's why I'm going to go there desipte I'm a little sick. I just won't drink so much as I would :) I'm going to submit my production for a compo in Newschool Demo category. I didn't have enough time to polish it and I only hope there won't be any technical problems with GPU compatibility or something. Code and graphics of the demo is made by me and is inspired by psychodelic trance music. Music is made by Count.