  | 
      Monday, January 19, 2004 | 
       
    
  
    
       Microsoft Expands .Net With Xen.
Preview: The hot new language from Microsoft Research offers native XML
and database support (in addition to the powerful punch of .Net) and
possibly ushers in a new generation of programming languages. [Extremetech]     
       | 
    
      
       | 
     
   
  
    
       XPath query tips. My new query page
invites you to try writing your own queries, and a few adventurous
souls have been doing just that. As I've mentioned before, I'm no
world-class expert on this subject, but as I build up a corpus of
searchable data on the one hand, and a set of canned and modifiable
queries on the other, I'm learning. Indeed, one of my goals for the
query page is to serve as a tutorial and playground, a place where
folks (me included) can get ideas about what kinds of XHTML elements
they might include in their own content, and how those elements could
interact with XPath queries. ... [Jon's Radio]     
       | 
    
      
       | 
     
   
  
    
       More on screen videos and dynamic categories. A couple of follow-ups to things mentioned here lately. First, thanks to the folks at TechSmith, I'm trying out a copy of Camtasia Studio. I've used it to update the LibraryLookup
page to include Flash versions of the Windows Media screen videos I
made. You can do a lot more with Camtasia Studio than just convert
formats, of course. It's a complete solution for capturing screen
videos, and editing video and audio clips on a timeline. ... [Jon's Radio]     
       | 
    
      
       | 
     
   
  
    
       Template files for web projects. Need to check these out! QUOTE e-consultancy has published a set of template files for web projects, including the following:
- Contract for Web Services
 
- Web Project Plan
 
- Usability (various)
 
- Site Map
 
- Functional Specification
 
- Technical Specification
 
- Content Plan
 
- Privacy Policy
 
- User Agreement
 
- Wireframes
 
- Style Guide
 
- Maintenance and Service Level Agreement
 
- Site Evaluation Framework
 
  UNQUOTE  [Roland Tanglao's Weblog]     
       | 
    
      
       | 
     
   
  
    
       Open Calendaring. We're getting ready to do some kickass calendaring features - so thanks goes to Leonard for this list. keep um coming! 
  
Calendaring... the final frontier. Not really, but probably my next
next project. Seeing how far I can push iCal for pubsub, calendar
sharing. 
Structure: 'entry' calendar which will talk to PHP webdav server
connected to phpMyCal. This will then generate a 'combined' calendar
which will be subscribed to. Now here's the neat card trick. The
combined calendar is what we really want, but it's read only (thanks a
lot iCal). So... run a script (AppleScript or shell script, either
through cron or if possible, triggered by update) to move the output
calendar and overwrite the input calendar (also, just leave it
unchecked so you don't ever get double display). Since we're using a
PHP webdav, we can do smart diffing supa-easily on the server-side.
That and authorization, etc will all be handled courtesy of the
phpMyCal (input and output will be via PHP). Events are tracked by UID.
Does this work? 
Seems to be a 99% solution. That is, at the end of the day, you get
completely synchronized, fully editable calendar. It's about a 95%
solution for group calendaring. You can set editing restrictions on the
server side, but it won't be enforcable on the client side, however,
you can either make it visually locked (make a note, or put it in the
title), or just send those to a second subscribe only calendar.
Different privacy/control levels can be handled on a by calendar basis
w/ a web config, or w/ keywords... [random($foo)] [Marc's Voice]     
       | 
    
      
       | 
     
   
  
    
       Tired of being locked into formats?  Well then don't!. Danny
Ayers has a solution for the OPML "give me permission" clause in the
latest Dave Winer effort. What I love about Danny (and folks like Ben
Hammersley - too) is that they always seem to come up with solutions
that stay backwards compatible (with the 'simple way') while then also
providing an elegant rdf way of doing things.  Thanks Danny! 
And BTW - for the record - I AM a fan of OPML - but that doens't
mean that open standards get to be closed - just 'cause the author
changes his mind. Once open, teh cat's out of the bag! 
Sharing, the web way  
I'm not a fan of OPML, I think it's a truly awful (and unnecessary) format - other people have found it problematic too - but I did think Dave Winer's Share Your OPML! site looked interesting, especially when there was a little SDK available. But then yesterday I read Eric's post pointing to the floater Dave had left in the pool : If
you wish to use the data for a different kind of application, or
convert the data into a format other than OPML, for redistribution,
it's likely we'll say yes, but you must ask first. 
  Anyone that's had dealings with Dave in the past will know what this means. Leigh asked
(in comments) but had his request deleted. Basically Dave wants
control, and he believes the formats will give him that control
(remember the RSS patent application?).  
I'm all for republishing, but not with strings attached. I don't
want material under my copyright abused in this way. So I politely
asked Dave to remove references to sites I maintain from his data.
Anyhow, Dave's response was: Do you want to make a legal case out of this?
  Personally
I thought that was pretty sad, but that might in part be cultural bias
- being English I tend to think of etiquette before litigation.
Whatever, unfortunately for Dave, and fortunately for the rest of us,
formats aren't such a lever any more because the web will either ignore
or work around attempts at lock-in.  
I think the most sensible thing is to simply ignore Dave's site, but
for purposes of demonstration, here's a workaround. The key obstacle is
that Dave insists that you can't republish his data unless it's in OPML
format. If it is OPML, you don't even have to ask. Ok, here is another version of the index file
that points to all the others at "Share Your OPML!". This is still OPML
format. Please do with it what you like. Incidentally, this new file is
also valid RDF/XML. 
Given that OPML is as thinly specified as it gets, and RDF/XML is
designed to make it easy to make XML formats RDF compatible, it wasn't
particularly difficult. Here's what RDF-compatible OPML looks like:
 
        xmlns="http://opml.scripting.com"        xmlns:opml="http://opml.scripting.com"        xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
 
       
 
 
  
I first had to add some attributes to the  element to give the XML namespace support. That top element becomes a resource in the (stripey) RDF interpretation, with head and body
as properties, their contents being other resources. To keep things
simple I just ignored the contents of the element, so that gets
interpreted as a triple with an empty object (I must check on the semantics of that). The element itself is mandatory in OPML, so that has to stay.  The  in effect contains a set of resources of type outline, which is easy to express by adding the rdf:parseType="Resource" attribute on the parent. The attributes of the  elements all slip neatly into being RDF properties with literal values. 
Couple of points that probably need explanation - since the spec update there's been no need to include a root  element. If the consumer knows it's RDF, that's good enough (the W3C's validator has check box: "RDF is NOT enclosed in ... tags"). Also the use of unqualified attributes has been deprecated, so it should be opml:text="..." rather than just text="...". This makes the code look a bit uglier, but if you're using a lot of namespaces it does make mistakes much less likely.  
I made the changes using search and replace, but this could easily
be automated using XSLT. But if you are planning on using Userland
format data from anywhere else, it's probably a better bet to use
something a little less generic than the approach above (stylesheets
for OPML to OCS and Userland RSS to RSS 1.0 are linked in the comments here).[Raw]  [Marc's Voice]     
       | 
    
      
       | 
     
   
  
    
       PalmOS reset primer. Here's a HOW-TO describing the different flavors of reset available in various PalmOS devices.
 
 
The reason it takes a while to get the general preference screen after
a soft reset is that the OS notifies every app on your device that a
soft reset has occurred. That allows each program to reinitialize.
There are two cases where you don't want that to happen. One is if you
want to delete a system file or other file that's normally open in the
OS and won't let you delete it as a result. Since that app won't be
initialized, it won't be active after the reset and you can freely
delete it. The second is if some app is crashing your system in an
endless chain of soft resets. This reset will keep all apps inactive
until you manually start them after the reset is complete. This way,
you can work your way through the apps and see which one is causing the
problem. It could be as simple as a corrupt preference database for an
app. This takes some patience in troubleshooting, but always start with
what you did last and work your way back through your last changes in
reverse order.
 
  Link
  (via Mobilewhack) [Boing Boing Blog]     
       | 
    
      
       | 
     
   
  
    
       Portraits in carbonite brick. Online gallery of super-geeky sculpture, from artist Nathan Sawaya :
 
  I
decided to make Han Solo frozen in carbonite. Life size. It took about
10,000 bricks, almost all dark gray, and about three months of on and
off building. I built the sculpture so it can break down easily into
smaller parts, thus making it mobile. Because, like most people, I like
to take large sculptures of people frozen in carbonite with me whenever
I travel.
 
 
(Thanks, David!) [Boing Boing Blog]     
       | 
    
      
       | 
     
   
 
            
            
            © Copyright 2004 William J. Maya.
            
             | 
            | 
           
            
             |