Recent blog entries for mikem

It seems that we are about to reenter the dark ages some time soon. DRM will soon repress freedom of speech. Rich men will choose what views can be aired on their media outlets. Poor countries will be reduced to rubble when a politician points his self-righteous finger, and utters the T word. The public of the free world will blindly follow in the name of patriotism.

That is not a world I want to live in. I will do what I can to resist that world. As a programmer I will invest my time in Free Software, hoping that it will equalize, hoping that rich men will not become more powerful and more corrupt due to my work.

Maybe you can't truely be free without first struggling.

Back from a great holiday.

Trying to get back into it...

Fixed a bug posted on wine-devel... StgOpenStorage got an incomplete version of my patch applied to it. Needed to re-write that dodgy patch anyhow... damn, forgot the Subject line in my mail to wine-devel again...

Time for another X11 vs MS style window management problem. GNOME and Wine keep moving my app's main window around the screen instead of keeping it in the same place upon each startup. Works without problems in KDE.

There's no minimize box in GNOME for the app either. It's going to be a fun day.

Find out more about my new job tomorrow...

C++ templates suck.

i just spent half a day getting Jade to compile, because the damn thing is packed to the rafters with templates.

Of course, every damn compiler implements templates in a different way. Try deciphering this load of trash:

In file included from ../include/CharsetInfo.h:11, from CharsetInfo.cxx:8: ../include/Vector.h: In instantiation of `Vector<RangeMapRange<unsigned int,unsigned int> >': ../include/RangeMap.h:27: instantiated from `RangeMap<unsigned int,unsigned int>' ../include/UnivCharsetDesc.h:73: instantiated from here ../include/Vector.h:50: `Vector<RangeMapRange<unsigned int,unsigned int> >::operator [](unsigned int)' has already been declared in `Vector<RangeMapRange<unsigned int,unsigned int> >'

After banging my head againt the wall for a while, i discovered the problem i'm having stems from template instantiation with consts. The compiler doesn't like two member functions in a template class differing by only a const... Something like

int operation[](int x) const; int operator[](const int x);

It compiles better if i remove the AC_C_CONST check from configure.in, but won't link now...

Hangover.

Wierdness. Realplay streaming seems to not work with KDE2, but work with KDE1. I don't get it.

Apparently the answer to X Z-order problems is to use MWMHints... you can remove the borders and title bar on a managed window that way. Could look cool to make all wine windows work like that... so they are managed, but look like a normal Windows window.

Trying to get X and KDE WM to co-operate with Wine's Z-order is a painful job! i'm really tempted to start writing a new window manager that understands and cooperates with Wine... perhaps hack Wine support into fvwm95?

Jeremy Allison seems a little bit supportive of external access to Samba's named pipes layer. Not sure that he understands that i need dynamic access though...

On the up side, JJJ's streaming is working again :-)

13 Jan 2002 (updated 14 Jan 2002 at 04:46 UTC) »

lkcl vs. the samba team

I implemented basic (non-network) Named Pipes Support in the Wine project. I am investigating how to add support for Named Pipes over the network.

After reading Luke's article on the front page, i have to say i mostly agree with what he says. Despite his bitterness, he does have a point.

Samba is the NetBIOS gateway in Linux, yet the leaders of that project have provided no way for any non-samba code to access NetBIOS functionallity. Windows multiplexes almost all it's network access through ports137 and139. They should at least accept a few basic hooks so that others can get the job done. The Samba teams' attitude is basically just port-hogging.

Perhaps the best solution is to write another port 139 listening daemon that sorts through requests and passes accesses to shares to samba... to get under samba. Such a thing would cause a great performance hit, but maybe then the Samba team would get the message...

my $0.02 worth.

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!