It’s not about Webkit, silly. It’s about evolution.
February 20, 2013 § Leave a Comment
« Webkit is a rust bucket. We can’t move away from it, because our users rely on its bugs as much as on its features, but it’s based on deprecated technologies, concepts that don’t scale anymore, and it just won’t match today’s needs or hardware. If we had any choice, we would dump the whole thing and restart from scratch. »
Fun with Windows paths.
June 19, 2012 § 3 Comments
I am currently attempting to implement a JavaScript library to handle file system paths in a portable manner.
Right now, I am having lots of fun with Windows paths and I wanted to share a few tidbits.
Under Windows, a path name can look like:
- “\\?\drivename:” followed by backslash-separated components.
Such paths can be either relative or absolute.
In such paths, “.”, “..” and “/” are regular file names. - “\\.\drivename:” followed by backslash-separated components.
Such paths can be either relative or absolute.
In such paths, “.”, “..” and “/” are special names. - “\\?\UNC\servername” followed by backslash-separated components.
Such paths can only be absolute.
In such paths, “.”, “..” and “/” are regular file names. - “\\servername” followed by slash- or backslash- components.
Such paths can only be absolute.
In such paths, “.”, “..” and “/” are special names. - “drivename:” followed by slash- or backslash- components.
Such paths can be either relative or absolute.
In such paths, “.”, “..” and “/” are special names. - Just a series of slash- or backslash- components.
Such paths can be either relative or absolute.
In such paths, “.”, “..” and “/” are special names.
To simplify things further, depending on the version of Windows, a drive name can be:
- only one letter between A and Z;
- any sequence of letters between A an Z;
- something that looks like Volume{41AF5D4F-04CC-4D15-9389-734BD6F52A7E}.
Also
- if a path starts with “\\?\”, its length is limited to 32,767 chars;
- otherwise, its length is limited to 260 chars.
Also
- some names such as “LPT”, “COM”, etc. are reserved and cannot be used as file names;
- … unless your path starts with “\\”.
Also
- paths are case-insensitive;
- … except when they are case-sensitive because of the disk format;
- … except when they are case-sensitive because of something else.
Fortunately, the Windows APIs provides the following functions to simplify matters:
- PathCanonicalize (completely broken);
- GetFullPathName (broken);
- GetLongPathName (requires access permissions just to tell you if a path is well-formatted);
- UriCanonicalize (not sure what it does exactly, I haven’t tested it yet).
Of course, not all Windows API functions accept all schemes.
As you can imagine, I am having lots of fun.
Quick exercise given two paths A and B (either absolute or relative), how do you determine the path obtained by concatenating A and B?
If you are interested in following my progress, details are on bugzilla.
Quelques scénarios pour une université libre, responsable et au poil soyeux.
December 6, 2007 § 7 Comments
La France a besoin de réformes, et ce n’est pas une minorité de tire-aux-flancs — qu’il s’agisse de quelques étudiants visiblement excités ou de fonctionnaires attachés à des privilèges odieux et incapables de concevoir le changement et qui relèvent incontestablement d’un autre âge — qui empêchera le progrès. Ne vous fiez pas aux bruits dans la rue, notre président a la poigne suffisamment ferme pour faire appliquer la très attendue loi sur la Liberté et la Responsabilité des Universités.
Cette loi se résume en deux points :
- Donner tous les pouvoirs au Conseil d’Administration et à son représentant, le président de l’université, qui pourra agir les coudées franches, aussi bien sur le plan de l’embauche que sur celui des financements ou des frais d’inscription.
- Imposer la présence d’industriels au susdit Conseil d’Administration.
Voyons ceci plus en détail :
« Read the rest of this entry »