w3future.com

Sjoerd Visscher's weblog

Last Update

10/16/2005; 1:19:45 AM

Try XHTML 2.0
Src XHTML 2.0
RDF Metadata


Site Colors

Syn Atom 1.0
Syn RSS 0.91
Syn Subscribe

CC Licensed
Geo URL
With Radio

Thursday, January 31, 2002

Let's go into some more detail about what is the overhead in .NET web service example. The problem is that there's no good context for the code to run in. So every department of the compiler needs to know what this code is going to be used for. Let's see how many code could have been inferred when the compiler would know we're writing a webservice: "WebService", "using System.Web.Services", "WebService", "public", "[ WebMethod ]". Also the class definition is of no use, and could have been generated. (Just like Tomcat does for JSP pages) So I don't understand why .Net doesn't allow you to write:

<%@ WebService Namespace="urn:Hello" Language="C#" %>
public string sayHello(string name) {
    return "Hello " + name;
}

This would still give you all the functionality and power of SOAP and .Net. I can only think of one reason: Microsoft tries to make it so complex that you have to use their tools.

Read this article on Web Services interop. It's an eye-opener because they include sample code for a web service in .NET. Look at all the overhead. Did they really design an environment for web services? If so what are all those magic incantations about? [Scripting News]

Indeed. And I think most C-programmers think this example is actually very short, certainly for a webservice. But with scripting it can be as simple as this:

<?
function sayHello($name) {
	return "Hello $name";
}
?>

I save this as hello.lib in the right directory, et voila.

Dave and I are both having fun seeing how others say the comparison isn't fair. Oh sure, it really isn't. The .Net example only excepts strings. This example also does a good job on numbers and dates. And we don't have to learn new things, only that functions created in a special place automatically become webservices. It saves us time so we can keep our weblogs updated.

It might look very hard to write a "Hello world" routine in C#, Java or even Assembler and expose that as a Web Service. On the other hand, it might look very hard to write a Pascal-Compiler in UserTalk, PHP or Python and expose that as a Web Service. [A Practising Maniac at Work]

Christian Riege has a good point. However most webservices are more like a "Hello World" routine than like a compiler. (anyone up for a Java Compiler webservice?)

Wednesday, January 30, 2002

I'm slowly starting to understand what "semantics" means, how it works and how it could be used for the web. Semantics is defined as the study of the meaning of language. And language is defined as the means to convey or transport meaning. In programming terms this can be (freely) translated to: The encoding and decoding of information (meaning) into a string. So maybe it's not so surprising that programming seems to be largly actually performing those encoding and decoding steps. Every bit of information has to fit on Alan Turing's infinite tape, filled with ones and zeros.

The question that arises then is: How can a computer actually know anything? How can a computer ever "get it"? But of course we can also ask how a person can know something. We just don't know (yet), although those neurons probably have something to do with it. But here semantics research helps us out. Apparently we only need two principles: equivalence and relations.

Equivalence has two important effects. 1: once we've encountered some "thing", and we encounter it a second time, we know it's the same "thing". And 2: we don't confuse two different "things" for the same "thing". And relations allow us to express how these "things" are related, i.e. how one "thing" is something of another "thing".

That's all there is to it. And I think this is also the way it works in the brain. You don't actually know apples, but you only know their description; how they are related to concepts like color or size. So now that we know how to know, let's see how this works on the web. (Some other time...)

Tuesday, January 29, 2002

Have you noticed too that programming, and especially web programming, is more than 50% doing escaping and unescaping, encoding and decoding. Javascript enscaping, XML escaping, URL encoding, SQL statement escaping... It cannot be very hard to do something about that. But nevertheless things go wrong all the time.

According to the Register, Microsoft has a relational database on the front burner for a future version of Windows. Personally, I think they're barking up the wrong tree. If they spent more time building websites they'd know that hierarchical models with very tight scripting connections offer more performance and a higher level application model. Relational databases are good for factories and stores. Object databases map the model of the Web. Just change the slashes to dots and off you go. [Scripting News]

I think Microsoft knows that. They're building Exchange on the same database, and the filesystem. My guess is that the registry will be stored in it too. And of course SQL Server already supports XML (in some way). So the engine may be relational, but it won't be hard to store objects in it.

Saturday, January 26, 2002

Listen to Adam Curry on the air in 1977 or 1978.

Friday, January 25, 2002

The first bunch of problems seem to be solved. Now I have to convert older pages to the new skin.

The eventlog showed: "Notified Weblogs.Com that Sjoerd Visscher's weblog - w3future.com updated. And it said in response -- Thanks for the ping, however we can only accept one ping every five minutes. It's cool that you're updating so often, however, if I may be so bold as to offer some advice -- take a break, you'll enjoy life more."

Still some bugs to solve...

And this post is made to see if the xmlStorageSystem creates the archive file.

This test is to see if today's posts will show up in the weblog archive.

That worked! However, the macros that create the orange xml button and the coffee mug button, don't point to w3future.com. No, I'm wrong. They do point to w3future.com now.

This post should appear on w3future.com

Adam gets a radio show. And guess what, we're going to integrate his show with our Radio show. This is so cool. The Netherlands is leading the way. [Scripting News]

Yes, we (the Dutch) always do... No, really! And of course I'm going to listen.

hmm. it works. weird.

trying out 8.0.2 again.

Hmmm. 8.0.2 crashes when upstreaming. 8.0.1 does not. Investigating...

Testing the mug!

Testing w3future.com's xmlStorageSystem

and another one

another test

Testing Manila publishing.

It works! Great.

Does storing the colors work now? Let's test!

I've created a color editor to make it easier to find different colors for my website. It doesn't save anything yet, and I don't know what to do with the logo.

Testing...

The sidebar on the left is now generated from an OPML file:

The script then generates this piece of javascript code:

weblogSidebar={
  'What I read':[
    {style:'button2', content:'Jake's Brainpan',
      gonew:'http://jake.editthispage.com/'}
    ,{style:'button2', content:'Joel on Software',
      gonew:'http://joel.editthispage.com/'}
    ,{style:'button2', content:'Lambda the Ultimate',
      gonew:'http://lambda.weblogs.com/'}
    ,{style:'button2', content:'markpasc_blog',
      gonew:'http://markpasc.org/blog/'}
    ,{style:'button2', content:'owrede_log',
      gonew:'http://owrede.khm.de/'}
    ,{style:'button2', content:'Scripting News',
      gonew:'http://www.scripting.com/'}
    ,{style:'button2', content:'XMLHack',
      gonew:'http://www.xmlhack.com/'}
    ,{style:'button2', content:'<b>All sources</b>',
      gonew:'http://w3future.com/html/weblogsources.html'}
  ]
  ,'Friends/Family':[
    {style:'button2', content:'Joeri',
      gonew:'http://joeri.mulder.com/'}
    ,{style:'button2', content:'Marco',
      gonew:'http://www.maggerydoo.net/'}
    ,{style:'button2', content:'Jelle',
      gonew:'http://uitdeschaduw.blogspot.com/'}
    ,{style:'button2', content:'Q42',
      gonew:'http://www.q42.nl/'}
  ]
};

The template contains a script that creates the buttons from the data. I named the opmlfile #sidebar.opml. The # means that files in subdirectories can have their own sidebar links, but they default to the one from the parent directory.

Testing categories. Let's start with checking all of them.

Is there a problem with the Userland staticSiteStats server? Every radio.weblogs.com page I go to, and even scripting.com, leaves the browser status bar saying: "(1 item remaining) Download picture http://subhonker6.userland.com/staticSiteStats/count.gif?...."

The new Radio Feed Top-100 has much higher numbers than the old list has ever had. I'm in it too. Higher than Joel on Software. That can't be right. Oh, wait, it's the old RSS URL. For all the Joel fans, it's here: http://www.joelonsoftware.com/rss.xml. (Joel should read this.)

Alan A. Reiter complains that it's too complicated in RU to change the template for a non-programmer. He's right, I guess. (I'm not a non-programmer). But RU is improving, and I wouldn't be surprised if the next version of RU would indeed have easier template images support and a better navigator links interface. (XML *is* too complicated for something as simple as that.)

OK, what's the number one glaring hole in Radio 8 (aside from the bugs and glitches, which we're working on after spending much of the weekend overloading on excitement and sleeping)? It doesn't connect to Manila. It will. I'm working on a Tool that mirrors your posts to Manila sites. I have it working here. Now here's a heads-up to developers of other centralized blogging tools like Manila. We're using the Blogger API. That means it will also work with Blogger, naturally, and any other centralized blogging tool that supports the API. [Scripting News]

This is really cool. Dave, if I may, can I beta test this, please?

HTML can look so weird when you forget a quote. ;-)

Google has already scanned radio.weblogs.com.

Trying out the calendar. There are classes. Nice. I hope this is going to be standard practice at Userland. Kill the font tag!

Dan Gillmor: Google effect reduces need for many domains. [Scripting News]

Dan says that you don't need short easy to guess domainnames anymore. But it´s still smart to have an easy to remember URL once you've found it. (Or just provide an RSS file of course)

Small template update.

I'm still not sure how to get the archives into the database on w3future.com without the post to Manila feature. The #upstream.xml doesn't seem to support more than 1 upstream location.

Post to force a republish. Again.

A remote post. No problem.

OK, the referer problem solved. Again within 10 minutes. Great support!

What do the Referes and Page-Reads count? Dave pointed to my radio.weblogs.com page, but that doesn't show up in my referers list.

Where did the "update now" feature of the news aggregator go?

One feature request resolved: I wanted the system pages to have the default theme, but all the other pages my w3future theme. It was as easy as putting the #template.txt file from the default theme into the www/system/pages dir. One strange thing though: the maintemplate pref shows the default theme, not my w3future theme.

I've been checking out Radio Userland since I woke up. I was planning to go to my parents today, but that'll have to wait.

I've all kinds of feature requests for RU8. That's not a good sign for programs, but a good sign for a platform, which is what RU8 is. It initiates new ideas.

One tip for the Userland programmers: remove all <font> stuff from the code and add class attributes. It makes changing the templates so much easier. (f.e. the adminMenu code)

Hmmm. RU 8.0 adds <P> elements in templates with empty lines. I do that to make the source a bit more readable... (Maybe it's a pref, haven't seen them all yet)

Template updated.

Time to take a look at all the prefs. (what a list! I love prefs)

Upstreaming didn't work, but it was fixed very quickly.

...in 1 minute 52 seconds, and it can be done faster I'm sure!

First post!