• : Function split() is deprecated in /hsphere/local/home/guruj/guruj.net/modules/filter/filter.module on line 1200.
  • : Function split() is deprecated in /hsphere/local/home/guruj/guruj.net/modules/filter/filter.module on line 1200.
  • : Function split() is deprecated in /hsphere/local/home/guruj/guruj.net/modules/filter/filter.module on line 1200.
  • : Function split() is deprecated in /hsphere/local/home/guruj/guruj.net/modules/filter/filter.module on line 1200.
  • : Function split() is deprecated in /hsphere/local/home/guruj/guruj.net/modules/filter/filter.module on line 1200.

Bad lecturer archetypes

My memories of attending lectures during my undergraduate degree are fading fast, but I do remember three distinct types of lecturers who used to particularly get my goat:

(1) The Bore - Stands up the front and reads 32 PowerPoint slides word for word. Shows no passion or enthusiasm for the class they are teaching. Regrettably all too common. On the other hand, the Bore is useful because you can safely skip class altogether and just read through the lecture notes in 15 minutes at some later date.

(2) The Rambler - Has slides and/or notes, but ignores them almost completely. Has a tendency to go off on irrelevant tangents and recount "amusing" anecdotes for 40 minutes of the hour. Will typically randomly skip forward and back between slides because their points are covered out of order. The worst ramblers verbally contradict what's written in the notes and then remind you that "all lecture material is examinable".

The path to a liberal democracy

Francis Fukuyama perfectly expresses the difference between freedom and democracy:

... the desire to live in a modern society and to be free of tyranny is universal, or nearly so ... each year [millions of people] move from the developing to the developed world, where they hope to find the political stability, job opportunities, health care, and education that they lack at home.

But this is different from saying that there is a universal desire to live in a liberal society - that is, a political order characterised by a sphere of individual rights and the rule of law. The desire to live in a liberal democracy is ... acquired over time, often as a byproduct of successful modernisation ...

dot point upgrades to Drupal

So, you've created a Drupal site, customized a few bits here or there of Drupal core to satisy your client, and everyone's happy.

Then, a new security update is released. Suddenly those changes look in danger of being overwritten with the upgrade. What to do?

If your changes are just tweaks rather than a major rewrite, the following two-stage upgrade process has always worked well for me. You will need the original Drupal files of your currently installed version ('base'), and a copy of the new version files in another directory ('new'). You also need access to a copy of your production server Drupal files ('live').

Getting started with Bazaar Version Control

Bazaar VCS is a really useful way of keeping and updating snapshots of any project.

While it's designed primarily for programming development, there's no real reason why it can't be applied as version control for any project -- say a collection of Word files.

The chief advantage of Bazaar is that while it can easily be scaled up to use with a whole team of people, it's lightweight enough to be used by a single person. More in the main article...

Making money from Open Source

Matt Asay outlines two principles of successful open source based on a conversation with the CEO of Funambol:

  1. Don't upsell your community, and
  2. Sell open source to those who don't like/trust open source.

... Look at what MySQL has done with its Enterprise offering, coupled with their Network. MySQL took nothing away from its community, but added to what companies wanted (better support, more QA, etc.). Its development/user community gets the freedom of GPL (v2) so that they don't really have to care that there is a company behind the project. Enterprise customers, for their parts, get the commercial license so that they don't really have to care that there is a community behind the product.

Set up local Yum Repository

Creating your Repository

(NB: These instructions assume a Fedora Core 6 installation, but should work with minor modifications for most RPM-based distros.)

  1. Create a directory to hold the repository eg. /media/Fedora/.
  2. Copy the RPMS directory from the Fedora source DVD into this directory.
  3. Run createrepo on this directory:
      # cd /meda/Fedora/RPMS
      # createrepo . 

Using your Repository

  1. Add an entry into /etc/yum.repos.d:

      # vi /etc/yum.repos.d/local.repos  

Link Bundles (aka multi-linking)

Tim Bray recently ran into the problem of choosing between resources when linking information, and wondered if the best option was to not choose, and instead link to multiple things from a single resource.

Having recently been reading about the benefits of Unobtrusive JavaScript (also known under the Hijax moniker), I thought I would try and build a solution that degrades gracefully. My criteria for success were:

Classes using R3

[For the basics of R3 syntax, see the R3 Draft.]

One of the primary things which makes semantic markup useful is that it allows inferences and deductions based upon knowledge. For example, if I know that John is the father of Susan, and Greg is the brother of Susan, then I can create semantic rules like this:

  A brother is a male sibling
  The father of a sibling is the sibling's father.

and deduce from these rules that John is Greg's father.

R3 allows for these kind of relationships to be expressed through using special nodes that are known to belong to an ontology schema. R3 syntax remains exactly the same except for the introduction of a <template/> tag, which defines spaces for placeholders which need to be filled in accordance with certain critera for a relationship to hold. For example:

R3: Reasonably Readable RDF (draft)

[Read my earlier post to understand why I object to RDF/XML, and the need for this replacement.]

R3 is an RDF dialect that is intended to be an isomorphic replacement for the RDF/XML dialect. In addition to the base syntax, R3 may be extended to allow inferences and relationships to be drawn on the basis of class (an alternative to the W3C Web Ontology Language (OWL)).

While a RELAX NG schema is planned, at present the language is primarily defined through a series of examples:

The problems with RDF

The first problem with RDF is that most people's reaction to the term is WTF is RDF?

RDF stands for Resource Descriptor Framework, and is a cornerstone of the Semantic Web as envisioned by Tim Berners-Lee. The basic idea of RDF is very simple: it describes a series of linked objects of the form Subject -- Predicate --> Object. For example, John -- owns --> a Cat.

For the last nine years, Tim has been championing XML and RDF as the solution to the Semantic Web problem.

Yet despite the Web becoming so pervasive that it is almost impossible to imagine living without, the Semantic Web remains a distant dream, and RDF a niche technology known about only by a hardcore few. So what has gone wrong?

Syndicate content