Stuff Michael Meeks is doing |
Older items: 2008: ( J F M A M J J A ), 2007: ( J F M A M J J A S O N D ), 2006, 2005, 2004, 2003, 2002, 2001, 2000, 1999, legacy html
Dear Sir / Madam, Recently I had the pleasure of obtaining one of your fruit yoghurts, in the square configuration with an aluminized plastic top. I eagerly set to peeling the preservative skin from it's expected adhesive grip to the material below. Imagine my surprise to discover whilst engaged upon this task what appeared to be some sort of rivet like contraption twixt sheet and body welding them inseparably. As one can well imagine this severely impeded my peeling progress, which clearly must proceed with caution owing to the well documented bad luck that plagues those who rip such unblemished coverings. So; having peeled many a pot I have never been so appalled with this blasphemous neologism of non-uniform extra methods of adhesion. Indeed despite scrupulous care my lid became multiply perforated, condemning me to who knows what horrors! I have taken to hiding beneath my bed in disgrace, whence my mother brings me periodic refreshment. Hard as it is to write in such confines, I beg to be informed as to whether this is all part of a fiendish German plot to cripple this great Nations fortuity ? and indeed whether anything can be done about my sorry predicament ?! Yours Faithfully,
Dear Sir / Madam, The other day I was thrilled to receive the most enormous cylindrical tin of Roses chocolates, with your bold emblem stamped in imperial red on its rind. Indeed, the smell that arose to my eager nostrils as I wrenched the lid from its fixing was delicious, the aroma assaulting my nostrils as of a chocolate smorgasboard, exciting and fresh as if for the first time. However, in this instance it was different. After sating my initial desire I held aloft a cursory morsel twixt finger and thumb and, after a moments uffish thought, a horrifying realization hit me. My worst fears were quickly confirmed by a rummage in the receptacle: there are No chocolates with a black wrapping. There were many beautiful chocolates with a white wrapping, some yellow, some green but no black! Suddenly the sweet taste in my mouth turned to wax, and a sickening feeling struck me. How can we as a forward looking, vibrant, pivotal community of communities move forward in tackling the obscene and institutional racism in our society if we can't get this simple thing right ? How can the police force be beaten to its senses, the teachers re-educated and the imperialist walls demolished if we cannot even achieve some sort of racial balance in our chocolate wrappers !? Yours disgustedly,
Bewahre doch vor Jammerwock!
Die Zahne knirschen, Krallen kratzen!
Bewahre' vor Jubjub - Vogel, vor
Frumiosen Banderschnatzchen!
Er griff sein vorpals Schwertchen zu,
Er suchte lang das manchsam' Ding;
Dann, stehend untem Tumtum Baum,
Er an-zu-denken-fing.
Als stand er tief in Andacht auf,
Des Jammerwochen's Augen-feuer
Durch tulgen Wald mit wiffek kam
Ein burbelnd ungeheuer!
Eins, Zwei! Eins, Zwei!
Und durch und durch
Sein vorpals Schwert zerschnifer-schnuck
Da blieb es todt! Er, Kopf in Hand, Gelaumfig zog zuruch
Und schlugst Du ja den Jammerwock?
Umarme mich, mein Bohm' sches Kind!
O Freuden-Tag! O Halloo-Schlag!
Er chortelt froh-gesinnt
Es Brillig war. Die schlichte Toven
Wirrten und wimmelten in Waben;
Und aller-mumsige Burggoven
Die mohmen Rath' ausgraben.
(setq kill-emacs-query-functions '(lambda nil (y-or-n-p "Are you sure you want to quit? ")))
GtkWidget *widget; widget = bonobo_widget_new_control ("file:/home/me/myimage.jpeg", NULL);will give you a nice Eog handled, beautifuly interpolated, idly loaded image to look at with more ease than your average Gtk+ widget.
<%@ Language=VBScript %> <html> <head> <title>Example 3</title> </head> <body> <% FirstVar = "Hello world!" %> The time is: <%=time%> <BR> <%For i=1 To 10%> <%=FirstVar%> <%Next%> <%If Hour (time) > 18 OR Hour (time) < 4 Then%> Good Night Everyone. <%Else%> Good Morning Everyone. <%End If%> </body> </html> |
gives: |
<html> <head> <title>Example 3</title> </head> <body> The time is: 01:08:02 <BR> Hello world! Hello world! Hello world! Hello world! Hello world! Hello world! Hello world! Hello world! Hello world! Hello world! Good Night Everyone. </body> </html> |
"GNOME is an open, free, and productive desktop environment that sparks innovation and excitement among users and developers worldwide. Microsoft Windows is not." -- Sun Microsystems
* Rational For the last week and a bit I have been re-writing the UI handler code, the fruits of my labours have been growing in CVS. But first, a summary of some of the problems I dimly remember with the old UI handler: a) Huge IDL interface, massive stubs / skel contribution b) No status bar support c) Doesn't allow menu / toolbar editing a-la MS Office d) No cmd / widget separation for menus / toolbars e) No Help Menu support f) Leaks memory around the place g) Out of order merging may be bad. h) Non expandable i) Nasty placeholders j) Broken paths with translations k) Broken position double accounting l) No K/B accelerator merging And probably some more I havn't discovered yet. Still, the old UI handler contained a large corpus of useful code, it was mostly frustrated by its API and structure. * Nice Features So; the new UI handler fixes most of the above and adds a lot of nice features people had requested, eg. Placeholders that can (optionaly) add separators at top and bottom when they are occupied. Also there is proto global keybinding support so many different components can merge keybindings into the same app. Another nice feature is the cmd / widget separation that Jody suggested to me. In fact, this makes it easy to make the whole thing editable. Either way, lets say we have an operation with id = 'Bold'. We have a toggle menu item and 2 toggle toolbar items with id == 'Bold'. Then when we toggle any of these all of them update their state. Another type of command is the 'Verb', all menu items and many single press toolbar items are implemented via verbs such as 'Open', 'Close', 'SaveAs' etc. This essentialy means that anything that can be done by the menu system can be automated via the CORBA API with no need to write idl. It also means that advanced features can be exposed as verbs an ( in future ) the user could add new commands into their menus and toolbars with a GUI ( much like office does ). * How it works The master model of the UI is stored in an XML tree internaly. As new toolbars and menus are merged into the UI the model is updated, signals are emitted on nodes 'overridden', 'reinstated', 'removed'. The merging code is separated into bonobo-ui-xml.[ch]. As the trees are merged dirty bits are set on nodes that have been altered. After the merge this information is used to re-build those parts of the UI that need it. Currently there is no dtd for the xml, however the source is rather trivial, and there are plenty of examples in my test case bonobo/test-app. I will be writing one ASAP. The tree can be queried and manipulated via a CORBA API, in addition to this controls can be inserted into the API. * State of play The UI handler is rapidly moving towards a stage where we can feasibly do a switch to it from the old code. I am however writing a compatibility API since this shouldn't be too tough and will make the transition far easier and sweeter. I have tagged CVS with 'BEFORE_NEW_UI_HANDLER' but this is simply to enable me to do some more destructive pruning of unused features in the old UI handler.
Bonobo_PersistStream stream = some_moniker_fn ("file:/demo/a.jpeg", "IDL:Bonobo/PersistStream:1.0");But this is the trivial part of the file moniker; better still you can do:
Bonobo_Embeddable stream = some_moniker_fn ("file:/demo/a.jpeg", "IDL:Bonobo/Embeddable:1.0");And it will automagicaly find an embeddable to deal with the mime type of a.jpeg, activate it, get its PersistFile / PersistStream interface, create a stream and feed bits into it for you, before doing a QI on the object and returning a cute embeddable interface for you to embed easily.
if (0) return *(&_ORBIT_retval);grim heh.
MyCorbaStruct MyObject_MyMethod (MyObject *_obj, CORBA_Environment *ev);So, it looks like I just have to generate stubs for these evil cases, that is unless I can do some cunning ( non-portable ) stack hacking.
'* const' clean modules: glib, gtk+, gdk-pixbuf, pango, bonobo, glade, eog, Used in: gnumeric - 357 gnome-vfs - 33 only meta-keys ( seemingly added by Darin ) gnome-libs - 32 lots of argv ORBit - 14 misc. gnome-core - 13 mostly argv. libole2 - 3 an accident. beast - 3 guppi3 - 2 gnome-games - 2 gnome-print - 1as all right thinking people know, '* const' is ugly and should die.