Skip to content

Subversion for dummies

24-Mar-08

While you can certainly check out a working copy with the URL of the repository as the only argument, you can also specify a directory after your repository URL. This places your working copy in the new directory that you name. For example:

$ svn checkout http://svn.collab.net/repos/svn/trunk subv
A subv/Makefile.in
A subv/ac-helpers

That will place your working copy in a directory named subv instead of a directory named trunk as we did previously. The directory subv will be created if it doesn’t already exist.

Working with a branch: you can check out a working copy of calc project to start using it:

$ svn checkout http://svn.example.com/repos/calc/branches/my-calc-branch
A my-calc-branch/Makefile
A my-calc-branch/integer.c
A my-calc-branch/button.c

The Click Is Dead

18-Feb-08

A recent study finds that 6% of Web users generate 50% of the click-throughs. Worse news for advertisers: these clickers are not representative of the population as a whole, most have incomes under $40K, and their clicks are not related to any offline buying. The number of clicks on an ad campaign is also not strongly correlated with brand awareness for the ads’ subject, according to the study.

This is bad news for ad-supported Web sites and businesses, as rates should drop if the Net economy begins to take these findings seriously.

Social Networking Recommendation System

08-Feb-08

While social networking services provide a variety of ways for users to connect and interact, arguably the defining characteristic of social networking services is a recommendation system based on trust. Social networking software attempts to enable the sharing of judgment, letting you leverage somebody else’s trust and knowledge about other people, and letting you share your own knowledge and judgment. How well they work depends on the trust metrics and the model for using those metrics. Yahoo, Amazon, Slashdot, and Daily Kos all have their distinct reputation systems.

The FOSS social network site Advogato (www.advogato.org) is interesting in that it was set up specifically to test a model for attack-resistant trust metrics for peer certification. Raph Levien’s model claims that the trust metric used in Advogato exhibits “resistance to catastrophic failure in the face of a sufficiently massive attack. Instead, the number of bad nodes [nodes under the control of an attacker] accepted scales linearly, and with a fairly small constant, with the number of certificates from valid accounts to bogus ones. It is also easy to compute efficiently and fairly simple to understand. As such, it should find applications in…defining online communities, reliably excluding spammers, trolls, and other common annoyances.”

Remote KDE or Gnome Session is multi-platform!

30-Jan-08

krfb sous kde permet de gerer des “invitations” et propose de confirmer la prise de controle lorsqu’un connexion est faite.

VNC est un protocole bien connu (je sais pas si il est Libre ou standard). N’importe quel client vnc fait l’affaire.

Web 2.0 Software

17-Jan-08

All of the Web 2.0 systems that follow can be grouped under the convenient label of social software, software that
exists to facilitate group processes. If anything the importance of Web 2.0 is that it is inextricably
intertwined with the growth of social software.

Blogs
A blog is a system that allows a single author (or sometimes, but less often, a group of authors) to write
and publicly display time-ordered articles (called posts). Readers can add comment to posts.

Wikis
A wiki is a system that allows one or more people to build up a corpus of knowledge in a set of interlinked
web pages, using a process of creating and editing pages. The most famous wiki is Wikipedia.

Social bookmarking
A social bookmarking service provides users the ability to record (bookmark) web pages, and tag those
records with significant words (tags) that describe the pages being recorded. Examples include del.icio.us
and Bibsonomy. Over time users build up collections of records with common tags, and users can
search for bookmarked items by likely tags. Since items have been deemed worthy of being bookmarked
and classified with one or more tags, social bookmarking services can sometimes be more effective than
search engines for finding Internet resources. Users can find other users who use the same tag and who
are likely to be interested in the same topic(s). In some social bookmarking systems, users with common
interests can be added to an individual’s own network to enable easy monitoring of the other users’
tagging activity for interesting items. Syndication (discussed below) can be used to monitor tagging activity
by users, by tags or by both of these.

Media-sharing services
These services store user-contributed media, and allow users to search for and display content. Besides
being a showcase for creative endeavour, these services can form valuable educational resources.
Compelling examples include YouTube (movies), iTunes (podcasts and vidcasts), Flickr (photos),
Slideshare (presentations), DeviantArt (art work) and Scribd (documents). The latter is particularly
interesting as it provides the ability to upload documents in different formats and then, for accessibility, to
choose different download formats, including computer-generated speech, which provides a breadth of
affordances not found in traditional systems.
Podcasting is a way in which a listener may conveniently keep up-to-date with recent audio or video
content. Behind the scenes podcasting is a combination of audio or video content, RSS, and a program
that deals with (a) RSS notifications of new content, and (b) playback or download of that new content to a
personal audio/video player. Vidcasts are video versions of podcasts,

Social networking and social presence systems
Systems that allow people to network together for various purposes. Examples include Facebook and
MySpace (for social networking / socialising), LinkedIn (for professional networking), Second Life (virtual world) and Elgg (for knowledge accretion and learning).
Social networking systems allow users to describe themselves and their interests, and they generally implement notions of friends, ranking, and communities. The ability to record who one’s friends are is a common feature that enables traversal and navigation of social networks via sequences of friends. Ranking and communities are more selectively implemented. Ranking of user contributions by community members allows for reputations to be built and for individuals to become members of good standing; this can be an important motivator for the individual contributions that make for a thriving community. The ability to create sub-communities allows for nurturing and growth of sub-community interests in an environment that provides a degree of insulation
from the general hub-bub of system activity.

Collaborative editing tools
These allow users in different locations to collaboratively edit the same document at the same time. As yet
most of these services do not allow for synchronous voice or video communication, so the use of third
party synchronous communication systems are often needed to co-ordinate editing activity. Examples are
Google Docs & Spreadsheets (for text documents and spreadsheets), and Gliffy (for diagrams). There
are over 600 such applications.

Syndication and notification technologies
In a world of newly added and updated shared content, it is useful to be able to easily keep up to date with
new and changed content, particularly if one is interested in multiple sources of information on multiple
web sites. A feed reader (sometimes called an aggregator) can be used to centralise all the recent
changes in the sources of interest, and a user can easily use the reader/aggregator to view recent
additions and changes. Behind the scenes this relies on protocols called RSS (Really Simple Syndication)
and Atom to list changes (these lists of changes are called feeds, giving rise to the name feed reader). A
feed reader regularly polls nominated sites for their feeds, displays changes in summary form, and allows
the user to see the complete changes.

Mashups
Web 2.0 also adds the notion of mashups, where users can mix and repurpose data for their own needs.
The current state of the art is represented by Yahoo Pipes, a web-based facility that allows users to mix
and process web-based data without needing to know a programming language.

User Experience Of The Future

30-Nov-07

reactable.jpgOver decades we’ve used to adapt our habits, behavior and mindset to technology. We’ve improved our productivity by using tools and devices designed especially for the tasks we have to deal with regularly. But we’ve also constrained our abilities to the features of the very tools and devices we’ve become dependant on.

We’ve got used to a number of things. To traditional mouse-keyboard user interaction, to 2D windows-based user interface and to a rather unspectacular user’s workflow which enables one user interact with only one application at a time. For instance, while you’re browsing in your web browser you can’t scale your text and resize your window simultaneously — unless you are a keyboard-shortcut-master.

Good news: it can be different. Below we present some of the outstanding recent developments in the field of user experience design. Most techniques may seem very futuristic, but they are reality. And in fact, they are extremely impressive. Keep in mind: they can become ubiquitous over the next years.

Installing Xen On An Ubuntu Feisty Fawn Server

18-Oct-07

xen_logo.pngThis tutorial provides step-by-step instructions on how to install Xen on an Ubuntu Feisty Fawn (Ubuntu 7.04) server system (i386). You can find all the software used here in the Ubuntu repositories, so no external files or compilation are needed.

Xen lets you create guest operating systems (*nix operating systems like Linux and FreeBSD), so called “virtual machines” or domUs, under a host operating system (dom0). Using Xen you can separate your applications into different virtual machines that are totally independent from each other (e.g. a virtual machine for a mail server, a virtual machine for a high-traffic web site, another virtual machine that serves your customers’ web sites, a virtual machine for DNS, etc.), but still use the same hardware. This saves money, and what is even more important, it’s more secure. If the virtual machine of your DNS server gets hacked, it has no effect on your other virtual machines. Plus, you can move virtual machines from one Xen server to the next one.

Fixing VI in Ubuntu Feisty

18-Oct-07

If you want to use vi as your text editor in Ubuntu Feisty you should run:

apt-get install vim-full

The vim-full package makes sure that the vi text editor behaves as expected (without vim-full, you might experience some strange behaviour in the vi text editor).

Search Engine friendly URL

13-Oct-07

It seems to be another hot topics among PHP users. The idea is, using such a URL

http://host.net/aa/bb/cc/dd

is better than usual php thing

http://host.net/index.php?aa=bb&cc=dd

And with mod_rewrite,

RewriteRule ^/*index.php - [L]
RewriteRule ^/*(([^/]+)/+([^/]+)/+([^/]+)/*(.*)$ index.php?$1=$2&$3=$4 [L]

do something like this.

While simple example like this works, more complex rule could be tricky. Although the string parsing power of mod_rewrite is not that bad, it should be much easier to do your own parsing in php using $_SERVER{QUERY_STRING} or $_SERVER{REQUEST_URI} and other variables.

Here is very inefficient but flexible version. It can treat any number of parameters, but I think it is a resource consuming hog.

RewriteRule ^/*index.php - [L]

RewriteRule ^/*([^/]+)/+([^/]+)(.*)/*$ $3?$1=$2 [L,QSA]
RewriteRule ^([^/]+)$ index.php?$1 [L,QSA]

Tring to double the parameters treated in one round.

RewriteRule ^/*index.php - [L]

RewriteRule ^/*([^/]+)/+([^/]+)/+([^/]+)/+([^/]+)(.*)/*$ $5?$1=$2&$3=$4 [L,QSA]
RewriteRule ^([^/]+)$ index.php?$1 [L,QSA]

A little better idea is, using such a URL

http://host.net/bb/dd (instead of http://host.net/aa/bb/cc/dd)

to obtain this.

http://host.net/index.php?aa=bb&cc=dd

RewriteRule ^/*index.php - [L]
RewriteRule ^/*(([^/]+)/+([^/]+)/*(.*)$ index.php?aa=$1&bb=$2&$3 [L]

While the URL looks better and more efficient, this one is not flexible.

More here and here.

Web site performance auditing tools

12-Oct-07

YSlow analyzes web pages and tells you why they’re slow based on the rules for high performance web sites. YSlow is a Firefox add-on integrated with the popular Firebug web development tool. YSlow gives you:

  • Performance report card
  • HTTP/HTML summary
  • List of components in the page
  • Tools including JSLint

Download Firebug here.

Download YSlow here.