Hardcode
Making it happen
Making it happen
Jul 28th
Ok so I’m back from a one-week holiday that involved going to Vama Veche, a quick trip to Bulgaria for the Deep Purple concert and an expedition in the Danube Delta.
Jul 14th
For about two days I have been messing with some rendering bugs in the OpenGL engine. First of all, some textures appear white under heavy load – I found the low memory to be the cause. It appears that OpenGL need system RAM to load the textures, and doesn’t like virtual memory very much (at least on nVidia, because on ATI I managed to upload lots of textures to the pagefile also). The other bug is caused by a visible shift in objects’ texture coordinates, that in the beginning occured in memory-full conditions but then appeared when there was plenty of RAM available. Still left to investigate.
Jul 14th
I found some problems in the MFC Grid, first of all the GVN_SELCHANGED notification is not fired when the selection is modified using the keys, also the grid doesn’t set itself focused when it’s activated by mouse-click (apparently this happens only if the grid is used in an OCX).
Jul 12th
Jul 12th
Ok so a quick review over today’s learned lessons: you shall not remove COleClientItems from the document when they are deleted (because they are kept in the undo structures and thus the OLE connection needs to be active). Also, I had to hack the document closing routine to force the destroy of the OLE items because they had bigger refcounts than they should have had (this happened for some objects only – possible a bug in the server).
Jul 9th
I’m talking about building connections over the web (initiated from the webpage) but not packet-based as XMLRequest-based apps are doing. Real, connection-based web apps are currently being built in Flash, however I’m wondering if they can be built on top of http (actually http was never designed for this). A new kind of web-based apps can be developed then, and real-time collaborative software is what I’m primarily interested in. Another problem is whether to use peer-to-peer design or client-server (this may surely be better, because of firewall issues and such).
Jul 8th
Did you know that a VB executable registers automatically the components it depends of at startup (if they are not registered) ? So I guess it caches the ocx name along with the GUIDs and if it can’t instantiate the component it looks in the current directory for a file named like that – then self-registers it. Could be dangerous though – the wrong component may be registered by mistake. Some official info here and here. It appears the components are not actually registered.
Jul 5th
Bizarre bugs strike again ! Ok so today when I stepped into a simple constructor call (something like new GeoNode(); ), the XCode debugger instead of going directly in the constructor code it stepped into some __dyld_*** functions (no source code available), then crashed. It never reached the called constructor. In the end, I realized that Mac OS X loads the compiled code lazily – and thus checks for linking errors at run-time!.
Jul 5th
I had to port some standard C++ code that compiled well in VC++ 6.0 to Mac (GCC 4.0) and my conclusions are that they have changed the C++ language a lot: operators didn’t work without “const” and STL didn’t work at all (the iterator is a class not a pointer, so you can’t add indexes and so on).
Jul 3rd
I had a quick look on how Visual Studio 2005 helps testing the projects – it’s really nice, a test project is generated that instantiates your class and verifies the methods (well, you have to write code to compute the expected value, for example). There are lots of functions to organize the test sessions and you can use metadata files for defining input values to tests. As you know, unit tests are very important in XP, you have to write the unit test first and then implement the class, so programmers are encouraged to use the IDE functions.