Cover photo
Ian Hickson
Works at Google
Attended Bath University


Ian Hickson

Free Pascal  - 
Sheesh, I really miss a looping construct where the condition is in the middle. Something equivalent to:

      if (condition) then break;
   until false;

...but without the ugly "until false", and ideally with "continue" jumping to the block after the condition rather than back to the top.
Michael Schindler's profile photoIan Hickson's profile photoMario Ray Mahardhika's profile photo
If the code duplication becomes a problem, I would replace part A with a procedure, possibly inlined. Sure, this is a fix and not the most elegant way, but for many practical problems it works good enough. I also assume, that a loop without continues and breaks is easier to optimize automatically for the compiler and easier to parallelize. On the other hand, you finally made me curious about this feature in Oberon.
Add a comment...

Ian Hickson

Shared publicly  - 
FYI, I updated Acid3 today to disable test 67, originally contributed by Sylvain Pasche, since it was testing attributes.removedNamedItemNS() which has since been removed from the DOM specification.

This change was requested by Ms2ger, who is affiliated with Mozilla.

People who are using archived versions of Acid3 can obtain an updated copy of the archive here:
Paul Henning's profile photoMart Rootamm's profile photo
To clarify a bit: I found out this April that the test worked in IE7 on early September 2011, but not soon after that.
Add a comment...

Ian Hickson

Questions  - 
I write code in FreePascal. There's a delphi-mode, which is close to FreePascal, so I tried using that. But it forces certain indentation behaviour (even once you turn off as much as you can).

So... is there some way to unbind keys like RET and tab and so forth so that they don't do anything special? Really I'd just like the delphi-like font-lock colours, and nothing else from that mode.
Andrew Hyatt's profile photoIan Hickson's profile photoArtur Malabarba's profile photo
I looked there long before coming here. :-)
Add a comment...

Ian Hickson

Shared publicly  - 
Discussions about DRM often land on the fundamental problem with DRM: that it doesn't work, or worse, that it is in fact mathematically impossible to make it work. The argument goes as follows:

1. The purpose of DRM is to prevent people from copying content while allowing people to view that content,

2. You can't hide something from someone while showing it to them,

3. And in any case widespread copyright violations (e.g. movies on file sharing sites) often come from sources that aren't encrypted in the first place, e.g. leaks from studios.

It turns out that this argument is fundamentally flawed. Usually the arguments from pro-DRM people are that #2 and #3 are false. But no, those are true. The problem is #1 is false.

The purpose of DRM is not to prevent copyright violations.

The purpose of DRM is to give content providers leverage against creators of playback devices.

Content providers have leverage against content distributors, because distributors can't legally distribute copyrighted content without the permission of the content's creators. But if that was the only leverage content producers had, what would happen is that users would obtain their content from those content distributors, and then use third-party content playback systems to read it, letting them do so in whatever manner they wanted.

Here are some examples:

A. Paramount make a movie. A DVD store buys the rights to distribute this movie from Paramount, and sells DVDs. You buy the DVD, and want to play it. Paramount want you to sit through some ads, so they tell the DVD store to put some ads on the DVD labeled as "unskippable".

Without DRM, you take the DVD and stick it into a DVD player that ignores "unskippable" labels, and jump straight to the movie.

With DRM, there is no licensed player that can do this, because to create the player you need to get permission from Paramount -- or rather, a licensing agent created and supported by content companies, DVD-CCA -- otherwise, you are violating some set of patents, anti-circumvention laws, or both.

B. Columbia make a movie. Netflix buys the rights to distribute this movie from Columbia, and sells access to the bits of the movie to users online. You get a Netflix subscription. Columbia want you to pay more if you want to watch it simultaneously on your TV and your phone, so they require that Netflix prevent you from doing this.

Now. You are watching the movie upstairs with your family, and you hear your cat meowing at the door downstairs.

Without DRM, you don't have to use Netflix's software, so maybe just pass the feed to some multiplexing software, which means that you can just pick up your phone, tell it to stream the same movie, continue watching it while you walk downstairs to open the door for the cat, come back upstairs, and turn your phone off, and nobody else has been inconvenienced and you haven't missed anything.

With DRM, you have to use Netflix's software, so you have to play by their rules. There is no licensed software that will let you multiplex the stream. You could watch it on your phone, but then your family misses out. They could keep watching, but then you miss out. Nobody is allowed to write software that does anything Columbia don't want you to do. Columbia want the option to charge you more when you go to let your cat in, even if they don't actually make it possible yet.

C. Fox make a movie. Apple buys the rights to sell it on iTunes. You buy it from iTunes. You want to watch it on your phone. Fox want you to buy the movie again if you use anything not made by Apple.

Without DRM, you just transfer it to your phone and watch it, since the player on any phone, whether made by Apple or anyone else, can read the video file.

With DRM, only Apple can provide a licensed player for the file. If you're using any phone other than an iPhone, you cannot watch it, because nobody else has been allowed to write software that decrypts the media files sold by Apple.

In all three cases, nobody has been stopped from violating a copyright. All three movies are probably available on file sharing sites. The only people who are stopped from doing anything are the player providers -- they are forced to provide a user experience that, rather than being optimised for the users, puts potential future revenues first (forcing people to play ads, keeping the door open to charging more for more features later, building artificial obsolescence into content so that if you change ecosystem, you have to purchase the content again).

Arguing that DRM doesn't work is, it turns out, missing the point. DRM is working really well in the video and book space. Sure, the DRM systems have all been broken, but that doesn't matter to the DRM proponents. Licensed DVD players still enforce the restrictions. Mass market providers can't create unlicensed DVD players, so they remain a black or gray market curiosity. DRM failed in the music space not because DRM is doomed, but because the content providers sold their digital content without DRM, and thus enabled all kinds of players they didn't expect (such as "MP3" players). Had CDs been encrypted, iPods would not have been able to read their content, because the content providers would have been able to use their DRM contracts as leverage to prevent it.

DRM's purpose is to give content providers control over software and hardware providers, and it is satisfying that purpose well.

As a corollary to this, look at the companies who are pushing for DRM. Of the ones who would have to implement the DRM, they are all companies over which the content providers already, without DRM, have leverage: the companies that both license content from the content providers and create software or hardware players. Because they license content, the content providers already have leverage against them: they can essentially require them to be pro-DRM if they want the content. The people against the DRM are the users, and the player creators who don't license content. In other words, the people over whom the content producers have no leverage. 
Steve Faulkner's profile photoChristian Kaiser's profile photoErik Lentz's profile photoRoland Orre's profile photo
What kind of world are you living in +Randall Arnold, in theory immaterial rights like patents (I refuse to use the weird collective term abbreviated  by IP...) would cover an implementation of a specific idea, but then came these abominations denoted "software patents" and "business model patents". Have you ever seen a software patent covering a specific method implemented in some particular language? No, it's pure monopolism on ideas!
Also when you study material patents you'll find that it's merely the idea behind a design which is patented. Then in English it's also a little confusing as "patents" can refer to "design patents" (bascially a specific pattern or shape) as well as the "idea patents" which most people associate with patents.

Ian Hickson

Shared publicly  - 
Heard about this on the Freakonomics podcast this week. If you have a decision you need to make, and you can't chose between two options, give this a try — it'll help you decide, and you contribute to science at the same time!
Fridrik Mar Jonsson's profile photo
I recommend going back to the early episodes -- it seems they're doing less of the more thorough pieces these days, but there's a lot of good stuff in there.

Ian Hickson

Shared publicly  - 
The thing that's fascinating about the most recent Der Spiegel leaks about the NSA is that it makes a lot of the things that seemed unrealistic in spy TV shows and movies now seem positively mundane.

I never considered that if I bought a $2 USB cable online, I should expect the NSA to intercept the package and install a circuit board into the plug that turned the USB cable into a wifi device. Or that if I bought off-the-shelf Ethernet RJ45 plugs, they might be delivered after the NSA has installed MITM hardware in them. Or that the NSA might be illuminating my house with 1kW radar to power wireless microphones and keyboard loggers.
Rijk van Geijtenbeek's profile photoTshomarelo Matras's profile photo

Ian Hickson

Questions  - 
Is there a way in Emacs to fill paragraphs in the way that Pine's paragraph justifier works?

Specifically, when a set of paragraph is of this form:

> > A B C
> > D E.
> Foo foo foo
> foo foo.
> Bar bar bar
> bar bar.
Baz baz baz
baz baz.

...I want four paragraphs to end up being flowed, not one mess to result from it as happens with fill-paragraph.
Lee Rothstein's profile photoMathias Dahl's profile photoIan Hickson's profile photoEric Hanchrow's profile photo
+Ian Hickson

You're joking, right?

Starting a question about emacs: "Is there a way ... ?" The answer is always, "No!"

There is never one way to do anything in emacs. A 1000 ways. 10,000 ways. Perhaps, even, a transfinite number of ways, but never "A WAY!" ;-)
Add a comment...

Ian Hickson

Shared publicly  - 
Today we reached revision 8000 of the HTML standard. We started tracking revisions in March 2006, about two years after we started work on HTML in the WHATWG, which itself was about 6 months after we first started the work on updating HTML (when we first started, we called the work "XForms Basic", because we were trying to show that you could do much of what XForms did, by just extending plain old HTML — that work eventually made it into the forms section of the current HTML standard).

That's an average of three checkins a day, every day, for over seven years! That's what progress looks like. :-) Some checkins are trivial one-character typo fixes, some, like today's r8000, are big multi-thousand-line diffs (r8000 integrates the new <template> element into HTML, based on a proposal by Rafael (of Google) and Tony (of Microsoft), and implemented already in Chrome and Firefox).

As of right now my metrics tell me there's 1199 feedback e-mails remaining to process, and 156 bugs. So still lots of work to do.
Jim Cresswell's profile photoJamie Hall's profile photoFred Gandt's profile photoDonald Pipowitch's profile photo
yeah! living standard is chaos theory in action :)

Ian Hickson

Shared publicly  - 

Ian Hickson

Shared publicly  - 
This is quite fascinating, and still very relevant, including for those of us working on the Web platform.

The video has the occasional skipped beat; there's also a transcript here:
In this talk Guy Steele shows us with great skill what it is like to have to couch one's thoughts in too small a set of terms, be it in speech or in code.  He makes a strong case for how we should strive, when we draw up the plans for a new tongue for code (as it were), to give those who use it the tools to grow it to meet their needs -- not to leave them stuck with just such poor means as we build in to say what they must (or, if they can add more means, to have these not fit in), nor to cram it from square one with far more stuff than they can hope to learn. 

/from +Glenn Willen on the thread (and no, links don't count.)
Igor Minar's profile photoAlex Russell's profile photoHarald Tveit Alvestrand's profile photoIan Hickson's profile photo
+Alex Russell Yeah, agreed entirely about the importance of a component mechanism and this talk being an argument for that. It's also an argument for many of the ES improvements.
HTML spec editor
  • Google
    Spec Weenie, 2005 - present
  • Opera Software
    QA & Standards, 2003 - 2005
  • Netscape
    Intern (QA & Standards), 2000 - 2001
Basic Information
Other names
Hixie, Hixie the Pixie
✔ Verified Geek and Cat Lover
  • Bath University
    Physics, 1998 - 2001
Contact Information
Public - a month ago
reviewed a month ago
Bland and dry.
Public - 10 months ago
reviewed 10 months ago
Food: Very goodDecor: Very goodService: Good
Public - a year ago
reviewed a year ago
23 reviews
Food is flavourful and well presented, though the butter chicken is spicier than buttery. Service is friendly and accommodating, though easily confused.
Food: Very goodDecor: Very goodService: Good
Public - a year ago
reviewed a year ago
Public - 2 years ago
reviewed 2 years ago
Only a golf course. No playground.
Public - 2 years ago
reviewed 2 years ago