This topic seems to have resurfaced now that
Joi is putting this in his feeds and there even is a
howto...
like
Shelley and others, I've yet to be convinced that syndicating
CSS is appropriate, but on a purely technical level, here's a few
comments:
- Richard's howto gives a different recommendation for how to
encode this data inside a content:encoded element for RSS 1.0 and
RSS 2.0. Given the way that most aggregators deal with
versions and RSS, I don't think that this is appropriate. The
recommendation given for RSS 1.0 is the correct one. I note
that Joi has followed the RSS 1.0 recommendation for both his 1.0
and 2.0 feeds.
- The Atom recommendation is incomplete: whether the data needs
to be escaped or not would depend on the value of the
mode parameter.
- Aggregators that combine content from multiple feeds into a
single page (examples:
Radio
Userland and
Aggie) will find it
quite difficult to handle item level CSS properly - and by default,
they will do the wrong thing. Note that by default, the Radio
Userland aggregator will ignore content:encoded, so this is less of
a problem.
- SharpReader displays
the link tag that is present in Joi's feed verbatim instead of
interpreting it as markup.
- RSSBandit seems to strip
this tag entirely.
Overall my recommendation is to not to try to tunnel this
information inside the content, but to place it outside the content
(either at the item or the feed level). This would make it
easier for aggregators to identify that a stylesheet is
desired and to take the appropriate action.
In Atom's case, the recommendation would be to simply place the
link tag at either the feed or specific entry level.
In RSS, I would also make a similar recommendation, perhaps
adopting the xhtml namespace.
Sjoerd and
Tim put forward compelling arguments that the cost/benefit of
the mode attribute isn't justified.
This allows for a simple heuristic: if the type is xml, the
content is simply placed inline
(xsd:any).
Otherwise, if the type is text, the content is a string
(xsd:string)
- this implying escaping of characters like "&" and "<", and
effectively requiring double escaping of html.
Otherwise, the content is treated as binary
(xsd:base64Binary).
Agree? Disagree? Leave your comments on the
atom-syntax
mailing list.
I've written a small C# app to use the WSDL
that Randy has been writing/coordinating. A few small changes
to the WSDL were required to get this to a clean compile (try
compiling the app with the original WSDL to see what was needed,
then try this one). On top of that, a bit more changes were
required to get it to produce a recognizable request. The
latter changes are the subject of this blog entry.
...
Sebastien
Paquet: what happens when everyone is empowered to
create open channels where any blogger can contribute
content?
Ridiculously easy group forming
This panel
offers perspectives on group forming and information sharing via
the latest social software tools. The panel will include
Pete Kaminski,
Jon Lebkowsky,
Sam Ruby,
David Sifry, and
Adam Weinroth.
Back home from the
XML conference,
and I still can't get over how many
giants in the XML field that I was able to meet in the past
week.
slides
While a security hole in IE gets
Slashdot coverage, its seems that this particular security hole
can affect not only IE, but also Mozilla 1.5.
Demonstration:
not
yahoo
Robert
Scoble: Design work ahead tonight. Bear with the ugliness
for a while.
In Mozilla, I can't even click on the comment link on this blog
entry. Recommendation: the
validator is your friend. For starters, it is <div
class="comment">, not <div
id="comment">.
Adam
Bosworth: SOA relies on people understanding that what
matters is the wire format they receive/return, not their
code.
+1, with a
caveat.
I'm looking forward to Adam's
keynote
tomorrow.
Roy
Fielding: Getting two components to communicate is a
trivial process that can be accomplished using any number of
toolkits (including the libwww ones).
It is fun seeing one of the primary authors of the
HTTP spec
lecture one of the
original designers of a key portion of what is the dominant web
browser on the internet as to what exactly is and what exactly is
not trivial.
...
I didn't see a backchannel, so I created one:
irc://irc.freenode.net/xmlconf.
Perhaps we can use IRC to broker some meetups?
Update: Edd has been keeping a running and logged commentary on
#rdfig
Overall, I was very impressed by the
participants.
I've been in similar meetings in the past where what I found was
people who were in deep denial and were seeking other people to
reassure them. In this meeting, I found a completely
different set of people: ones who are trying to keep on top of the
current trends so that they can make informed decisions.
Here is a random set of notes:
...
Adam
Bosworth: I admit to not being a REST expert and the people
commenting, Mike Dierkin and Mark Baker in particular, certainly
are. They tell me I'm all wet about the REST issues. I'll dig into
it. But I admit, I don't get it. I need to be educated.
I personally think that the place to start is to first tease
apart the "HTTP is the one true protocol" from the "REST is the one
true architecture", and then initially focus on the latter.
Once done, you may come back to believe in one or both of these,
but they can be addressed independently.
...
[link]
Mark Baker: Today, Roy Fielding ripped me a new one on the
topic of the https URI scheme, which I had always considered an
unnecessary hack.
It seems that Mark now knows a bit more about the rationale
behind the https URI scheme, but doesn't quite grasp the
colloquialism.
Trust me, if you've ever witnessed Roy ripping someone a new
one, you will know it.
Me? I've only gotten a mild swat or two...
Yesterday, an Aptiva that I bought for the
kids started to make a rather ominous sound. Kinda like the
sound a car with a low battery that won't start would make, but a
bit slower.
...
Sean McGrath: A big Amen Brother to this
piece by Werner Vogels.
Randy
Charles Morin: Atom is dragging out. Rss is not moving.
Sigh.
I could not have said it better myself.
...
Dave Johnson: Curses, foiled again!
Carlos has uncovered my secret plan to embezzle huge amounts of
bogus wuffie.
Dave
Kunkel: We expect that some attendees will be blogging the
conference, and would like to point people at those blogs. If you
expect to be attending
the conference,
and to be talking about it in your blog, please email Dave Kunkel
to have your name and blog listed on
this
page.
Don Box: The fact that Longhorn currently has three models
for property extensibility instead of one is an accident of
history. Whether or not there is enough common functionality and
model here to do unification is still an open question.
If you look at
JScript.Net, you will find a
fourth one. And a compelling motivation for
unification.
...
I discovered a css property I was previously unaware of:
overflow.
This enables me to address a pesky little problem whereby the
center column encroaches on the rightmost column when the data is
too wide. If your browser supports this css property, try
shrinking the width of the brower window when viewing
these entries.
This is the one where Chris Sell's XAML
example triggers two completely different trains of thought
...
Robert
C. Martin: As debuggers have grown in power and capability,
they have become more and more harmful to the process of software
development.
Mark
Pilgrim: All hierarchies, directories, and schemas are
necessarily biased by the worldview of the person creating them,
and mine is no exception.
As my server runs RedHat 7.3, it seemed time
for an upgrade. But before I did, I thought I'd explore
Debian - on a test machine.
...
Ssshh... don't tell anyone, but IBM has
job openings...
Doug
Daulton: I'd heard nothing negative about anyone, but past
experience tells me anytime you get a group this size together, you
are bound to shake out a sphincter or three. None here, I am happy
to report.
All in all, ApacheCon is not the place where epic battles
happen. Instead it is a place of pure Stigmergy. This
is the way I like it.
...
Many people have been doing this for a while, but as a public
service announcement for those who may not have thought to do
this:
A site can set up a
robots.txt
file which tells robots (which includes
Google)
to not index a particular file or directory.
Here's
mine. It
is pretty easy to do.
Will it stop referrer spam? No. Many spammers are
quite satisfied with fractional percent return on investment.
But it allows you to opt out.
Yesterday,
Doug
Tidwell was not able to make it to ApacheCon, so I filled in
his slot. He was scheduled to reprise his
Building
a Web service from SOAP to Nuts presentation from last
year. I got a PDF copy of his slides from last year (all 134
of them!), but this lost his animations (example: some slides were
nigh unreadable as they had a red "Bad Idea" overlayed over the
text). So, instead I substituted a
tutorial
that I had prepared for the
ETCON earlier this year.
Adam Gessaman: It appears that these sites, using a clean little
weblog as a front, are hosting a large amount of porn.
Wow. To me, it looks like a lot of effort for so little
gain, but clearly I am missing something. But it any case,
the comments on idly's blog entry are worth reading, as is the
update
(scroll down to see it) to Mark Pilgrim's blog entry on spam.
Dare Obasanjo: The biggest gripe when Office 2003's XML
support was announced was that the schemas for WordprocessingML
(aka WordML) and co. were proprietary. This was reported in a
number of fora including
Slashdot and
C|Net
news. I wonder how many will carry the announcements that these
schemas are available for all to peruse and reuse in a royalty free
manner?
Did I link to one of these?
Yup. OK, so I will link link to the
announcement. Done.
Note: in my blog entry I didn't "gripe" about the schemas
for WordML, my question related to PowerPoint11.
I've implemented a throttle on comments to
prevent runaway spammers.
...
Les
Orchard: I see that Mark Pilgrim has posted a picture of
himself as a kid, working at an Apple //e. Based on what I wrote
this past Summer about being Newly Digital in 1983, I would guess
that around the same time I was working on a Commodore 64, and I
would have teased him in a relentlessly geeky way about his clearly
inferior machine.
Bah. In 1983, I was working on a
3033. (16 MB RAM, 4.7
MIPs).
Of course, this probably could have been replaced with a
Palm Pilot Tungsten W...
Les
Orchard: A-List bloggers have the big Whuffie. Most
everyone else has much less Whuffie, thus their query powers are
much less. I somehow doubt that the Whuffie Web, if it were to take
off in a big way, would work to equal benefit for
everyone.
It is nice to see Rob
Relyea
responding
to my Avalon question. And to see
Mike Deem
back in the
blogosphere and
responding
respectfully to
Joe Gregorio's rant. And
John Lam
categorizing the
Ant
community
reaction to MSBuild.
What I believe we are seeing is domain experts seeking each
other out. Crossing organizational and philosophical
boundaries.
It's not so much a matter of
Technorati rankings as it is
relevant domain expertise.
Let's assume for a moment, that XAML is HTML "done right" for
rich clients (suspend disbelief if you have to). It
apparently has
SVG like elements, if nothing else. It doesn't have CSS,
but apparently there are
other ways of solving similar problems being proposed.
Apparently, one can
embed small amounts of code in the markup. Unquestionably
controversial, but often handy. This corresponds roughly to
the role that JavaScript plays in HTML... or does it?
What about
Dynamic HTML? Namely the ability to modify the rendering
and content of the document on the fly? Isn't that lost by a
compile to bytecode approach?
Links are unquestionably the greatest source
for semantic data within weblogs. But what does RSS 1.0 (an
application of RDF) do with that data?
...
Don Box: Today, the data needed to initialize an object
graph is hidden behind imperative statements in your programming
language of choice. That makes it difficult to tease out of the
rest of your program without weird markers in the source code to
delimit the structure of your code into recognizable
pieces.
My previous post on this subject had more to it, but I chickened
out and didn't post it. What the heck, I could be wrong,
but... here's essentially what I said.
...
Clay
Shirky: it turns out that people can share data without
having to share a worldview, so we got the meta-data without
needing the ontology
Two parts brilliance, one part
strawman. Pity, actually, as I am sympathetic with the
point that Clay is trying to make.
Don creates not
one, but
two versions of "Hello World" in XAML. The delicious
fragrance of epic battles is in the air.
Ken
MacLeod: Review data has permanence, it has
linkability, it has searchability, it has
reusability — why is it locked in a syndication feed
for use pretty much only by syndication clients?
Joshua Allen: Do you view your system as being one big
chunk of RAM, or one big CPU?
Don Box: XAML is just an XML-based way to wire up CLR types
no more no less... XAML is domain-neutral, so while it may be
used to create desktop apps, web pages, and printable documents, it
could also be used to create CRM apps, blogging backends, or highly
concurrent web services provided you had a supporting CLR-based
library to do the heavy lifting.
I guess that clears that up.
Joe
Gregorio: All of the discovery uses a link tag. The link
tag from HTML will be used in (X)HTML, and the same tag will be
used in the Atom format, with the restriction the value of the rel
attribute is case sensitive.
This makes the definition of the
link tag consistent with
(X)HTML,
and introduces a number of pre-existing
link
types. I could see the benefit of using this at either
the feed or entry level.
Elizabeth Lane Lawley: Beyond Blogging
An excellent look at the entire ecosystem of blogging as opposed
to the rampant explorations of specific microcosms. [Via
The
Shifted Librarian]
One thing that is missing from the discussion is referrer
logs.
Ted
Leung: I'm very pleased to announce that I've accepted a
position with the Open
Source Applications Foundation (OSAF), where my primary job
responsibility will be working on the Chandler repository,
particularly as it relates to querying.
Sweet!
Matt
Powell: Sam is very popular but has left the world of Web
services as we know it. (Dropping)
Suggestion for a replacement:
Dave
Chappell

Dave Winer noted some
23 new
feeds from ABC news. What is particularly interesting
about these feeds is that they are marked as RSS 0.93, complete
with a DTD copyright Walt Disney Internet Group. The DOCTYPE
also indicates this ownership. The version number is repeated
in the URL itself.
The channel on these feeds don't have a description (despite
being required by the DTD). Pubdates seem to be in a
compressed form of the
ISO 8601
format. Links are expressed as CDATA (which is OK), but
some of the links have an extraneous double quote character at the
end of the URL (which is not).
I've since added some code to verify that each
of the pages in the cache of pages served in the past 24 hours are
well formed and valid XHTML. This uncovered an interesting
boundary case that I hadn't considered.
...
Microsoft
inhaled a
blogger. Now it looks like he is attempting to
resurface...
I tried some
minimal css
on an
experimental
Atom feed and the results started to look promising - on
Mozilla. View source to see how it was done.
I then brought up the same page under IE, and it looks like IE
didn't support a number of CSS features. Worse, it seems to
be stripping and/or interpreting escaped markup. Finally,
view source is not available.
Poking around to see if there were any workarounds, I came
across
this
article by Tim Bray from 3.5 years ago...
Sigh.
I've kicked off what I intend to be a series of discussions leading
up to the creation of a validation test suite for Atom implementors
with the following question on the
atom-syntax
mailing list:
Is content required on a POST?
Evan
Goer: intertwingly.net is now on the
X-Philes
list. (I should note that X-Phile sites that allow comments
with markup are quite rare. Congratulations, Sam.)
I find it a bit humorous that the
X-Philes site
itself is HTML 4.01.
Also note that Evan's latest
blog
entry has a title that will cause a number of feed aggregators
fits.
Erik Meijer: For example given a bibliography of books,
bib, we can select all books whose publisher is Addison-Wesley that
are published after 1991 by the following filter
expression.
book* AWbooks =
bib.book[it.publisher == "Addison-Wesley" &&
it.year > 1991];
Sweet! Note the use of * to denote sequence, and the
implicit it variable. There also are
embedded expressions and
apply-to-all.
Missing, or incompletely described at this point, are
namespaces and
mixed content.
[via
Dare Obasanjo]
The
'border-radius' properties
I'll giving a presentation entitled
Atom
in Depth on Friday, December 12th at the
2003 XML
Conference in Philadelphia.
Robin
Cover: The key insights are these: design Atom such that
content is not treated as a second class citizen; insist upon a
uniform mechanism for expressing the core concepts independent of
the usage; keep the format open and simple.
At the 2004 O'Reilly Emerging
Technology Conference, Ken Macleod (a.k.a.
bitsko) and myself will be
presenting our thoughts on the usage of the Wiki and
alternative technologies in the development of Pie Echo
Atom.
This should be a highly interactive session, with lots of
audience participation.
With the recent
upspike in
interest in
Atom
for Wikis, I just thought I would jot down a few thoughts on
the subject
...
I've added
ScriptingNews2
and OPML
versions of my feeds. If anybody has any interesting
applications of these feeds, please let me know.
Simon
Willison: This morning, I finally decided to
install
libxml2 and see what
all the
fuss was about, in particular with respect to XPath. What
followed is best described as an enlightening experience.
This is a test blog entry. Comments on this blog entry won't
appear in the various feeds.
I now have a
nightly
job which verifies that each of my Atom feeds are well formed
xml, none of the content needs to be escaped, and all my cached
queries are correct.
Jon Udell: A GUI that doesn't embrace linking can never be
truly rich.
News and Observer: a new University of Florida study
concludes that short people may be shortchanged in salary, status
and respect when compared to taller counterparts.
Danny
Ayers: Of course if Atom was expressed in an RDF-friendly
syntax* then FOAF and every other RDF language could be used
directly in Atom without having to jump through hoops.
Danny, a few questions. For the basis of my questions,
presume a comparison against
RSS 1.0, which
unquestionably is an RDF friendly vocabulary.
- I embedded FOAF inside of my feed. Wouldn't the syntax
for embedding FOAF inside of dc:creator be pretty much the
same? In other words, wouldn't it be the same amount of
"hoops", or lack thereof?
- To me, the killer app of metadata is query. If I were to
switch from atom:name to foaf:name, people would have to update
their XPath
queries in order to access the data in its new place. How
would RQL handle
this? Wouldn't they also have to update their
queries?
To me, this gets at the heart of the value proposition for
RDF. What I hear is that it essentially provides
extensibility for free. I'd just like to see this promise
expressed in tangible terms.
A quick prototype exploring the embedding of
FOAF data into Atom.
...
Now that I am back home and rested, it is time to share an
amusing story... as
Randy noticed, I got some comment spam on Monday, all
referencing an online gambling site.
32 comments in the course of 65 minutes. The last 9 of
which were not seen by anybody as I had blocked the ip address by
then.
65 minutes to create. Carefully crafted to appear to be on
topic. 10 seconds to wipe out.
Use cases and requirements for a list of feeds
as discussed in a Sunday morning session at FOO Camp.
Update: Apparently between the time I took the notes and
posted them, Dave Winer posted a
myPublicFeeds.opml RFC
Update 2: Related discussion is happening on the
Syndication
mailing list
...
Observations on collaboration and sharing at
Foo Camp.
...
Joel
Spolsky: It would be convenient if you could put the
Content-Type of the HTML file right in the HTML file itself, using
some kind of special tag. Of course this drove purists crazy... how
can you read the HTML file until you know what encoding it's
in?!
The same thing is true of XML. It is easy to eliminate
what remains the
single largest source of invalid feeds. Take a moment and
ensure that the first line of your feeds look like the
following:
<?xml version="1.0" encoding="iso-8859-1"?>
Or, if you happen to be on a Windows platform and have a
tendency to cut and paste content that may have so-called smart
quotes in it, use the following:
<?xml version="1.0" encoding="windows-1252"?>
Finally, while I don't know of a single feed parser that cares
about the charset specified on the Content-Type header, it doesn't
hurt to make it match.
Technically, if
you use text/xml, the default is supposed to override what is
specified in the document itself. You can avoid this by simply
using application/xml instead.
Kevin
Lynch: These XML blog feeds come in several different
formats today (RSS 0.91, 0.92, 1.0, 2.0) which don't appear to have
provisions for embedded comments. Atom is another emerging format
for these feeds, and is currently under development by a number of
blog software creators. This is an opportunity for us to agree on
how both entries and comments can appear in our blog readers. Here
are some thoughts on this, building on the ideas on the Atom
site.
I've prototyped the first approach
here.
Note the addition of a <related> element. Should
entries which are a result of a trackback have two related
elements?
In the previous
benchmark I compared REXML to libxml2. In
order to get a deeper understanding of where the time was being
spent in REXML, I also compared REXML Document.new against
Marshal.load of the same data. The result was that 2/3 of the
time was spent in the parsing.
Now to explore the datastructure that REXML uses.
In order to do this, I convert all of the data into a series of
nested arrays of strings. Marshal the results, and then
compare the times it takes to reconstruct the Nodes.
| test7 |
REXML Element.new Ruby 1.8 |
12.877s |
| test7 |
REXML Marshal::load Ruby 1.8 |
1.736s |
WhyTheLuckyStiff has
more
updates.
why the lucky stiff:
Now, I'll tell you upfront. This match is rigged. The deck is
stacked against XML. I just threw together an Atom2YAML converter.
Atom = 12 MB. YAML = 6 MB. I only have to do 50% of the work. And
these are awful YAML documents. Give me an afternoon and we'll be
down to 5MB with some fragrance.
The goal is to support
these
queries. It will be interesting to see how _why handles
the second one given that he is currently cheating on the content
element. ;-)
Taking a look at Ruby (the language), and I find that there are
a number of familiar concepts in unfamiliar places. Following
are equivalent snippets in Perl, Python, and Ruby,
respectively:
print join(' ',map {uc} @ARGV) . "\n";
print ' '.join(map(string.upper,sys.argv[1:]))
puts ARGV.map{|arg| arg.upcase}.join(' ')
Data flow of comments to feeds, focusing on
how indexing and caching work.
...
Ben Trott: I've released XML::Atom, a Perl implementation
of all things Atom. The goal for XML::Atom is to provide an
implementation of the syndication feed format, the API, and the
archiving format planned for Atom. Currently, it provides support
for the feed format, and an implementation of a client for the
API.
Cool! Some ideas for a 0.03 version:
- Comment support. Instead of introspection, look
for a link tag. See description on
Joe's
site. On my site, authorization is not required to post a
comment, but author information (name and url or email) is
recommended.
- Wiki support. Instead of POSTing a comment, how
about PUTing a page? If it is a new version of a page, the
modified element must match. I would be willing to create a
test wiki based on moin-moin, one where authorization is
required.
P.S. Instead of calling the API createEntry, why not
simply call it post?
Last twenty weblog entries which:
The search box now accepts queries that start with a "/" and refers
to elements in either the xhtml or atom namespaces. The
result is the set of posts (in reverse chronological order) that
either match the query or have a comment that matches the query.
libxml2 is apparently optimized for parsing
lots of small files. I tested the theory by running a fairly
realistic query against all of the weblog entries on my site.
This completed in less than a second. This does not mean that
I shouldn't migrate to an XML database, but merely that I don't
need to do so today.
...
I'm approaching success in installing the prereqs for
Syncato.
You can see the current
install
script and
results.
Summary:
-
libiconv:
routine
- libxml2:
routine
- libxml2-python:
won't pick up the recently compiled version of libxml2 if there is
a older version installed on the system. I've had to patch
setup.py to get past this. Produces message libxslt
stub generator not found, libxslt not built.
- libxslt: routine
-
libxslt-python: I
have yet to figure out how to build this.
-
xerces-c:
slightly unconventional, but
well
documented.
-
pathan:
routine
- Berkley db:
routine
- bsddb3: requires
link flags, but this is documented. Seems to leave the python
files in the Berkley db source directory and not the install
directory.
- dbxml: other than the
sheer number of prereqs, routine.
I'm sure I'll make my way through all this, but any suggestions
on things I might have missed in the documentation would be
appreciated. Meanwhile, I can't help but wonder how many XML
parsers and XPath implementations it takes to run a blog.
Syncado
is an impressive piece of work. Contained within the 63,042 byte
tar.gz file is both a client and server. Complete with
authentication, configuration, license, README, stylesheets.
There even is a bit of cruft in there: CVS directories, compiled python,
and even incomplete experimental additions.
In short, the perfect mixture around which to build a
community.
The small size is a testament to someone taking a look at the
problem as a whole, with a minimum of assumptions - and based on
building on a solid base. In this case the base involves,
Berkeley DB
XML (which requires
Berkeley DB,
Xerces C,
Pathan,
and bsddb3),
libiconv,
libxml and libxslt,
and Webware
0.8.1.
It is only the sheer size of the dependencies which is giving me
pause. On the flip side, I've found a bunch of new toys to
explore and play with. ;-)
Kimbro
Staken: Syncato is the new Weblog system that runs this
site now. It is written in Python and uses Sleepycat Berkeley DB
XML for its database. The system is heavily based around XPath
manipulation of XML data. All presentation is handled through XSL-T
and I built some extension modules that tie Berkeley DB XML into
libxslt. [via
Jon
Udell]
Way cool! By any chance is the source available for
this? I'd seriously consider converting to such a
system.
Here's the
code.
Key new features vs the
original:
- element[:] returns all children of all elements in the
list.
- element[f] will apply function f to all elements in the
list, and act either as a
filter or as a
map or even sequence concatenation, depending on the return
type.
- all
DOM
attributes and methods may now be used.
- / and // operators may now be used as "evil"
alternatives to indexing. This was just one of many valuable suggestions
from Gary Burd
that were incorporated into this version.
A small
irc
client using wxPython.
Slides for the
Seybold Session
SFGate: Thousands of people were evacuated from San
Francisco's Moscone Center on Wednesday, during Oracle and Seybold
conventions, after someone threatened to blow up the building. No
bomb was found.
The person, who authorities believe has made similar threats
in the past, contacted the convention center about 1:20 p.m. saying
a bomb had been hidden "in a dark place" and was due to go off in
an hour.
OK, so why were we asked to leave at 3 p.m.?
Don Park: Trying to understand the Wiki technology is like
dissecting a Humming Bird: it's difficult to find the meat.
In flight, it's wonderful. Take it apart to see what makes it
tick and there is nothing there, just bits of feathers and bones
put together using spider web and Harpy dust.
Joe
Gregorio: I had never even considered applying the AtomAPI
to a Wiki. Having deltas off a wiki show up in my aggregator, and
then being able to edit that page directly, without having to open
the page in my browser, seems like a killer application of the
AtomAPI.
My comment system is based on a number of
regular expressions which seem to work tolerably well in most
instances when coupled with a preview function.
Unfortunately, the results are not quite as good when used in
a API context. So, today, I finally did something about
it.
...
Welcoming back Tim Ewald to the blogosphere
with a suggestion of two bits of low hanging fruit for improving
the security of the new MsComServices.
...
Nonce is a funny word that plays a serious
role in a number of security implementations.
...
Phillip
Pearson: Having never done anything with
SOAP before, I thought I
might as well start here and hack up a Python wrapper for the
service. Presenting:
microsoft_com.py.
Cool!
I took that as a starting point, focused on a single operation
(top 10 popular en-US downloads) and removed all references to
any toolkit or XML parser. Here's the
result.
Clearly the bulk of the logic is the handling of
Web Services Security UsernameToken. Extending this to support
other services would not be difficult.
Mark and Joe's prototype
AtomAPI implementation in Python uses the low level
httplib classes. This means that things like
proxy
support needs to be explicitly added.
An alternative is to use the higher level
urllib2 classes which not only have proxy support built in but
also Redirect, Basic Authentication, HTTP Digest Authentication,
and HTTPS.
Here is
AtomDigestAuthHandler
as well as a
testauth.py
program implemented using urllib2. You can run it for
yourself, and see the output
here.
Undoubtably, this will reinvigorate the
RestEchoApiPutAndDelete debate.
Jon
Udell: To ante up for this game, you have to produce
well-formed content. The mainstream blog-writing tools aren't
helping at all. Most well-formed writing is done in emacs, still.
Can we please change that soon?
It can be done with
SGML. It can be done with
regular
expressions. But, in general, I agree. Converging
on well formed XML will encourage
spontaneous integration.
If you look around, you can find feeds with
titles with escaped HTML markup, and content that is plain
text. However, your application may very well want plain text
titles, and HTML content. One of the basic premises of Atom
is that such data will be unambiguously identified. atomef.py
extends lazydom.py with two methods toHtml and toString to handle
such conversions.
...
Creating XML to Python mappings seems to be quite popular these
days. Here's
mine. Expect this to evolve over the next few days.
This morning I got a request to make the
layout of this page more suitable for printing. I've gotten
the request before, but this time I finally got a round tuit.
...
Clay
Shirky: Process is an embedded reaction to prior stupidity.
When I was CTO of a web design firm, I noticed in staff meetings
that we only ever talked about process when we were avoiding
talking about people.
Update: Ben
Hyde has an excellent counter-rant. While I agree with pretty much
everything Ben is saying, I will still tend to be skeptical when I hear
people suggest process solutions to people problems.
SkunkLink:
The SLink language provides a data model and syntax for XML
linking, suitable for use in XHTML 2.0 and related languages.
Mitch
Kapor: An actual email with proper nouns genericized to
protect the guilty. OK, so what does this tell us? Are blogs now
media outlets really worth pitching?
Here's how to add HTTP proxy support to the
wxAtom client, and how to use that the monitor and debug the
AtomAPI.
...
The Atom API describes how one
creates,
retrieves,
edits,
deletes, and
finds entries. In comparison, it only defines how one
adds comments. Why?
How should authentication be different for comments and
entries? Is there a need for a discovery of policy?
Gary Burd:
I am investigating what's going on in the information client
space. I don't have a precise definition of the term information
client, but I know one when I see one.
Sean McGrath: NIFT
is one of those things that has been in my peripheral vision for a
long time but I have not had the chance to look at it more closely.
How does this sit with blogs/rss/peaw?
First I've heard of it. Quick impressions: body.content is
well formed XML. The head, body.head, and body.end look like
they have considerably more metadata than anything I have
considered - not surprising as these guys do this for a living.
Norman
Walsh: There is clear evidence that the escaped markup
design will spread if it isn't checked. If it spreads far enough
before it's caught, it will become legacy. Some vendors will be
forced to continue to support this abomination by simple economics.
And it won't be their fault, it'll be ours for not killing the
virus before it could spread.
While I am certainly
sympathetic
to that view, my current
leanings are simply that any such escaping needs to be clearly
identified as such.
HTML
4.01: The HEAD element contains information about the
current document, such as its title, keywords that may be useful to
search engines, and other data that is not considered document
content. User agents do not generally render elements that appear
in the HEAD as content. They may, however, make information in the
HEAD available to users through other mechanisms.
Of course, there always is
another
point of view.
Tim Bray:
Here is
draft schemaware for snapshot 0.2 of PEAW
In the process, Tim generated a
lot
of
feedback.
Meanwhile, a few days ago
Sean Palmer initiated an
ExtensibilityFramework that just so happens to address a number
of Tim's issues. In the process, a
RelaxNG grammar was produced which covers not only the core
elements, but also all extensions.
The purpose of this extensibility framework is to allow a
uniform mechanism for handing text (with and without
markup)
and detecting URIs. The latter would also help with things
like xml:base
processing.
Sean produced a
Python/SAX
parser that converts this into RDF N3.
Sjoerd Visscher produced
an XSLT
transform that converts the same input into RDF/XML.
HTML 4.0.1:
Although Unicode specifies special characters that deal with
text direction, HTML offers higher-level markup constructs that do
the same thing: the
dir
attribute (do not confuse with the
DIR
element) and the
BDO
element. Thus, to express a Hebrew quotation, it is more intuitive
to write
<Q lang="he" dir="rtl">...a Hebrew quotation...</Q>
than the equivalent with Unicode references:
‫״...a Hebrew quotation...״‬
RDDL,
XIOR,
RDFT,
RDFS
On Thursday, I talked with
Dave Beckett on
#echo about
possible changes to the
RDF/XML Syntax Specification. The current status of
RDF/XML is that it is in a
W3C Last Call Working Draft form - meaning that only minor
corrections are accepted at this time. My inputs clearly go
beyond that, but I will share them anyway on the off chance that
they resonate with others and/or can be taken as input for the next
round of the specification. I've ordered them roughly in
order of priority:
- I understand the need for rdf:parseType, but requiring it on
each instance of each element where it applies increases document
size and decreases readability. There needs to be a way to
factor this out.
- Requiring attributes to be namespace qualified seems
unnecessarily inflexible. I would suggest treating unprefixed
attributes as if they were in the namespace of their parent
elements. Only treat it as an error if there already was an
attribute with the same localName/namespace pair present.
- Introducing an rdf:parseType that indicates that a given
attribute or element represents a URI would create more opportunity
for obtaining 'grounding' information from a document.
Let's turn this thing around. Instead of
requiring one to make their XML RDF friendly, let's make RDF XML
friendly. Or, at least make RDF meet XML half way.
...
Michael Wechner: OSCOM
is organizing a
Hackathon/Sprint during
Seybold conference.
We will focus on WebDAV and
the weblog specification
"Atom".
Can somebody find a mention of this on the Seybold web site?
Bill
de hÓra: Interoperation doesn't start with models,
it starts with syntax. Shared syntax is the prerequisite for
interop. We have a couple of decades' experience to back that
observation up.
Diego
Doval: So, is it possible to have both? Absolutely :)
Sjoerd Visscher:
Sam
Ruby made
an XSLT tranformation from Atom to RDF. He said it was hard to
do. On the #echo IRC channel I said that
XR would probably make it a
lot easier. Then Sam asked me to make an XR transformation that
would do the same thing. I did, and
here it
is.
Sweet!
There have been assertions of an "RDF
Tax". Not having an opinion on the subject, I decided to do a
little investigating. In particular, I sought to identify the
highest potential "ceiling" to the RDF tax.
...
Tim Bray: <span class='h2'>How is Meaning
Communicated?</span>
Exhibit a:
<feed>
<generator name="Movable Type">
http://www.movabletype.org/?v=2.64
</generator>
</feed>
Exhibit b:
<feed>
<generator>
<name>Movable Type</name>
<url>http://www.movabletype.org/?v=2.64</url>
</generator>
</feed>
Aaron Swartz: These changes also have the side effect of
making feeds valid RDF.
This statement surprised me. So I tried it. I didn't
get it right the first time, but after Aaron gave me a few
suggestions on IRC last night, I finally got there.
minAtom.rdf
and
maxAtom.rdf,
both valid RDF.
Note: this is not an official snapshot.
Shelley
Powers: I just published the final three parts of the
Weblog Link Series, on permalinking and archives:
A four part series. If have (voluntarily or involuntarily)
been relocated and are busy,
part
II contains a lot of useful nuggets. Once things settle
down, do yourself a favor, and go back and read the rest.
Joi Ito: Since I blog just about anything important that I
ever think of, I end up page slapping people a lot on IRC when they
ask questions that I've already answered. I wonder if it's rude? I
don't think so.
Rael Dornfest: The first plugin I'll be writing using
interpolate_fancy is for atom (or whatever it's called a few
minutes from now).
I must say that it was a joy to create
this
plugin. I had nearly forgotten how much fun Blosxom
was.
Something to consider: it might be helpful to have a way to call
a Perl sub defined in a plugin from within a template. This
would enable one to create logic that is only needed in order to
support some specific plugins.
Edd
Dumbill: If you don't care about decentralized
interoperability, it's hard to see how you can ever agree with web
technology.
Christian Crumlish:
A long, long time ago
I can still remember
How those weblogs used to make me smile...
Excellent. My favorite comment to date:
RefactorOK
Update: The
Blog Herald is offering $20 for the first Blogger or web surfer to submit
a reasonably sung version.
Shannon's in!
Paul Ford:
the standards stack up, each one a step towards something
complete, something whole.
Ziv talks about two types of weblogs - "take
that" and "phone home". I think the distinction is more
subtle than that, and deserves further exploration.
...
Just ask
Ben.
Dave Walker: If you're running Blosxom 2.0, you can grab my
Atom 0.2 flavour files
here. It
uses a CDATA encoded version of the individual posts. If
you're enough of a stud so that your blog's totally valid XHTML you
might want to modify story.atom to serve the non-encoded
representation instead.
Try
this.
Greg
Reinacker:
Mark
Pilgrim announced the Atom 0.2 snapshot yesterday...and,
coincidentally, NewsGator
1.3 (also
announced
yesterday) supports Atom 0.2 feeds.
Clemens Vasters: This here :-D was typed as
colon-dash-caps-D and is converted to an image link when rendered
to the website using a simple content filter. All of you reading
this through an aggregator will say "really?!", because all you'll
see is colon-dash-caps-D. I don't want all that traffic for the
images coming this way. ;)
SHA1 in
C#,
Java,
PHP,
Perl,
and
Python
PHP wins.
In an attempt to reduce spam, I'm now rejecting any
email
comments that are addressed to weblog entries which are over 30
days old. Implementing this only took a few minutes work, but
required me to break a few
abstractions in my
implementation.
Undoubtedly, this will get cleaned up in a refactoring, but a
review of the code reveals a number of related items:
- I use
SpamAssassin to
route based on content and headers
- I'm specifically blocking two IP addresses from which I got
persistent spam. These seem to be open SMTP relays.
- Age of target blog entry is now used to reject
comments
Each is based on exploiting a fundamental characteristic of
SMTP: namely that it is a protocol that enables without
obscuring.
Elizabeth
Lane Lawley: I see a backlash building on wikis, mostly in
a good way. The choice of a tool for online group-forming or
process facilitation is an important one, and the pros and cons of
specific tools need to be carefully considered by anyone wanting to
implement them.
In defense of the wiki - had this merely been a weblog post or a
mailing list, I am confident that we wouldn't be having a naming
discussion right now. Or any discussion. Quite simply,
it was the wiki that made this project possible.
Phil's concern never materialized. I am confident that if
it had, it would have been quickly fixed. Wiki's are like
that.
Dare and Shelley have not had as much time as they would have
liked to devote to this in the past month. This would have
been just as true had another means of communication been
chosen.
This being said, it must be noted that Dare and Shelley are far
from unique in this case; few are able to keep up with the
breakneck pace of developments.
People like Danny
Ayers, Joe
Gregorio, and myself have tried to pull things off wiki in more
digestible chunks onto our weblogs. In fact, Shelley
originally
was doing likewise. Despite this - we need to do
better. I continue to explore more ways to make this project
accessible to everybody who wishes to participate. Mailing
lists. IRC. Face to face. Got a suggestion?
Let me know!
In short, I truly believe that the wiki was necessary for this
project. Necessary, but not sufficient.
Phil Ringnalda: The world of weblogs isn't a big
city.
Excellent. I don't even begin to know how to
excerpt this. Everybody, go read it in it's original
form. Immediately.
Then, and only then, go read
this.
Shannon
Campbell: ...can I have my underwear back now?
Sherlock Holmes: If you can eliminate all the other
choices, the remaining choice, no matter how improbable, is the
answer.
I probably met with 70 to 80 people over the last few
days. Some were from large companies/organizations, many more
were from small companies or informal organizations. I have a
large number of specifics that I will inject into the wiki over the
course of the upcoming weekend, but for now, some overall
themes.
The final overall theme that seemed consisitent is the
importance of security in an API. Given the number of people
blogging in conferences and public locations, simple md5 or sha1
hashes of passwords is not sufficient. What's needed is a
solution that is not only easy to implement, but also one that is
easy to administer.
...
What happened to
Halley?
All LiveJournal test
users now have Atom feeds. Here is an
example.
I happened to pick one that was in Russian, demonstrating the use
of UTF-8. Also notable is that issued dates don't have time
zones - something that LiveJournal doesn't track for this
particular field. I'm particularly looking forward to the
point in time when LiveJournal starts exploring the serialization
of threaded comments.
Simon Fell's
Atom feed
demonstrates explicitly marking the namespace on every item.
More interestingly, he makes use of
xml:base to have
relative urls in links, ids, and even content.
Gordon
Weakliem has created feeds for Amazon.com, and is exploring
issues with dates and times.
Simon
Willison: After numerous alphas and betas, Python 2.3 has
been released. Python.org
has highlights
of the release, while A.M. Kuchling's
What's New in
Python 2.3 goes in to a bit more detail.
Sweet!
Clay
Shirky: What both optimists and pessimists believed,
however, deep down, was that their opinions mattered.
Question: in this context, won't rules alone amount to
little more than organized opinions?
Joe
Gregorio: I am pleased to announce the formation of my
company, BitWorking, Inc., a
custom system development
company able to provide tailored software for Windows Desktop,
Embedded and Web Services applications.
Tomorrow, the
wiki
will be six weeks old. It has been joined by a
weblog, an
mailing
list, and an irc
channel.
This coming week is time for some good, old fashioned, face to
face discusssions. I'm going to meet with various weblogging
related people who reside in or near the greater San Francisco bay
area. My agenda is pretty full, but I have reserved Thursday
night(the 31st) for a webloggers dinner. Leave a comment if
you are interested.
Adam
Bosworth: I've been planning to start a weblog for quite
some time but, unsually for me, I've suffered from writers block at
the thought that this would be so public. Well it is time to tough
it out Subcribed!
Jason Brome:
quickSub - making RSS and ATOM feed subscription easier for
your readers!
Congratulations to
Greg
Reinacker for being the first to
publish
proper HTTP support results. Two problems each were found
in NewsGator and the tests themselves, all have been fixed.
Users of NewsGator should see the improvments in an upcoming 1.3
release.
Bravo!
Tim Bray: I just got a call from Paul Festa of C|Net,
who’s working on a story about Pie/Echo/Atom. I
got a similar call late yesterday.
Sean McGrath: The real beauty of messaging is the
tremendous scope it provides for intervention in message flows.
Where you can intervene, you can transform and
Transformation is the only truth.
I agree. However, I would like to add that once you accept
that, you can go on to produce better models, ones that are more
suited to transformation.
For starters, it helps if the messages are
cleanly and
thoroughly
specified. And adopt the use of a
common set of data
types when possible. And ones that don't
obscure
structure with XML escaping.
Simon Willison has joined a discussion on signing
comments. This is a topic that has fascinated me for some
time, but I haven't done anything about... yet.
Having signature authenticating web service would also be
valuable in a posting API.
Mark Pilgrim has been busy capturing the
rationalle for - as well as actually
implementing - a simple yet comprehensive test suite for the
transport transfer level semantics of well behaved and
bandwidth friendly HTTP based aggregators. Bravo.
I had two separate individuals including images from my site in
their weblogs instead of hosting the images on their own
site. One has now ceased. Thanks. The other
hasn't gotten the message yet.
Please don't do that.
Rogers
Cadenhead: Here's the new wiki, which contains the current
RSS 2.0 specification:
http://www.intertwingly.net/wiki/ssf/
Feel free to add comments.
Joe
Gregorio: A new
mailing
list has been created for discussing Atom. It is being
graciously hosted by IMC, the
Internet Mail Consortium. Special thanks to Paul Hoffman of
IMC for setting up the list.
Luke
Hutteman: If the advisory board were to vote on possibly
unfreezing the RSS 2.0 spec, this may really change some things.
Only then could they truly move RSS forward and possibly add some
of the extensions that Atom is talking about. It might even allow
the Atom project to be folded into the RSS standard so that we can
keep a single all-encompassing spec. Now that would truly be a step
forward.
Dan Gillmor: in a vote yesterday -- about whether to
create a new RSS validator -- Simmons and Udell were the majority
saying no.
There clearly is a lot of RSS news today, and I'll let it settle
down before commenting on the rest of it, but this seemed safe
to comment on now.
So... apparently there won't be a third RSS validator.
But... will the UserLand validator become maintained again?
To reaffirm statements made previously:
- I fully intend to continue to contribute to the
feed validator,
tracking to any consensus that emerges as to revised RSS
specifications, profiles, and best practices.
- This validator is
open
source. Others are welcome to contribute to it and/or
create derived works of their own based on this code.
A look at two high profile and widely deployed
necho/atom feeds: Blogger and TypePad, and some thoughts on
the implications of escaping and mime types.
...
Dave Johnson:
That really sucks. Not the part about Andy being wrong, that
happens all the time. heh.
This is a complex issue. Some lessons learned along the
way:
- A shim of dual licensed code doesn't avoid section 6.
Links are transitive.
- Simply shipping unassembled components on a single CD doesn't
invoke section 6.
An example of something that does solve the issue:
JDBC.
Now that the
denial
phase is over, there are
two paths
to chose from.
Clay
Shirky: ...Twenty minutes later, one person stands up and
gets their coat, and what happens? Suddenly everyone is getting
their coats on, all at the same time. Which means that everyone had
decided that the party was not for them, and no one had done
anything about it, until finally this triggering event let the air
out of the group, and everyone kind of felt okay about
leaving. This effect is so steady it's sometimes called the
paradox of groups
One such
event seems to have occurred over the past 48 hours.
Haven't made it to Portland yet. Weather
delays. Misrouting. And more weather delays.
...
New blogs: echonews
and fecho. Rich
Salz has started a
series
of articles.
Everybody at
SuperNova has been
exceptionally supportive. Offers of assistance abound.
Dan
Gillmor asked some probing questions... hopefully he will ask
more.
Joe updates the
RFC,
Mark
prototypes.
There is a brief mention of Echo on
MSNBC.
Adam Curry is
taking a stand. I respect that. For the record, I
have no plans of stopping support my support for the
multiple flavors of
RSS. And I am following
SSF-DEV.
Isofarro: Not being content merely to produce a necho file
I toyed with the idea of hacking together an aggregator. So I spent
a bit of time scanning through the nntp//rss aggregator, and
inserted a few lines here and there. And.... it works!
Ted Leung:
Now we all have to figure out how to live in a world that's
forever changed.
Jeff Licquia: The patch is
here.
Further progress towards the goal of "rough consensus and
running code".
Monday -
Dinner
with Joi Ito
Tuesday -
Echo
BOF at
SuperNova
Thursday -
Bill of Rights for Web Services at
O'Reilly
OSCON
Friday -
Cohesion
at
Applied XML Dev.Conf.
Sjoerd
Visscher: It would be very easy to create an XSLT that
converts a Necho document into an XML-RPC document. It would even
be doable to create an XSLT that converts the Necho schema to a
Necho-to-XML-RPC XSLT. I think I'll have a go at that, it's a fun
challenge I think.
Excellent!
Sjoerd Visscher: We have a simple client-side clean-up
script that extracts well-formed XHTML from the WYSIWYG editor. It
even handles pasted HTML from Word rather well. I discussed it with
my collegues today, and we are willing to make that script
available as open source if people are interested.
Excellent!
Joe Gregorio: I have posted a rough draft, in RFC format,
of a similar
publishing API
using not-Echo. I have also created a
discussion
area on the wiki for this proposal.
Bruce Loebrich: I want a way to represent structure as well
as content and I would like to continue to transclude things like
my entries and blogrolls on my site but use Echo and XSLT to do it.
Would it make sense to allow feeds, entries and comments to nest
within each other?
Dave Winer: Here's the Wiki page where people are deciding
whether to use XML-RPC and/or SOAP. You can express your opinion if
you like. That's how it works. Excellent! Now lets
see if we can have a respectful dialog on the subject?
...
I've taken a 2003/07/01 snapshot of the
maximal example of the format previously known as echo. The
reason for this exercise is that I plan to start prototyping using
this as a baseline. I invite others to do likewise. Let
me know via comments of any implementations. In particular, I
am interested in templates that others can use.
...
Don Park: How we interpret what we read is subject to our
biases. At the extreme, total blindness occurs, fabricating
something entirely different.
Facinating. Guilty as charged. Subscribed.
Two different, but related needs. In
most cases, the subjective and objective dates will reflect the
same underlying point in time. But we need both points of
view.
...
XML-RPC spec updated. "Site Syndication
Format" launched. Lots of RSS 2.0 specs? Why is all
this happening? I have a theory
...
Ben Trott and
Sjoerd
Visscher explain changes that they see as necessary for forward
motion. Dave Winer links
to
both.
This communication simply wasn't possible a month ago. It
wasn't possible two weeks ago. It is possible now.
Aaron Swartz
identifies the one place where communication isn't
occurring. I'm confident that we will work through
this.
Forward
motion is the key. We don't have to be in a hurry to name
what is being produced. Every day provides a new opportunity
for us to discover a way to work together.
Onward.
An update on yesterday's position, based on feedback.
...
I'd like to see a single element, say
<encoded>, be introduced that makes such encoding
explicit. We can decide where such elements are
allowed.
...
Tim Bray: We need to crystallize and refine and clarify and
write it down so that any literate human can write it and any
competent programmmer can implement it and no commercial interests
can hijack it. That’s all.
My experience with standards bodies exactly matches Tim's.
We should have a small core of approximately
seven
required elements. Ones that we know everybody can
support. Not guess, but know.
Author. Link and Id. Two dates. And
content. We pretty much are already in the ballpark.
Perhaps title and we have a core.
We can still encourage innovation and experimentation - in
extensions. Tim Bray was one of the authors of
one such way to
do that.
We can even standardize some of these extensions.
Jon
Udell: I'm never a fan of fixing what ain't broken.
Arguably, though, there was no other way forward in this case. The
worm at the core of the weblog apple had to be extracted. It's true
that vast numbers of yet-to-be-written RSS applications need no
more than what RSS already does, or can be extended to do using the
mechanisms it sanctions. It's also true that vast numbers of
yet-to-be-written RSS applications will require RSS to evolve. It
had to become possible for that evolution to occur in an open and
vendor-neutral way, and when the dust settles I think it will be
possible.
My daughter graduated from elementary school today.
My son completed the classroom portion of drivers education
today.
Help me find better choice, and I will gladly
choose it. Until then, I plan to continue to respect the
roadmaps. Both of them.
...
Dave
Winer: Tentative endorsement of Echo
I'm not excerpting further, based on Dave's request.
Needless to say, this is quite a significant event.
I can't speak for others, nor can I make a promise for
perpetuity. However, I believe that one thing that people
have learned to expect from me is that I am an early adopter, and
enthusiastic supporter, of
every format that I
can find a way to support.
Dave Winer: link should be used only to link to the article
being described by the post
This type of information is most helpful. I could imagine
modifying the
validator to flag
items whose link tag appear to be relative to the enclosing
channel's link.
Suppose tool X claims that it requires feature Y. The
first question to ask is whether other tools have similar
requirements. Find out what is common. Refactor.
Then see if what results is really required. See if there
are other ways of achieving the same goal which might be
better.
If the requirement survives to this point, see if it would place
an unreasonable burden on other tools to support this
feature. If not, the next stage is to see if we can agree to
make the feature required. Required is good. It
provides clear guidance as to what is expected. It makes the
results predictable.
Now let's standardize and simplify. A
well formed blog entry will have two universal resource identifiers
(URI's) associated with
it. One, a permaLink, will identify the preferred external
"name" for this blog entry. The other, a postId, will
identify the preferred internal "name".
...
If you can make it to Portland in July, stop by this
OSCon session or the
XML
DevCon.
Dave Winer will
be keynoting at the DevCon.
Chris Sells tells me that there are only a few seats left, but
he could be talked into seeking a bigger room.
Road map from here on out? I'm going to pick a
topic at a time from the
wiki and
explore it in depth on my weblog.
...
Simon Phipps: Hurrah! Blogger has fixed both the date and
the escaping of special characters and my
RSS feed now validates - I have republished the whole site just
to make sure. And for what it's worth, my RSS feed is now
funky, which it wasn't before.
A week ago I
quietly
introduced a
wiki to discuss
the anatomy of a well formed log entry. It got a
lot of interest. And a week later, it is still being
actively
developed.
Wow. It seems that I am not the only one desiring a bit of
forward
motion in this area.
Tim O'Reilly: What
matters are three trends: software commoditization;
user-customizable systems; collaboration. The money doesn't
come from selling software. People who don't know this have a
paradigm failure. [via
Cory
Doctorow]
Related concept:
Software Entropy.

From
Second Chance Pet Adoptions: Allie is a wonderful
girl...she is still a bit shy
in new situations, but loves to play. She was the first of the
group to play with toys, and has been a bit of a loner since. She
does play with her siblings, but not so rough and tumble like the
others. She will come and sit with you on the couch, but is not too
keen on being held a lot.
...
I don't normally think about such things, but as today is
Tim Bray's birthday, I just realized that I am 41.5 today.
Imponderable for the day: does an excerpt really deserve an
ellipsis if there is no more to the story?
P.S. Happy
30th birthday, Tim!
To the ASF Board
of Directors.
Phil
Wolff: You should be able to define your own structure. The
most common use of Microsoft Excel is making lists of things. No
reason blogs can't give similar freedom to define a new package.
Build from scratch or on the shoulders of other package
definitions.
Beth Goza: there being a time when having "publish to web"
or "blog this" is as common in an application's drop down menu as
print or save.
Beth's
rss
feed is neither
funky nor
valid. Beth, on the other hand, is both.
Randy Charles Martin: Funky elements are awarded funky
points depending on how funky they are. Randy gives top
funky score to dc:date. Based on my reading of the subject, I
would disagree.
...