Wireless sucks. Especially when the ISP doesn’t have adequate transmitters in wifi-overcrowded city. There’s always very high packet loss, the link is very unstable despite the fact that it’s fast (of course when it’s working). For a few days I had over 80% packet loss. I’m really fed up with asking my provider to fix this, playing cat&mouse all the time. For personal use I can make a sacrifice for a moment or two, but constant link failures make me sick. They cannot fix this for half a year. *VERY* professional. ;P
Anyway. This contributed to my decision to move the server out of my home to another location that is connected with Internet via landline ethernet. I’ve bought new network switch and UPS, then installed the infrastructure and the server at new location. It was supposed to be a quick switch, but as Murphy laws dictate it wasn’t. After initial server startup at a new location I’ve encountered serious problems with one of the harddrives. You can imagine what I felt when I saw that the datastorage drive was damaged. This machine is rather cheap, noname computer, constructed from various pieces of junk that I have in my home. It’s far from being professional 3k$ branded server. However it turned out to be just overheating northbridge caused by failed cooling fan. To replace this fan I had to remove half of the server components. Oh well. I’ve encountered also another problem. IDE connector cables were worn-out so I had to replace them also. From the planned one hour outage it was made few hours longer. After finally getting server to work I have plugged it to my brand new network switch and connected it’s uplink to 100Mbit/s Ethernet port going to ISP’s router. Initial bandwidth tests showed that within normal working hours the uplink averages 6Mbit/s within the Europe, 4.5Mbit/s to Washington DC, 2.5Mbit/s to Los Angeles and around 1Mbit/s to Hong Kong. Not bad. I have installed monitoring software on the server to plot graphs showing average resource and bandwidth utilisation. It seems that I have much spare bandwidth currently, because the server is very lowly utilised. And that’s good. Hopefully steps I have taken will contribute to better accessibility and there should be much less problems with it.
Besides that I’ve got some time to code MOO2 Graphics Viewer. I’ve written usable and operational ViewBox widget class for showing graphics in QT. Then I made some corrections within the graphics class itself and created preliminary user interface using QTDesigner. I’ve made a code cleanup getting rid of some deprecated functions and finally got rid of Tkinter calls. The overall result is quite nice. Also I have taken a closer look at some graphic and palette files. I’m beginning to understand that some of the palette files in fact are a little more than that, because they seem to have for example mouse cursors within themselves. Also taking a closer look at council.lbx file it seems that internal palette of the first image within the first file in the archive seems to be used in other images from this archive. This certainly needs some additional code to use this palette for other images. Because of these facts I’m not really ready to release the code now, but I’m certainly coming closer towards it. And as always. I have some eyecandy for you.
As you can see the viewer has the beginning of the usable user interface. On the left there is a tabbed toolbox which currently has three tabs: LBX, Info and Palette. LBX currently is a browsing mechanism for files. Info tab gives you information regarding viewied graphic. It shows the size, number of frames within the image data, flags and in future will allow for some more things. The last tab which is designated Palette is used for changing palettes. It has a palettebox widget that shows the palette and the list of palettes from the files. However if the image has internal palette the palette box shows internal palette instead. Currently you can’t change the palette of the image if it has internal one. In future versions that will change. Also currently you have to depack LBX files manually. My goal is that you could specify just the directory where LBX files reside and application will take care of extracting LBX files by itself and then populate list of graphics and palettes including internal ones. There’s no way to change frame if the graphic has multiple frames. Also there’s a problem with the viewer box. I have encountered that for large graphics the loading is quite slow. When I first wrote graphic drawing routines I was aiming for showing transparency areas within the image. However I was quite disappointed by the drawing speed when resizing the widget. So I had to generate a memorized pixmap of the image and then bit blit it on the widget canvas. The drawing speed improved, but the transparency was lost because it seems that in QT version 3 QPixmap in the PyQT toolkit does not have alpha channel! I’ve been trying to get around this problem, but it seems it’s hopeless for now. So I’ve decided to leave it that way for now. I’ll try to install newer QT version 4 and PyQT4 to get this working, but for now it has to be that way.
I was thinking about releasing the code now, but I have decided not to. Why? Because the program has few bugs right now and it’s not complete. I want to finish essential functionality and fix the issues mentioned in the previous paragraph. Then I’ll be ready. It’s like with this artist that doesn’t show his painting before he finishes it. I hope you’ll understand. Also. Please do comment on the screens. Perhaps you have some ideas about usability, maybe you’d like to see some additional functionality or you’d like just to post some constructive critique. All comments regarding these things are welcome.
Keep up the good work!