MrBlog

ideas Archive

Nov 10

Let’s try to create a chain of documents like the one John did in Xaraya 2.0 Brainstorming. After a while the common denominators should float to the surface by looking at the whole chain.

I tend to view at an application development process like this:

  1. make it work
  2. make it right
  3. make it nice
  4. make if fast

For Xaraya, the 1.0 release signals to me we’ve been able to make it work. Now, let’s try to make it right. Some ideas on how follow.

May 17

Gentoo’s Portage to be ported to Windows Services for UNIX:

A group of Windows programmers is working on porting Gentoo’s Portage over to Windows SFU. If you don’t know already, Windows Services for UNIX is a full POSIX subsystem for Windows, enabling it to compile and run almost any software that will compile on BSD, Solaris, HP/UX, and Linux. Details to “emerge” soon.

That sounds a lot like a post i made earlier

Dec 07

As more and more open source software runs well on windows (something which has not always been that way to my great frustration), becomes more cross platform (e.g. xchat, sodipodi, gaim, openoffice ), i found myself needing an apt-get equivalent on windows.

Usually windows versions of OSS are either file archives to be dumped into their install directory, or wrapped in a (big) windows installer. I searched for a windows version for apt-get, but got not much to work with / from.

I wonder why, can’t be that difficult. Shame i have no credit left on my time account.

May 30

Distributed and peer 2 peer systems  seem to have found it’s way into several applications:

  • instant messaging (icq, jabber, msn etc.)
  • source control (bitkeeper)
  • file and content sharing (kazaa and the likes)
  • personal content (weblogs)
  • connectivity (wifi grids)

It is my belief that this trend is more general than in computing only. By its character the principles of distributed production and p2p delivery are just easier to implement in information technology than in other areas. The area in which the principle will have the most impact in the next decades is distributed energy management.

We will, most likely based on a combination of solar/wind energy and fuel cells, produce our energy needs in a distributed manner, delivering surplus energy to micro-grids in our neighborhood which in turn delivers to the macro-grids in our town.

The same advantages which hold in computing are also valid in energy production:

  • localisation: create energy based on where it is needed, not at the place we have the largest factory;
  • reliability: the effect of a failure is only affecting a small area, not a whole city, like last summer in the US
  • choice: if i have a surplus of energy i can deliver it peer-to-peer to someone of my choice;
  • customization: energy needs for everyone are different, smaller energy plants controlled by the users, not the producers;

Now that fuel-cells will start to appear in notebooks and cellphones the process has started; we’re still at the mainframe stage though, but the general outline of the things to come isn’t hard to imagine.  Each change in type of energy and type of communication has caused radical changes in the past, i fully expect this one to do the same

By its character the principles of distributed production and p2p delivery are just easier to implement in information technology than in other areas…. We will, most likely based on a combination of solar/wind energy and fuel cells, produce our energy needs in a distributed manner, delivering surplus energy to micro-grids in our neighborhood which in turn delivers to the macro-grids in our town. customization: energy needs for everyone are different, smaller energy plants controlled by the users, not the producers; Now that fuel-cells will start to appear in notebooks and cellphones the process has started; we’re still at the mainframe stage though, but the general outline of the things to come isn’t hard to imagine.

Apr 06

I experimented a little with PHP-GTK yesterday. I have massive amounts of PHP-libraries lying around and didn’t want to switch to another language for using those libraries in other applications than pure web.

The combo of PHP and GTK makes up for a reasonable alternative (for java for example) for platform independent applications. Especially if combined with libglade. Glade is a tool which is used to build graphical interfaces and store this in a XML format. PHP-GTK is able to read those XML-files and dynamically build the interface. This way, the interface is separated nicely from the code and can be changed without changing the code. :-))

Example:

<?xml version="1.0"?>
<GTK-Interface>
<widget>
<class>GtkWindow</class>
<name>windowMain</name>
<width>150</width>
<height>80</height>
<title>PHP-GTK-Glade for world domination</title>
<type>GTK_WINDOW_TOPLEVEL</type>
<position>GTK_WIN_POS_NONE</position>
<modal>False</modal>
<allow_shrink>False</allow_shrink>
<allow_grow>True</allow_grow>
<auto_shrink>False</auto_shrink>
<widget>
<class>GtkButton</class>
<name>button</name>
<can_focus>True</can_focus>
<signal>
<name>clicked</name>
<handler>on_button_clicked</handler>
</signal>
<label>Exit</label>
<relief>GTK_RELIEF_NORMAL</relief>
</widget></widget></GTK-Interface>

And the code:

function on_button_clicked() {
echo "Clickedn";
}$gx = &new GladeXML('interface.glade');
$gx->signal_autoconnect();

This creates a window with a button on it and connects the clicked signal to the function on_button_clicked. With minimal effort this application can be deployed on any platform which supports PHP and GTK. (someone else may figure out how many, but lots).

Because the glade interface is in XML this can be deployed locally or remotely at will. For PHP we know that it can run both locally and on the server. This combined opens up some interesting possibilities. We now can deploy interface and code both locally and remotely.

The usual goodies which relate to XML are of course applicable to glade, like for example XSLT transformations on the interface file (for example filtering out interface elements which have no usefull meaning due to privilege restrictions).

The combo opens up interesting options for bringing desktop applications and web applications closer together. The whole suite reminds one of techniques used in XUL applications and of Java deployment strategies. I gather if we could hook up this combo to an object broker service like Corba and a PHP compiler we’d have a very powerfull platform.

It certainly warrants further investigation.

Feb 24

xmlhack: Expressing mixed content in RELAX NG versus WXS [link]

This is a nice reference. We are experimenting with expressing the blocklayout language in RNG, exactly because the XSD stuff is just plain unreadable. The RelaxMeter test for ambiguity is especially interesting for checking a solution specified in RNG.