<?xml version='1.0' encoding='iso-8859-1'?><?xml-stylesheet type='text/xsl' href='https://w3future.com/w3f/w3f.xsl' ?>
<html xmlns="http://www.w3.org/2002/06/xhtml2" xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xf="http://www.w3.org/2002/xforms/cr" xml:lang="en" xml:base="https://w3future.com/weblog/2003/04/index.txt">
<head>
<title>Sjoerd Visscher's weblog</title>
</head>
<body>
<section id="content">
	<h>Sjoerd Visscher's weblog</h>
	<p></p>
	<section id="note">
		<h>Last Update</h>
		<p>10/16/2005; 1:27:00 AM</p>
		<p id="alternates" class="buttons">
			<l href="https://w3future.com/weblog/2003/04/index.xml?notransform" rel="alternate" type="application/xml" title="See this web page with XHTML 2.0 technology."><span>Try</span> XHTML 2.0</l>
			<l href="view-source:https://w3future.com/weblog/2003/04/index.xml?notransform" title="View the XHTML 2.0 source of this page."><span>Src</span> XHTML 2.0</l>
			<l href="https://w3future.com/tools/xr.pl?xr=https://w3future.com/xr/w3f.xml&amp;xml=https://w3future.com/weblog/2003/04/index.xml%3Fnotransform" rel="meta" type="application/rdf+xml" title="RDF metadata"><span>RDF</span> Metadata</l>
		</p>
		<xi:include href="https://w3future.com/w3f/buttons.xml" />
	</section><section>
  <h><a href="https://w3future.com/weblog/2003/04/25.xml">Friday, April 25, 2003</a></h>
<a name="a221"></a>
<section id="a221">
<h id='londonHereICome'><a href="https://w3future.com/weblog/2003/04/25.xml#a221" class="weblogItemTitle">London, here I come!</a></h>
<p>I'm going to <a href="http://www.xmleurope.com">XML Europe</a>. This year it's held in London, and I've never been to London before, so I'm really looking forward to this. This conference seems to be for the big companies, so I'm curious what the geek level will be. Any other geeks going? If you are going, be sure to go to <a href="http://www.xmleurope.com/2003/wednesday.asp#28">the Xopus presentation by Laurens</a>. You'll be impressed!</p>
</section>
</section><section>
  <h><a href="https://w3future.com/weblog/2003/04/24.xml">Thursday, April 24, 2003</a></h>
<a name="a220"></a>
<section id="a220">
<h id='cssIsNotGoingToBeEasyAnyTimeSoon'><a href="https://w3future.com/weblog/2003/04/24.xml#a220" class="weblogItemTitle">CSS is not going to be easy any time soon</a></h>
<p><a href="http://scriptingnews.userland.com/2003/04/23#forgetTheFlamers">Dave Winer gets flamed a lot again.</a> In the past I've responded to other seemingly ignorant remarks from Dave too (though I tried to be constructive). But Dave had a very good point each time. As a programmer it's tough to face the truth that technology often fails, but Dave seems to be an exception.</p>
<p>Probably a lot of the flames are about <a href="http://blogs.law.harvard.edu/crimson1/2003/04/17#a44">the problems Dave has with CSS</a>. My first reaction was the programmer speaking: that HTML is not valid, it probably confuses Internet Explorer. However, Dave has used this style of HTML for a long time, and without CSS the browser is not confused.</p>
<p>CSS adds a layer of complexity to the browser. Plain HTML, no matter how invalid, is just a chain of commands to the browser, which is easy for the browser to render. CSS requires this HTML to be a nice tree, and each branch has a set of default style rules, which can conflict if your HTML isn't following the spec.</p>
<p>But with valid HTML and CSS everything should be relatively easy. But in practice this is not true either. At <a href="http://q42.nl">Q42</a> we regularly have problems getting the HTML and CSS to look the way we want, even though we consider ourselves to be intelligent and experienced HTML and CSS coders. <a href="http://wired.com/">Wired</a> and <a href="http://espn.go.com/main.html">ESPN</a> recently switched to CSS, but they are still considered pioneers among the large sites.</p>
<p>Even if all browsers support CSS level 3, there still will be problems. Mozilla uses CSS to create skins, but they needed to add a big list of extra properties to make it work. Especially -moz-flex is something that I would like to see implemented in browsers. It makes an element take up any remaining space, without reducing the surrounding element to the smallest size possible. In HTML you can do this easily with tables, putting <code>width="100%"</code> on a table cell.</p>
<p>Then there's the problem of the lack of tools. The current HTML editors build on the exprience from WYSIWYG DTP tools. But WYSIWYG isn't enough anymore. New editors have to created that help and educate users to create HTML that expresses the structure of what they want to write. The basics for CSS editing are there, but I'm wondering if new editors can provide good interfaces for the more advanced CSS features, instead of just letting you enter the values of every possible CSS property.</p>
</section>
</section><section>
  <h><a href="https://w3future.com/weblog/2003/04/12.xml">Saturday, April 12, 2003</a></h>
<a name="a219"></a>
<section id="a219">
<h id='theHundredyearLanguage'><a href="https://w3future.com/weblog/2003/04/12.xml#a219" class="weblogItemTitle">The Hundred-Year Language</a></h>
<p><a href="http://www.paulgraham.com/hundred.html">Paul Graham writes about the languages for over a 100 years.</a> I'm deeply tuning in here, because <a href="https://w3future.com/html/loell/">Loell</a> is my ideal language, and as I don't care about its speed, anything that's good for over a 100 years, should also be good for Loell. (Unless it takes too much effort to implement) I'll comment on Pauls article piece by piece.</p>
<blockquote><p>At any given time, you're probably happiest on the main branches of an evolutionary tree.</p></blockquote>
<p>I don't think this is true. A language should indeed be close to the main branche. But if it doesn't take some pragmatical sidesteps, the language would probably miss a few practical features.</p>
<blockquote><p>I think it's important not just that the axioms be well chosen, but that there be few of them. Mathematicians have always felt this way about axioms-- the fewer, the better-- and I think they're onto something.</p></blockquote>
<p>This is exactly the basic design principle of Loell. It's great that someone like Paul Graham refers to this. It has always annoyed me that language comparisons so often are about the available libraries. Instead, we should identify the axioms of each language, and see which are the most elegant. It is also important that these axioms are directly accessible to the programmer, and not tied to a particular part of the language. Otherwise programmers will still try to access that feature using tricks, which results in unmaintainable code.</p>
<blockquote><p>The right way to solve that problem, I think, is to separate the meaning of a program from the implementation details. Instead of having both lists and strings, have just lists, with some way to give the compiler optimization advice that will allow it to lay out strings as contiguous bytes if necessary.</p></blockquote>
<p>I don't even think there's a need to give the compiler advice. The programmer probably won't even know there is a compiler. I think languages will behave more and more like scripting languages. Optimisations will only happen through profiling. Complex mathematics may be an exception, but the slow pieces of code in everyday programming are the ones with many loops and a lot of data. These pieces of code are perfect for profiling.</p>
<blockquote><p>How far will this flattening of data structures go? I can think of possibilities that shock even me, with my conscientiously broadened mind. Will we get rid of arrays, for example? After all, they're just a subset of hash tables where the keys are vectors of integers.</p></blockquote>
<p>Get ready for a shock: Javascript already does this. Even worse: the integer keys are first converted to strings!</p>
<blockquote><p>Unlike physics in a hundred years, which is almost necessarily impossible to predict, I think it may be possible in principle to design a language now that would appeal to users in a hundred years.</p></blockquote>
<p>I'm not sure. I think one area of expertise is still missing: continuous data transformation. Something like XSL, but in such a way that the result changes automatically when the input changes, as in Excel. This will become more and more important. Historically programs are written to execute with existing data as input. But to be competitive on the internet, results need to be continuously updated while new input comes in. For example, you can sum live data by summing your input every time it changes. But this pseudo code would be much faster:</p>
<pre>
initial:      sum = 0
on add(v):    sum += v
on remove(v): sum -= v
</pre>
<p>I'm not even sure if i'd prefer to program this way, or if I'd just program summation for a collection, and let the compiler figure out the above code.</p>
</section>
</section><section>
  <h><a href="https://w3future.com/weblog/2003/04/09.xml">Wednesday, April 09, 2003</a></h>
<a name="a218"></a>
<section id="a218">
<h id='somePeopleNeedProof'><a href="https://w3future.com/weblog/2003/04/09.xml#a218" class="weblogItemTitle">Some people need proof!</a></h>
<p><object data="https://w3future.com/weblog/images/mailedimages/20030409t1846n2.jpg" class="picture">Some people need proof!</object></p>
</section><a name="a216"></a>
<section id="a216">
<h id='aboutTheP800'><a href="https://w3future.com/weblog/2003/04/09.xml#a216" class="weblogItemTitle">About the P800</a></h>
<p>I love the <a href="http://www.sonyericsson.com/P800/">P800</a>. It's loaded with cool features, and it's relatively easy to develop for it, so there's <a href="http://my-symbian.com/main/index4.php?cat=4">new software available</a> every day! It's the perfect combination of phone, PIM and (internet quality) camera.</p><p>I can now post pictures to this weblog. This goes as follows:</p><ul>
<li>I take a picture with the P800.</li>
<li>I mail this image as attachment to radio@w3future.com, with the description in the message body, with the P800 using GPRS.</li>
<li>Radio Userland checks the mail, and an adaption of <a href="http://radio.weblogs.com/0001161/2002/10/06.html">a script by David Davies</a> in <code>weblogData.callbakcs.weblogCheckMail</code> creates a post with an image. The text from the e-mail body becomes the alt text of the image.</li>
<li>Finally a script in <code>user.radio.callbacks.postItem</code> puts the alt text from the image in the title of the post.</li>
</ul>
</section>
</section><section>
  <h><a href="https://w3future.com/weblog/2003/04/08.xml">Tuesday, April 08, 2003</a></h>
<a name="a215"></a>
<section id="a215">
<h id='meAndMyP800'><a href="https://w3future.com/weblog/2003/04/08.xml#a215" class="weblogItemTitle">Me and my P800</a></h>
<p><object data="https://w3future.com/weblog/images/mailedimages/20030408t2355n2.jpg" class="picture">Me and my P800
</object></p>
</section>
</section><section>
  <h><a href="https://w3future.com/weblog/2003/04/04.xml">Friday, April 04, 2003</a></h>
<a name="a187"></a>
<section id="a187">
<h ></h>
<p>Posting with my new P800</p>
</section>
</section>
<xi:include href="https://w3future.com/tools/rdf.php?about=https://w3future.com/weblog/2003/04/index.txt" /></section>
<section id="navigation"><xi:include href="https://w3future.com/w3f/sections.xml" /></section>
<section id="sidebar"><xi:include href="https://w3future.com/weblog/sidebars/weblog.opml" /></section>
</body>
</html>