Welcome to Hardcode Sign in | Join | Help

May 2005 - Posts

These two entries are the funniest from their entire database :)
I did some normal mapping in OpenGL for some University project, ATI only unfortunately (had to bring the videocard for demoing). DirectX 8.1 equivalent OpenGL shaders have very poor support (i.e. code on the net), and you *have* to build two shader versions, as ATI and nVidia have different extensions (not sure how much different though). We may use shaders for optimizing rendering in our next project also, so this quick test was very welcomed.
Of course it's nice, as Dragos described it last night. Shouldn't be extremely complicated to do (I assume will have a bet with Chirila on this).
I had to improve the scaling quality in our current product (actually in the 2d presentation module), so I tested some filtering techniques. After building some releases with exotic algorithms (Blackman, Hamming), the feedback received and our observations led us to the conclusion that the simple bilinear filtering has the best visual effect.
It will support OpenGL rendering, using maximum (16X) anisotropic filtering for best quality available (with mipmaps of course) (should switch to software rendering for machines with on-board video and strong CPU).
The image edges will be anti-aliased using alpha channel and bilinear filtering (alpha either 0 or 255, precomputed or set up in a pixel shader).
Our experimental implementation of OLE in .NET (not entirely in C#, a MFC proxy is somewhere around) is so full of hacks that we must definitely re-write it from scratch. A primary issue is the bi-directional inter-process communication, we have user .NET Remoting but it's a bit of overhead, COM is not so usable so we may resort to using Win32 concepts like File Mapping and such.
The basic idea is of an MFC OLE Server (as generated by the Visual C++ wizard) that simply instantiates the real application (written in .NET) and dispatches drawing requests and document openings, while handling the OLE commands like Copy as link.

Microsoft Research has a beta compiler (it integrates with Visual Studio .NET) for the C Omega language. It's a derivative of C# that supports SQL, XML and XPath directly into the language. So you can write:
foreach (b in bs.book)
{
  yield return <result>
                {b.title}
                {b.author}
               </result>;
}
and also:
    struct{SqlString CustomerID; SqlString ContactName;}* res
      = select CustomerID, ContactName
            from DB.Customers
            where City == mycity
            order by ContactName;
I think we'll be using this language in our next project. (via Adrian).
In my first contest after four years, I managed to qualify in the next round. Still I have to practice more for my skills to come back to highschool level. My team-mate Adrian has also qualified, and we think about inviting the guy that got the first place to our team (he is really good, won gold medal at IOI 2004).
Finally, I've managed to copy files on the device by simulating drag'n'drop on the virtual folders created by VFSWrapper. This VFSWrapper *has* a COM interface, but totally unusable (although good function and parameter names, I couldn't get it to work). Nokia Multimedia Converter is in the same situation, COM interface but no way to get it work. We may resign to use some 3GP codecs, if we find some. In the end, the good news is that some non-Symbian, Series 40 phones may be compatible with our solution as well (6230 seems to mount its filesystem also, for example).
I'm very interested in designing the GUI for our next products we'll be working at. MDI is *very* outdated, I won't ever bother to search for .NET components in this area. Tabbed GUI like VS.NET's are also nice but not for our application (they fit better with Firefox). SDI is the latest trend in this area, so we'll let Windows' window manager do its job. Another issue are the panes - here the old-fashion style is the using docking ones. 3D Studio's scrolling panes are original but not very usable, and the conclusion is that floating panes is the way to go.
I'm not sure that this could have a big impact on camera phone picture quality, however it is worth trying (the storage may be a problem though, the pictures are 8 times larger).
Some friend of mine working for Symbian told me it's not possible (I'm talking about streaming in the opposite direction, i.e. from phone to PC) because the major operator companies feel that this will threaten them (VoIP is just an example). I will surely take a look over the existing APIs to ensure they don't allow this and afterwards study if it's really not feasible at all.
Best resources for Symbian are of course at forum.nokia.com. "Series 60 2nd Edition SDK for Symbian OS, Supporting Feature Pack 2" is a nice SDK containing an emulator with debugging and many other features (remote debugging not sure though). As for data transfering between PC and device, SyncML would be an option but I would recommend using OBEX over TCP/IP and also direct access of the embedded file system using the shell extension provided by Nokia (Phone Explorer) (this may need some hacks I assume).

ACM

Next year the final of the ACM (or ICPC?) contest is in San Antonio, Texas. I was lucky enough to go in 2002 in Honolulu, Hawaii for the finals, and now I think to get into ACM again. What's cool about San Antonio is that iD Software is pretty close, I'm starting to get excited about seeing John Carmack.

The regional phase will be in autumn but until then we'll go to some internal competitions in our University. As for the team (there should be three people) we are still looking for one person, me and one friend Adrian 'Micutzu' Drumea being definitely together. But beware, the third mate should be from our University too.

Anyway, I got some sites where the contestants practice before the official competitions, they are http://acm.timus.ru and http://acmicpc-live-archive.uva.es/nuevoportal/ . So I open a new category of posts entitled "ACM" for all the comments related to this contest, hoping to get into problem solving pretty soon this month.
The IDs for the items in the "Window" menu (for MDI apps) are not documented, but we found a case where we need to handle them before MDIActivate gets called. They start from 65280 and are available to be handled either in the mainframe or in the childframe.
Or the float:left attribute is deprecated? (however couldn't find at the first sight something to replace it with). I guess tables, but I don't want to mess this way the .Text asp.net code. If you didn't see the issue, beware that the posts should be left-aligned in the browser window (just open the page with IE).

UPDATE: Dragos (no blog, no link) told me how to fix it (there is no Mozilla bug actually), however there are still some issues with the page layout (a big margin somewhere). We all want it to be corrected.