MrBlog

2003 Archive

Nov 15

Will the Ebay2RSS Feed help me to get the best prices on the expensive electronics i would like to buy?

I hate shopping for lowest prices. Once i decide what i want to buy, it must be available near me, with good service and i don’t want to wait.

Unfortunately my wishes do not correspond to the size of my wallet, so to make them fit you dig and dig the internet to get good bargains for stuff.

This used to take a lot of time. Being able to construct an RSS feed from online auctions (eBay in this example) It should be a matter of minutes to check whether there is an item in the search i want to bid on, or not

My hopes aren’t that high set, but i tried it out anyway. (Searching for a digital SLR camera body below a $1000,-)

Oct 29

Some hours ago my changeset number 1000 went into the xaraya repository.

As you can see in the comments, it’s not a good one, basically cleaning up some mess i made earlier that day.

Nevertheless, it’s there

Oct 21

Using a script from Bryan O’Sullivans bitkeeper repository we integrated the bitkeeper repositories for Xaraya with our bugzilla installation. The script is used as a trigger everytime changes are committed to the main repositories on the server and scans the changeset comments for text fragments mentioning bugs.

When it finds those fragments, the following happens:

  • the change committed is attached as a patch to the bug; (this patch can in most cases be applied to source trees out there, while maintaining upgradeability)
  • a comment is entered for the bug, summarizing what happened;
  • links are created in the comment to view the path in the bitkeeper web interface;
  • bugzilla mails the relevant parties as usual.

This script is smart enough, not to enter the same information on the same bug and changeset twice which, if you know how bitkeeper works, is not uncommon if you have multiple repositories. As always, on deploying something new, you always start to think immediately about features which you could add (example: scanning for fixed  or fix  and setting the state of the bug accordingly).

During the period of  little over a year, we’ve built ourselves an infrastructure which is still growing and is literally improved upon everyday. Some elements of it:

  • automatic updates of mirror repositories;
  • fully integrated patch system;
  • custom command system, defining new commands in the repository which propagate to all developer repositories;
  • funny stats output;
  • getting information on RFC status;
  • integrated build system based on phing;
  • integrated source documentation generator based on phpdoc;
  • repository web interface as module of xaraya;
  • adding comments to files which propagate across repositories;
  • integrated unit test system;
  • semi-automatic archiving of old files in the repositories;
  • possibility to test for compliance with coding standards on every commit automatically;

With hindsight, a rather long list of tools, mainly created for fun. Some are used extensively, others are only used by myself.

Oct 19

Worked a bit on the  blog by email stuff. Sanitized the script a bit. The posting should now be a bit more clean as the backend now only includes stuff between the body tags of the received html. Nowhere near rock-solid, but useable nevertheless.

Just for the technically inclined, this is the regexp used to extract the blog entry from the html:

!<body[^>]*>(.*?)</body>!

Next step, getting some regular expression which makes sense to extract excerpt and extended entry (if any) out of there. Thinking about using <hr /> as a separator; it just looks natural when composing the entry. Dunno.

Oct 17

As mentioned earlier i like to treat weblogs as much as possible as a messaging activity. Not because i like messaging so much, but it has become the major activity in working the internet for me; communicating through news and mail. I find blogging interesting, but the threshold was always a bit high.

Especially blogging on linux seems a tab bit less friendly than the excellent clients available for windows, and those didn’t fit my pattern. What I did was basically the following:

  1. searched the net for email gateways to MT (found 3)
  2. literally threw the three files into one perl script ( they all had something i needed)
  3. reorganized and made it fit to be a baseline for me.
So, phase 1 is complete, i can post in html with my email client to my blog (through a special email-address linked to it), selecting multiple categories.(by specifying them in a X-Categories custom mail header). Attachments to the email are automatically placed in the right location.

Outstanding issues:
  1. a bit better extracting of the message (i left this posting as it is generated, definitely not what you want for all postings, look at the source of this page!)
  2. keywords, excerpt and extended entry support
  3. being able to comment through the same mechanism
  4. get the stylesheet of the blog as a template in the email composer (well, maybe not)
  5. Editting of posts
  6. specifying sites to ping
Oct 12

As I’m working on several different computers at different locations, with at least two different operating systems, it’s sometimes hard to maintain the status of all the message types you need to follow these days.

Mail, nntp, rss and websites all boil down to messages for me in some form, so I would like to treat them that way. It’s not easy to have all places you work behind a computer synced up. I got one step further tho with the help of nntp//rss

For mail only, my problem has been solved a while ago. Using the Cyrus mail server, i can access my mail from basically anywhere, maintaining status across locations and computers.

For newsgroups, the solution is basically the same, using shared folders in Cyrus as newsgroups and the ‘seen’status of the newsgroups is maintained as well. At this point, the complexity starts. I read newsgroups from different news-servers and chances are about 100% they are NOT Cyrus shared folders.

So, to be able to maintain status, I have to install a ‘proxy’news server which gathers the newsgroups from the different servers and then let the Cyrus server sync with that proxy news server. I’m not sure how posting to those newsgroups would work in this case, but i guess that is manageable by creating accounts in a clever way.

Now, for RSS-feeds i used to have a separate reader and couldn’t figure out why that was needed. I fed ‘rss to nntp’ into google and after some searching i found a couple of RSS to NNTP and RSS to IMAP gateways.

Installing nntp//rss was easy enough. It creates a newsgroup for every channel and behaves like a news-server for them, so you can read RSS feeds through your newsreader.

At this point i read mail, news and rss feeds all with the same program (in my case mozilla), the ‘seen’state is only maintained for mail, but at least the RSS subscriptions are all in one place, instead of on all the computers i work on.

For posting, nntp//rss allows you to define the defined newsgroups as ‘writeable’and link a blog to it using the blogger API or metaWebLog. Although pretty unstable and not quite useable yet, i really like the idea, especially if replying to a ‘newsgroup’message would show up as a comment on the linked weblog

In conclusion, integration is possible for me, because i run my own servers. The amount of work and the expertise needed to do it is, as of now, far too high for this to become mainstream.

Oct 12

Spent the most part of this day getting http links in thunderbird to open in firebird. Still not succeeding. This is pathetic, i’m pretty sure my local configuration is not broken. I’m NOT a linux newbie and can’t get it to work.

There’s no option to configure it, the system wide configuration in gnome is at least confusing, and no obvious way to debug it. On a related issue; had to install the MozEx extension and write a custom shell script to get mailto links to open the compose window in thunderbird when clicked on in firebird.

What are these people expecting from me?

Jul 15

Gregor J. Rothfuss :: Imagination is key to your dreams coming true: quines, mutating code and virtual life

Kinda funny. I used quines all the time when i wanted to learn a new programming language during college. I thought it was extinct (except Douglas H. of course but he’s a dinosaur anyway )

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.

Mar 30

Last week i got myself a 17″ Apple Powerbook. I’ve been wanting to check both hardware and OS X out for a long time. The combo of a Free BSD like core and the interface reputation of Apple seemed like an attractive combination.

Not sure if it is yet, but so far I haven’t been able to concentrate much on work ;-). Two things which stand out:

  1. There is much more to play out there than is healthy for a person
  2. I completely underestimated the way you set your machine to your hands to work efficiently, i feel completely disabled using the new machine.

Let’s see if that changes over the next few weeks.