Microsoft (in)compatibility
Interesting and challenging days ahead!
Monster Truck Lloyd

Monster Truck Lloyd
Originally uploaded by snorp.
Saw this while getting some food this morning. Only in Kansas…
Since James claimed at
Thoughts on Sincerity
Hi Steve,
Earlier today I read your “Thoughts on Music” post. Afterwards, my initial reaction was “That’s great! You get ’em Steve!”. It’s no secret that DRM is broken by design, but it’s nice to see one of the biggest users of it say so. However, I was quickly reminded by a colleague that Apple hardly seems interested in the “everything works with everything” utopia you describe. One specific example is the iTunes music sharing feature. Soon after it was released, some smart people figured out how it worked and developed software to be compatible with it. This let people access their iTunes-shared music from devices or operating systems that didn’t have iTunes. Soon after, Apple implemented a mechanism which prevented non-iTunes clients from doing this. Why? It wasn’t because of the record companies. The music purchased on the iTunes Music Store was still protected by FairPlay, so they had no reason to complain. The only conceivable reason you’d have for doing this is to force consumers into vendor lock in. Well, it didn’t work. Some more smart people defeated your mechanism and once again people were playing their iTunes-shared music using whatever software they liked best (be it iTunes or otherwise). But that didn’t stop Apple from re-implementing a similar protection scheme again in iTunes 7. This time you even knifed some business partners in the process. This kind of behavior isn’t at all congruent with what you’re saying in your post. Have you changed your mind now? Will the next iTunes release remove this restriction? If your “Thoughts on Music” was sincere, I’d expect so.
Proxy support in Evolution
Following is the screenshot of the Network preferences window in Evolution:
It uses libsoup for resolving hostnames and other SOCKADDR related processing.
Evolution Exchange Performance Series - Chapter 2 - Public Folder Loading
The complete fix was done in two-phases.
Phase-1:
--------
Do not scan public-folders recursively during startup.
Phase-2:
--------
Load folders on demand. This enabled us to achieve the maximum performance during subscribing to Public folders.
Any performance work needs to provide supporting data and here it is: (My test server has close to 250 public folders with a maximum depth of 21 subfolders)
| S.No | Description of Test/task | Patch (Sec) |
<=2.9.4 (Sec) |
| 1 | Configure an exchange account Restart Evolution |
7 | 65 |
| 2 | Folder->Subscriptions Selectthe configured Exchange account Note time taken to show the“All Public Folders” |
3 | 4 |
| 3 | Expand “All PublicFolders” Note time taken to display folder list |
< 1 | 168 |
| 4 | Time taken totraverse to maximum depth folder | 8 | 330 |
Memory consumption:
Before expanding a folder (in the folder->subscriptions dialog)
| Patch (MB) |
<=2.9.4 (MB) |
|
| Virtual Memory | 152.8 | 154.6 |
| RSS | 13.4 | 15.1 |
| Shared | 9.1 | 9.2 |
After expanding a folder:
| Patch (MB) |
<=2.9.4 (MB) |
|
| Virtual Memory | 152.8 | 201.6 |
| RSS | 13.4 | 62 |
| Shared | 9.1 | 9.2 |
Actual memory consumption:
| Patch (MB) |
<=2.9.4 (MB) |
|
| Virtual Memory | 0 | 47 |
| RSS | 0 | 46.9 |
| Shared | 0 | 0 |
Note: Memory consumption data is taken using gnome-system-monitor and thus difference in Bytes are not shown above. Columns showing 0 would definitely have a difference at least in bytes.
Memory consumption to traverse to the maximum depth folder:
| Patch (MB) |
<=2.9.4 (MB) |
|
| Virtual Memory | 152.8 | 246.9 |
| RSS | 13.4 | 107.4 |
| Shared | 9.1 | 9.2 |
The fix also improved the overall folder loading performance.
more vmx-manager stuff
I’m still working hard on vmx-manager, and I think it’s coming along pretty well. I spent a good chunk of last week writing my own code for creating VMware Virtual Disks. The VMDK specification is pretty straightforward, but implementing it proved to be more tedious than I expected (“the devil is in the details”). The end result seems to work pretty well, so now vmx-manager can create disks without relying on qemu or vmware-vdiskmanager. Soon I might try to add a couple more features in this area, such as the ability to grow an existing disk (which in theory should be easy — just add extents). I’ve made a screencast of the app as I put it through its paces, and you can find up-to-date screenshots here.
When I was writing the flat extent support (used for pre-allocated disks), I wanted to do something different than just writing a bunch of zeros out to a file (which is slow). It seemed to me that it should be possible to ask the filesystem to quickly give me a file of a specific size. I didn’t care what was in it, so it should be able to just find a bunch of unused sectors (or whatever) and mark them as mine, right? I was able to find no such feature in ext3 or Linux in general, and I guess the reason is probably due to security concerns. You obviously don’t want to give people a way to read deleted data. It would be nice, though, if the fs could mark the data in such a way that it would be zeros until you write to it. Maybe that’s just too expensive, I don’t know. Anyway, if anyone knows how I could accomplish such a thing, please let me know.
klaptopdaemon improvement
Last night I spent a couple of hours adding a missing feature to klaptopdaemon. Are you curious? keep reading… Yesterday I installed a new kde icon theme. It looked really nice but there was a problem: klaptopdaemon tray icon didn’t work. In fact the icon didn’t show the battery level, it was always at 0%. Quite annoying isn’t it? Since I liked the theme I decided to add a new option to klaptopdaemon: print the battery level percentage over the systray icon.
I’ve just contacted klaptopdaemon maintainers and I’m going to commit it into kde svn, so you’ll get everything into next klaptopdaemon release :)
I'm in ur virtual machines, managing them
I’ve been working on an application recently which lets you create, configure, and run VMware virtual machines (it just forks out to VMware Player for the running part). It’s nearing usefulness now, so I thought I’d post some screenshots and stuff.

The main window

The configuration window
You need either qemu or vmware-vdiskmanager installed in order to create new hard disks, and it probably fails pretty badly currently if you don’t. If I get a chance, I may write my own stuff to create the hard disks (the format is a public spec, woo!). Anyway, you can get it from the vmx-manager module in gnome CVS.
HpCalc
HpCalc is an open-source multi-platform editor for the Hp 39G calculator. I was bored by the official “Applet Development kit”, a really old and ugly program written for Windows 3.1 (!!), so I decided to write something new (and maybe better).
I made this program just for fun and for learning something (it was the first time I used the Qt library), so don’t bother me if this isn’t fully comparable to Hp’s ADK.
I don’t use too much my calculator, the only thing I really needed was a decent note editor and this’s what HpCalc is going to be: an hp 39G note editor.
Actually the program is only an alpha version, but it’s quite usable for loading/editing/saving .not files.
As I said before I don’t use too much my calculator and this isn’t one of my primary interest, so I don’t know if I’ll ever upgrade it.
Code
HpCalc source code is released under GPL2 license, so you can grab it free from this github repository.