Semantic Wave Blog
News feeds and commentary by Jamie Pitts

April 29, 2008

Rapping About Proper HTML

The Poetic Prophet may also be known as The SEO Rapper, but his Design Coding rap contains a lot of good advice for an HTML/CSS designer.

All we have to do now is convince him to rap about RDFa!

...title everything including links and images
don't use italics, use emphasis
don't use bold, please use strong
if you use bold that's old and wrong
when you use CSS, you page will load quicker
client satisfied like they eating on a snicker
they stuck on your page like you made it with a sticker
and then they convert now that's the real kicker
make you a lil richer, your site a lil slicker
design and code right man I hope you get the picture...

Source: Design Coding

Spotter: ROFLCon Sleeper Hits Session.

Posted by Jamie Pitts at 2:56 AM | Comments (0) | TrackBack (0)

October 16, 2007

The Future of Software Development

While this article is insightful and very well-presented, the title and the premise are begging for a cheesy echo effect.

I cannot wave this agile software development flag with much enthusiasm. All I see in agile development is a clutter of terminology describing well-worn improvements to the waterfall approach. These would include: decreasing the amount of functionality in the end product, increasing communications among the players, and reducing drag through better tools and processes. The only thing missing from agile is an admission that it is simply a faster waterfall.

Why affix a new name to something as elementary as "faster"? Is it meant to clear out mental cruft? Is it the fact that the software development community suffers from a constant case of newism?

Whatever the reason, I think that it is "inter-perception" that is doing most of the changing in our community. During the grand ball of trend-calling and over-investing, the real pace of invention may have only advanced incrementally, perhaps only getting us half-way to the next true leap: a microprocessor, a home computer, a desktop, a web... a cloud.

The true leaps are what this game is all about. In the charged atmosphere of a perceived revolution, people take more risks, do more work, and, importantly, enthusiastically drink each other's yummy, grape-flavored drinks. How else can you get all of this cooperative and creative effort that literally builds out the stage to support a really heavy technological shift?

So while I may make fun of the the artificial colors and flavors of things like "social", "agile", "2.0", "push", they are essential to the real game at play. And tasty, too.

Posted by Jamie Pitts at 8:17 PM | Comments (0) | TrackBack (0)

March 4, 2006

Comet

It was inevitable that the term Comet would be affixed to an old, familiar web technology. I may make fun of the re-purposing of brands from under the sink, but I do think that Comet is an appropriate identifier. While event-capturing over HTTP/1.1 has been discussed in recent memory, Alex Russel's ETech presentation this coming Wednesday could get a lot of people talking about it. Again.

...and Eric, thanks for jogging my memory about streaming chat :)

References:
Hypertext Transfer Protocol -- HTTP/1.1: Persistent Connections
Comet: Low Latency Data for the Browser
HTTP Streaming - Ajax Patterns

Posted by Jamie Pitts at 10:55 PM | Comments (0) | TrackBack (0)

April 6, 2005

Apple's Core Data

With the release of Tiger, Apple will be making their EOF entity-relationship modelling approach available for use in all OSX apps.

Three data store formats will be available: binary, xml, and sql. This could help a lot with converting and wiring various app data into the greater semantic web. Apple will already be tapping Core Data for searching and sharing in Tiger:

The technically correct way to describe Core Data is as an object-graph management and persistence framework.

In down-to-earth terms, this means that Core Data organizes the application's model layer into a set of defined in-memory data objects. Core Data tracks changes to these objects and can reverse those changes on demand, such as when a user performs an undo command. Then, when it is time to save changes to your application's data, Core Data takes care of archiving the objects to a persistent store.

And, it saves data into regular files that users can manage with the Finder, search with Spotlight, backup to CD, and email to friends, family, and coworkers. Source: CocoaDev Discussion

Next comes a convenient way for developers to connect data stores together. Way to go Apple!

Posted by Jamie Pitts at 5:54 PM | Comments (0) | TrackBack (0)

September 24, 2004

From RDF Browsers to RDF Controllers

Leo Sauermann explained that a generic RDF browser needs a different display definition for each RDF-schema. This makes a lot of sense. I would add that browser-style applications which truly take advantage of RDF out there will also require something along the lines of a "useage template" for each useage scenario.

Describing how an application interacts with multiple RDF stores can be accomplished with a simplified WSCDL or WSFL. What should definitely be included is how the data sources / aggregators are used and queried against in the application's data model.

My own applications accomplish this sort of data definition in 100 or 200 lines of text. At Boingo, I develop frameworks in perl which allow developers to quickly assemble internal database applications. My development style is to use data structures to describe what the Model, View, and Controller are to do (in response to an action called by the client).

Once the structure of the data store is known to an application, it is not very difficult to have entire applications defined in data.

Posted by Jamie Pitts at 5:31 PM | TrackBack (0)

May 17, 2004

Creative Namespaces and Syntactic Sugar

Tim O'Brian reminds us in Creative Class Naming to add some flair to the namespaces that refer to our in-code data and actions. I have used this technique on many occasions, especially for ideas which may be dificult to explain (or to remember!). By way of O'Reilly Dev Blogs.

You may not think that your company's fancy e-commerce system can afford to have an object named Bouncer, but I urge you to reconsider. Bouncer communicates the idea better that AuthenticationEnforcementObject or ServletSecurityFilter. Source
Amen to that.

Then there is syntactic sugar. Our friends =~ and && may not have a lot of flair, but help reduce the caffeine intake required to maintain a developer's interest in the task at hand. They add a lot of expressiveness to the code, not to mention compactness.

Let's invent some new characters.

Perl 6 has just about exhausted every combination of non-alpha characters, yet perl programmers want more. During one particularly long afternoon at Java, I was thinking about how unicode could be used to create new symbolic representations of the oft-used functions and classes in perl. Ok, I admit it. I was fantasizing about perl. It gets worse.

In text editors such as gvim, and instance of DBI could look like a stack of pancakes. The foreach would be represented by a loopy arrow. CGI, a spider web. XML::DOM, a who knows what. WebObjects Builder expresses this concept a bit in the page editor. This wacky, programmers-only character set could lead to quite an interesting keyboard (as if the shift key weren't enough trouble for some people).

Posted by Jamie Pitts at 10:08 PM | TrackBack (0)

May 6, 2004

Casual Ontology Development

Members of the Mindswap Project have posted Lifecycle of a Casual Web Ontology Development Process for presentation at the WWW2004 WE-SW Workshop.

The paper begins with an interesting description of a short-hand version of OWL which is designed for rapid entry and clarity.

We limit expressivity (i.e. no support for nested restrictions etc) to maintain readability, yet provide sufficient building blocks to construct a basic ontology model quickly, that can be refined later using a more powerful ontology editing tool. A more formal approach to our shorthand notation is being developed at the side. Source.

Lifecycle then describes a design scenario in which Mindswap's SWOOPed toolkit is used to search for and import terms related to the ontology under construction.

Having found related concepts/properties that the user could potentially use in the ontology being created, the editor interface must provide the user with the ability to either link to the data directly (with or without importing the entire external ontology) or borrow a specific subset of it (using a copy-paste mechanism). Source.

Posted by Jamie Pitts at 7:38 PM | TrackBack (0)

May 3, 2004

PeoplesDNS

Joel De Gan of PeoplesDNS has posted Whats the problem with FOAF?. He intends to add centralization, private information, social circumstance, and groups - all through his FOAF dns concept. It looks like he will use the RELATIONSHIP (the older one?) and Trust ontologies in this effort.

I am very interested in how community centers will use concepts such as pDNS and what their role in the development of open social networking will be. Social "routers" will be able to provide a level of customization (of information, participation, formality, and privacy) which will be required to break social networking away from the big social networks.

PeopleDNS will use a "De Gan Filter" to handle the anticipated large dataset. Last week, Danny Ayers posted a brief summary of De Gan's implementation of bloom filters.

Posted by Jamie Pitts at 2:51 PM | TrackBack (1)

April 28, 2004

RDF Graph Viewer

Craig Sayers of HP Labs announced his RDF Graph Viewer. This is a basic http server in java which generates SVG data. I'd like to know if anyone has taken it for a spin.


Image Source.
Mr. Sayers has made the source code of the test implementation available, as well as a complete write-up about the project: Node-centric RDF Graph Visualization. By way of the W3C RDF Interest Group.

Posted by Jamie Pitts at 3:26 AM | TrackBack (0)

April 15, 2004

Alternatives to Relational DBs

Jim Menard's Alternate Data Storage Technologies is an excellent outline which delves into what type of data store to use in an app. The when to's, when not to's, and real-world cases brought up here are especially relevant to those who might want to use RDF as an alternative to a relational db (or not).

Object Databases
  • Store graph of objects
  • Handle inheritance and circular references
  • Generally tied to a particular OO language, though can have adaptors for other languages
  • Efficiently traverse relationships
  • Don't need to worry about whether an object is in memory or not
  • Handling schema changes can be difficult (see discussion in In-Memory Databases below)
  • Let's Use an Object Oriented Database from the WikiWikiWeb.
Source
By way of Danny Ayers.

Posted by Jamie Pitts at 12:28 AM | TrackBack (0)

March 31, 2004

Situated Software

Clay Chirky has posted Situated Software, an interesting essay in which he describes new approaches to software customization.

Situated software isn't a technological strategy so much as an attitude about closeness of fit between software and its group of users, and a refusal to embrace scale, generality or completeness as unqualified virtues. Source

Posted by Jamie Pitts at 12:22 PM | TrackBack (0)

March 29, 2004

Application Architectures

There have been several posts about a new old application architecture which uses RDF as the M of MVC. Mike Hogan articulated the concept very well (by way of Leigh Dodds).

Do not model your data as objects...

Its just too rigid, it slows you down, it depresses you when you have to refactor half the model due to some new requirement that does not fit. It feels like you are wading through treacle. Objects are not great for data. Source

I'd answer that it is the language and development style (java in this case) that is causing the rigidity, but this is by design. A development community which wishes for an organized, documented approach to construction will not build in mechanisms for the loose expression of a programmer's intent. Leigh pretty much sums it all up with this note:
btw, if you find that you start extending your object model to allow arbitrary property annotation, and some of those properties are actually pointers to other objects in your graph, then that's probably a sign that you may be better off using an RDF based model. And possibly Python too but I've not explored that angle yet. Source
I'd add that perl can do a pretty tight job with the arbitrary property annotation as well; manipulating perl objects and their data is like working with wet clay.

Posted by Jamie Pitts at 2:32 PM | TrackBack (0)

Categories

 AI
 Blogs
 Business
 Data Munging
 Development
 Formats
 How-To
 Ideas
 Languages
 Law
 Ontologies
 OWL
 People
 Products
 Projects
 QOTD
 RDF
 Research
 Social Software
 SRM
 Standards
 Thinking Out Loud
 Trends
 Twitter
 Visualization
 W3C
 Web Services
 Wikis


Small picture of Jamie Pitts When I talk about the semantic web, I feel a lot like Linus. No, not Linus Torvalds. I meant the other one. - JP


whoami?

Projects:
  Winnow My Bloglines Down
  Memecat
  Listgasm


Curently Reading

cover The Art of Unix Programming
Eric Raymond

Semantic People
Danny Ayers
Dave Beckett
Tim Berners-Lee
Tim Bray
Dan Brickley
Marc Canter
Paul Ford
Seth Ladd
Seb Paquet
Clay Shirky
Roland Tanglao
Dave Winer

Syndication:
 RSS Version 1.0
 RSS Version 0.91


Recent Entries
 Rapping About Proper HTML
 The Future of Software Development
 Comet
 Apple's Core Data
 From RDF Browsers to RDF Controllers
 Creative Namespaces and Syntactic Sugar
 Casual Ontology Development
 PeoplesDNS
 RDF Graph Viewer
 Alternatives to Relational DBs

Archives
 April 2009
 April 2008
 March 2008
 February 2008
 January 2008
 November 2007
 October 2007
 September 2007
 August 2007
 June 2007
 May 2007
 April 2007
 March 2007
 February 2007
 January 2007
 December 2006
 November 2006
 October 2006
 September 2006
 August 2006
 July 2006
 May 2006
 April 2006
 March 2006
 February 2006
 January 2006
 November 2005
 October 2005
 September 2005
 August 2005
 June 2005
 May 2005
 April 2005
 March 2005
 January 2005
 December 2004
 November 2004
 October 2004
 September 2004
 August 2004
 July 2004
 June 2004
 May 2004
 April 2004
 March 2004


Creative Commons License
This weblog is licensed under a Creative Commons License.

Powered by Movable Type

Copyright © Jamie Pitts