惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

U
Unit 42
P
Proofpoint News Feed
The Last Watchdog
The Last Watchdog
S
Secure Thoughts
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
N
News | PayPal Newsroom
Application and Cybersecurity Blog
Application and Cybersecurity Blog
O
OpenAI News
S
Security @ Cisco Blogs
宝玉的分享
宝玉的分享
Hacker News: Ask HN
Hacker News: Ask HN
T
Troy Hunt's Blog
Google Online Security Blog
Google Online Security Blog
WordPress大学
WordPress大学
有赞技术团队
有赞技术团队
TaoSecurity Blog
TaoSecurity Blog
Help Net Security
Help Net Security
Latest news
Latest news
NISL@THU
NISL@THU
S
Security Affairs
博客园_首页
C
CXSECURITY Database RSS Feed - CXSecurity.com
博客园 - 聂微东
AI
AI
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Recent Announcements
Recent Announcements
P
Privacy & Cybersecurity Law Blog
小众软件
小众软件
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Hugging Face - Blog
Hugging Face - Blog
博客园 - 司徒正美
AWS News Blog
AWS News Blog
W
WeLiveSecurity
Google DeepMind News
Google DeepMind News
I
InfoQ
Schneier on Security
Schneier on Security
Recent Commits to openclaw:main
Recent Commits to openclaw:main
T
The Exploit Database - CXSecurity.com
IT之家
IT之家
T
Threatpost
Scott Helme
Scott Helme
L
LINUX DO - 热门话题
腾讯CDC
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
N
News and Events Feed by Topic
L
LINUX DO - 最新话题
F
Full Disclosure
大猫的无限游戏
大猫的无限游戏
H
Heimdal Security Blog
S
SegmentFault 最新的问题

Henri Sivonen’s pages

Parin vuoden tutkimattomuus crates.io: Rust Package Registry Asiakirjatonta toimintaa It’s not wrong that "🤦🏼‍♂️".length == 7 Koulutartuntojen tilastointimenettely Perusteasiakirjoja hallussapitämättä ikärajoitettu Asiantuntijat ja nukkuva vallan vahtikoira Koronapassilausunto Suppealla tietopohjalla ohimeneväksi väitetty Text Encoding Menu in 2021 The Text Encoding Submenu Is Gone An HTML5 Conformance Checker Not Part of the Technology Stack Browser Technology Stack Bogo-XML Declaration Returns to Gecko A Look at Encoding Detection and Encoding Menu Telemetry from Firefox 86 Why Supporting Unlabeled UTF-8 in HTML on the Web Would Be Problematic Rust Target Names Aren’t Passed to LLVM Toimintamalli Activating Browser Modes with Doctype Johtopäätöksiä mallin rakenteesta Tehtävänmäärittelyä kirjoittamatta ja kuolemia laskematta laumasuojamallinnettu Character Encoding Menu in 2014 Erillissuosituksen tarpeettomuudesta yleissuosituksen poikkeukseksi? STM:n maskiaikajana Rust 2021 Oma-aloitteisesti mallinnettu Kokopinovaatimuksin kilpailutettu chardetng: A More Compact Character Encoding Detector for the Legacy Web Varauksia paisutellen tiedotettu Perusteasiakirjoitta tiedotettu Always Use UTF-8 & Always Label Your HTML Saying So IME Smoke Testing The Validator.nu HTML Parser About the Hiragino Fonts with CSS It’s Time to Stop Adding New Features for Non-Unicode Execution Encodings in C++ Rust 2020 The Last of the Parsing Quirks About about:blank Rust 2019 a Web-Compatible Character Encoding Library in Rust How I Wrote a Modern C++ Library in Rust Using cargo-fuzz to Transfer Code Review of Simple Safe Code to Complex Code that Uses unsafe A Rust Crate that Also Quacks Like a Modern C++ Library #Rust2018 No Namespaces in JSON, Please A Lecture about HTML5 Julkisesti luotettu varmenne ikidomainille TLS:ää (SSL:ää) varten -webkit-HTML5 Lists in Attribute Values The Sad Story of PNG Gamma “Correction” If You Want Software Freedom on Phones, You Should Work on Firefox OS, Custom Hardware and Web App Self-Hostablility HTML5 Parser Improvements ARIA in HTML5 Integration: Document Conformance (Draft, Take Two) Schema.org and Pre-Existing Communities Lowering memory requirements by replacing Schematron HTML5 Parsing in Gecko: A Build Introducing SAX Tree NVDL Support in Validator.nu HOWTO Avoid Being Called a Bozo When Producing XML An Unofficial Q&A about the Discontinuation of the XHTML2 WG Thoughts on HTML5 Becoming a W3C Recommendation Four Finnish Banks Training Users to Give Banking Credentials to Another Site Unimpressed by Leopard Sergeant Semantics The Content Sink Inheritance Diagram – 2006-06-30 What is EME? About Points and Pixels as Units The Performance Cost of the HTML Tree Builder Social Media Impression Management The spacer Element Is Gone Openmind 2006 Performance Mistake XHTML and Mobile Devices WebM-Enabled Browser Usage Share Exceeds H.264-Enabled Browser Usage Share on Desktop (in StatCounter Numbers) HTML5 Parser-Based View Source Syntax Highlighting Vendor Prefixes Are Hurting the Web Accept-Charset Is No More Dualroids Writing Structural Stylable Document in Mozilla Editor ISO-8859-15 on haitallinen Hourglass The Scientific Method According to Hixie Maemo Source Code Karpelan lukkovertaus ontuu Digitaalisesta arkistoinnista ARIA in HTML5 Integration: Document Conformance (Draft) XHTML—What’s the Point? (Draft, incomplete) Mac OS X Browser Comparison HOWTO Spot a Wannabe Web Standards Advocate An Idea About Intermediate Language Trees and Web UI Generation Thoughts on Using SSL/TLS Certificates as the Solution to Phishing Bureaucracy Meets the Web Europe Day HOWTO Establish a 100% Literacy Rate What to Do with All These Photos? Charmod Norm Checking Validator Web Service Interface Ideas DTDs Don’t Work on the Web EFFI’s Day in Court
XTech 2006
Henri Sivonen · 2011-12-22 · via Henri Sivonen’s pages

I went to the XTech 2006 conference last week.

The Arrival

I had booked my flights well in advance assuming that there would be no non-tutorial conference activity on Tuesday. I had an evening flight, so I missed the Mozilla reception that took place on Tuesday and was announced late.

The Opening Keynotes

On Wednesday, the main keynote was given by Paul Graham. His topic was recreating Silicon Valley elsewhere. (See Suw Charman’s slightly condensed write-up.) I think there was insight and some truth in his points—perhaps not 100%, though. Considering the recent events in France, his point about the freedom to fire people went probably the most against the European relationship of business and people. It appears that at least one person (reacting in English :-) considered Graham’s language comment offensive.

Interestingly, Graham said that the tolerance of lawlessness (e.g. using illegal Mexican construction workers) is an advantage for the U.S. Certainly slow bureaucracy is not good, but I doubt that having a culture of breaking the law is good especially if it means that some people live without the protection of the law. In 2000 (IIRC) I heard Jaakko Rytsölä, who made a lot of money out of Saunalahti during the Bubble, speak about what was great about Finland when starting up a business. One of his points was that the infrastructure ran and things worked out like they were supposed to by default without having to grease the wheels with bribes (think Russia) and without having to fight slow telcos (think France—in the past at least).

The second opening keynote was given by Jeffrey McManus of Yahoo! He talked about Yahoo!’s sites where the value is in collective user data and about the code and specs / documentation that Yahoo! has released recently for others to use.

Brief Notes on Sessions

There were four tracks in the conference. I mainly followed the browser technology track, which meant I missed interesting server-side stuff on the core technology track. Compared to the WWDC, it is certainly nice that the proceedings are not under an NDA, so here are a few notes.

  • Robert Sayre spoke about the feed user experience. Gecko is getting a feed parsing service, which is nice. I do have some concerns about the API abstraction, though. Even though we now have Atom, the problems of RSS still take presentation time.

  • Myk Melez’s microsummary session was a moment of learning, because the subject matter had totally flown under my radar.

  • Jonas Sicking had a session about XBL 2.0. In general, XBL came up here and there to the extent that, despite all the politics, there now seems to be a reason to believe that XBL could finally make its way into Opera and WebCore as well. According to Dean Jackson, sXBL is dead, which clears up the politics quite a bit.

  • Benjamin Smedberg talked about XULRunner (which should be expected to get a new name). Firefox will be a XULRunner app and the main gateway app for building an installed base. Questions focused on how updating XULRunner will work.

  • Vladimir Vukićević spoke about rich graphics capabilities. Beyond this session, in general, it appears that people are very interested in the canvas element. Text rendering is an issue. One of the possible solutions is adding the ability to draw styled HTML fragments so that CSS text layout would be inherited in canvas.

  • David Baron talked about the fundamental assumptions in CSS layout, which was interesting, because usually the fundamentals are taken for granted and not analyzed.

  • Robin Berjon had a session about the process of developing efficient XML—an alternative non-XML infoset serialization, that is. (I jumped tracks here.)

    • The process was very interesting and it sounded carefully considered.

    • They don’t want everyone rolling their own.

    • Schema-aware candidates depend on XSD. Not cool.

    • The candidates do better in terms of size and speed than gzipped XML.

    • The mobile use case assumes the origin server to accommodate mobile UAs (unlike Opera Mini which solves the problem by being a distributed UA). I don’t really believe in a model that requires the origin servers to jump through mobile hoops, but perhaps there could be some merit to a standardized compressed format that would allow higher range mobile devices to use a compressing proxy without having to commit to a single vendor for both the browser and the proxy. I still think Opera Mini makes a lot of sense for devices that are positioned below S60.

    • I think that the Compact Syntax for RELAX NG and text/html serialization for HTML5 make a lot of sense, but I still have doubts about generic alternative infoset serializations.

  • Daniel Glazman presented Etna, the RELAX NG-based XML editor he and Laurent Jouanneau have been working on.

    • Very, very cool!

    • Daniel was not shy to say that Etna solves some really old markup editing problems.

    • Competing products sold with training because they are so hard to use.

    • Etna performs RELAX NG validation on a DOM tree.

    • Document is valid before and after each editing operation.

    • The schema engine allows the editor to query for legal operations and natural-language labels for elements.

    • Schemata can be annotated using elements for natural-language labels, flagging defaults and blank templates. Templates handle caret position and initial selection. Annotating schema is the right way to go, because this stuff needs to be available in the context given by the grammar derivations that lead to the node in the document that is being edited. There is no point in duplicating the selection (as in Selectors) mechanism.

    • From the point of view of my master’s thesis, supporting Etna is scope creep, but I think I should still look into it.

  • Mark Birbeck demoed XForms, XBL and SVG in Forms Player. Forms Player seemed to work well, but it was still in practice pretty implementation-specific stuff.

  • Thomas Meinike from Merseburg University of Applied Sciences talked about SVG in Firefox. I was disappointed, because the presentation focused too much on the very basics of SVG.

  • Ryan King of Technorati spoke about designing microformats. As he pointed out himself, teaching people how to design them is more interesting that just going up there and telling people to use particular class names. I think the microformat design procedure made a lot of sense. However, I’d still like to see format consumer use cases getting more attention. Now the focus is still slanted on the side of expressing things. I also complained about the lack of precision in the hCalendar and hCard specs. (I was unable to extract machine-checkable conformance criteria.)

  • Donna Benjamin from Open Source Industry Australia gave a presentation about ODF and digital preservation. (I jumped tracks again.) I took interest in this topic, because in 2002 in the National Archives of Finland my job was to look into this sort of thing. Moreover, back then I recommended against using the OpenOffice.org word processing format for long-term preservation. (If you want to play it safe, store CCITT Group 4-compressed monochrome TIFFs for appearance [unless, of course, there is color] and NFC-normalized UTF-8 plain text for search.)

    The question I had was this: Four years ago I recommended against archiving the OOo format and, sure enough, it is already obsolete. The ODF format is so complex that it is non-trivial to write independent implementations after a hundred years. How do I know the OOo folks don’t innovate so much in the next four years that ODF is obsolete in four years? (Note to the OfficeXML proponents out there: Please don’t quote me out of context. OfficeXML is at least as problematic for long-term preservation.)

    I got an answer from another member of the audience. The answer was that, yes, there is already a new version of ODF in the spec pipeline, but when there’s a new version of the format, migrating documents from the previous version is sufficiently easy.

    I still have serious doubts about archiving documents with spreadsheet formulas, etc. But at least the word processing format without generated content is not worse than plain text, because salvaging the text out of ODF is pretty easy.

  • Dean Jackson talked about the status of the W3C Rich Web Client Activity. Politics!

    • The workshop on compound documents was mentioned. At that time the browser vendors were voted down and the WHAT WG was born. Dean quoted Brendan Eich from that time. Later there was on-the-mic dialog with Dean and Brendan and the tone was much friendlier.

    • The page for The Björn Höhrmann Project was shown. The umlauts were broken due to a Safari bug, which somehow fit the situation.

    • Dean, in his W3C role, actually said “HTML5”. Great!

    • He talked about evolutionary and revolutionary approaches (WHAT WG and W3C, respectively, of course). However, it seems to me that the evolutionary approach required an organizational revolution.

    • Everyone seemed to be looking at Hixie when Dean talked about small focused specs.

    • The HTML WG will be rechartered!

    • The W3C is looking into adopting Web Forms 2.0! (Perhaps as an XHTML 1.x module to avoid touching the HTML-as-SGML-but-not-really issue.)

    • Mark Birbeck said something about innovation. (I guess the implication was that XForms is innovation but WF 2.0 isn’t.) Dean asked if standards are supposed to be innovative. Birbeck said he wished he had known to go elsewhere. Innovation, according to him, is going on in a different plane.

    • Brendan said no to declarative things in stone tablets. Must have scripting.

    • Brendan asked about patents. Dean wouldn’t comment on specifics. Brendan (IIRC) said that Microsoft is asking their lawyers if they can cooperate.

  • Erik Bruchez of Orbeon talked about doing Ajaxy stuff by developing an XForms app and having Orbeon’s server-side translation layer between the XForms app and a real Web browser so that the browser sees Ajaxy stuff and the app sees XForms. Technically, it seemed like quite a trick they’ve managed to pull off. He talked about not wanting to know how to do this or that in JS. I had flashbacks of enterprisey J2EE promises of not having to write Java and instead writing these nice declarative XML files. Anne van Kesteren, who was himself there, was quoted on a slide saying “XForms is the semantic counterpart to Ajax.” (Follow the link to see the actual context.)

  • Michael Smith of Opera Software spoke about bringing Web 2.0 to mobile devices. People should have mobile access to the real Web instead of access to walled garden “Mobile Web”. With Opera, you get the real Web. The mobile scene in Japan is different. There are services, but they are in walled gardens.

  • Håkon Lie talked about various Web issues.

    • Canvas 3D was demoed. It wraps OpenGL ES. (Implementations coming up in both Opera and Firefox.)

    • Ajax is a misnomer.

    • Canvas and JS enable interesting new things.

    • Opera’s installed base on mobile devices has grown a lot.

    • Widget packaging format ripe for standardization.

    • Most text on the Web is rendered using MS fonts.

    • Browsers should get the ability to download free ($0) fonts (referenced from CSS) from the Web and load them to the underlying font engine on the fly. (An audience member expressed doubts about security. MS has TrueType fonts that cause infinite loops—presumably in the TT hinting engine. Opera has asked MS to share them. Not shared yet.)

    • A typical Norwegian newspaper site uses more bytes for images than a font would take.

    • According to research by an unnamed corporation, there are “only” 500 free ($0) fonts on the Web. Wow! 500! How many do you need?

    • Browsers should be able to address into zip files served on HTTP. A guy with a Mozilla t-shirt pointed out the jar URI scheme in Mozilla. (I tend to think that’s the way to go.)

    • Opera, Mozilla and Apple should work together.

  • Andrei Popescu from Nokia Research Center presented the Mini Map navigation method in the new S60 browser that uses Web Core. I have not had a chance to use Mini Map myself, but it looked useful. As usual, writable static data in DLLs was cited as a problem when porting to Symbian C++.

I did not see anyone recording the sessions, and they probably were not recorded. However, it would be great if the sessions on the other tracks were available through e.g. IT Conversations. I’d be particularly interested in MP3s of the presentations by Uche Ogbuji, Steven Pemberton, Eric van der Vlist, Mark Nottingham and David Megginson.

The Social Dimension

More important than the sessions were the people. I had a chance to meet, for the first time, many people with whom I have been discussing Web issues online for years. I don’t even try to list everyone here, but as an extreme example, Hixie and I have been on various mutual fora for about seven years and my upcoming master’s thesis is based on his specs, but we hadn’t met f2f before.

I met many people, which was very nice. Still, there were people on the other tracks who I know were there and whose blogs I read or whose libraries power my code but who I didn’t get a chance to meet. Well, time was limited.

Overall, the various unofficial discussions were a very significant part of the conference. After all, having the people in the same place is the whole point.

Meals

I had breakfast every day in a small café next to the conference hotel. I had Italian-style coffee and French-style pastry. Interestingly, that place seemed to be the only option near the conference hotel in the morning. One would think there’d be more business opportunities selling breakfast in the city center.

I did not buy the official lunches, because they would have cost about €50 per day. I did miss out on the social aspect of the official lunches, but I don’t particularly regret it. On Wednesday, I had a social lunch with other students who hadn’t paid for the official lunches. On Tuesday, I accidentally didn’t catch anyone who was eating out, so I had on unsocial lunch. On Friday, I spent the entire lunch time recovering from rain that had soaked parts of my clothes.

On Tuesday, I joined a mostly Operatic group for dinner, which was nice. The restaurant was chosen by applying Flipism in real life, which was cool. Minting namespaces over dinner seems to be very unbureaucratic way to do it.

On Wednesday, I joined a mostly Mozillan group for dinner, which was nice. A restaurant that served Dutch food was chosen. Dutch pancakes inspired a discussion about what constitutes a pancake, about standardization and about local freedom in the EU. It seems that Dutch pancakes and French crêpes at the ends of the spectrum and the Finnish style is in between. (The diameter increases and the thickness decreases towards crêpes.)

Amsterdam

I liked the low-rise old architecture. Having channels here and there looked good. The city was very pedestrian and biker-friendly. Pedestrian-friendly cities are always more pleasant than the unfriendly ones (like Los Angeles).

In general, the city was very nice. (Photos)

Except for the weird side, of course.

In Finland, when I said I was going to Amsterdam, people seemed to associate the name Amsterdam with drugs and prostitution, so I guess those issues are going to be the elephant in the room if I don’t comment on them somehow. (I don’t really know what the Dutch feel about this association. I figured the topic might be like Bush for Americans—something you are totally tired of discussing with every foreigner—so I didn’t try to get a large sample of opinions. However, my sample of two suggests it isn’t like Bush for Americans. Hmm…)

“Coffee shops” were here and there. They were a strange phenomenon, but they didn’t really bother me that much. One guy wanted to sell me drugs on the street, which I didn’t like.

Several people told me that if you go to Amsterdam, you really should walk into the Red Lights District, too. So I did. It was very surreal and disturbing. I’ll omit a longer analysis. Here’s one observation, though: To avoid supporting the operation, I didn’t buy anything—not even a post card—in the area. Yet, I realized afterwards that just by being there as an observing tourist one contributes to the image of normalcy of the whole thing, which caused a feeling of complicity.

In fairness, people also associate Amsterdam with bicycles. There were a lot of those, which seems healthy. They were older style and lower tech that the ones you see in Helsinki but they had heavier lock chains. I guess the moment your bike stands out of the others, the probability of your bike getting stolen increases significantly, so everyone wants to have the same kind of bike. One guy wanted to sell me a bicycle on the street, which I didn’t like.

On Wednesday the weather was very nice even though it rained late at night. On Thursday it was colder, but the weather was still nice, because I had appropriate clothing. On Friday the weather was terrible. In the morning it rained heavily and my shoes, lower parts of my jeans and my jacket got soaked. It was very windy the whole day.

Next year, XTech will take place in Paris.

Random Observations

  • Apple and IBM were by far the two most popular laptop brands.

  • Ubuntu, as far as I noticed, was the most popular GNU/Linux distro.

  • No participants from Apple or Microsoft. (WebCore was represented by Nokia, though.)

  • There’s still some tipping going on in the Netherlands. Tipping always gives foreigners an opportunity to appear as total jerks when they get it wrong (either way). I think I got it wrong at least once. In Finland, the prices include tax and service. I like that. The customer sees the real price, and rude customers (or clueless foreigners like me) can’t forgo paying for service. In the last decade, some other EU countries have moved away from tipping. Perhaps with time the entire EU will get there.

  • WLAN in the conference hotel required people to use a HTTP-based login hack every now and then. That was not nice at all. It was particularly uncool when it disrupted presentations. When a venue is that expensive, I think they should have an open WLAN indoors and perhaps use the positioning of the base stations to curb usage outside the walls (if they really care). I mean you don’t have to log in separately to get water or to use the toilets.

  • People said things like: “We are working on this cool thing foo and it would be nice to standardize it through the WHAT WG.” and “We are implementing this cool thing foo which is being standardized by the WHAT WG.”

  • Strangely, credit cards were not widely accepted. (They wanted Maestro which appeared to be an online light version of MasterCard—like Visa Electron is for Visa.) I used my credit card only once: to buy the ticket from Schiphol to Centraal. However, when I tried to do the reverse (reasonable expectation, I thought), I could not buy a ticket from Centraal to Schiphol using credit card. The option in the vending machine UI was disabled. Not cool. Delayed my schedule. I still caught my plane, though.

  • In general, it was possible to speak English to a random person in Amsterdam and to get a reply in intelligible English.

  • To facilitate the mobility of people, the EU could require English labeling of various groceries. The stuff that they put next to milk—how do you know what it is? Yogurt? (Yes, the labels don’t have English on them in Finland, either.)

The Closing Keynotes

Jeff Barr of Amazon gave a closing keynote on Amazon’s Mechanical Turk service. (Yes, it appears they have gotten the name into production past the corporate political correctness police.) The Mechanical Turk is a service that allows software to delegate tasks that require human intelligence to actual humans. For example, if you have a catalog of photos of chairs and tables, you can have humans tell you which are which. Another example is transcribing podcasts and reviewing transcripts.

As an idea this makes a lot of sense. There are some tasks that are best handled by humans even if the tasks are so boring that a software developer would intuitively want a machine to take care of them. I guess there isn’t even anything inherently wrong about hiring people to carry out boring work, even if software developers tend to prefer less boring (even if harder) work. (Here people aren’t hired. They just pick tasks from a Web page and get paid on a per-task basis. Not having to hire people was advertised as a benefit.)

However, what gave at least me an uneasy feeling was how little the people who carry out the tasks get paid. The speaker even touted as a presumably good thing how much people are willing to do for as little as one cent. I did some quick approximative math in my head based on the sample tasks and figured that the pay is really lousy. (Yes, I have done useful work without pay myself, but the intrinsic satisfaction of the tasks in those cases has been very different form the tasks available on the Mechanical Turk and my own interests have been the deciding factor in what to do.)

After the presentation, there was one question about REST and SOAP. Otherwise, the questions concerned labor issues. One person asked how can someone who submits tasks to the service know that tax laws aren’t being violated. I asked two questions: What country are the transcriptionists in who are willing to transcribe podcasts for the little money offered? How much did Amazon offer for a task that required the person to be a software developer? Barr dodged both questions leaving them unanswered. (I guess he did not want to say “United States”.) He did, however, say that this is market economy at work and no one is forced to do anything. Another person asked about screening for child labor. Barr replied that participation requires an Amazon account, which requires a credit card and kids don’t have those. Yet, earlier he had said that the Mechanical Turk is banned at his son’s school.

Brendan Eich gave the main closing Keynote on JavaScript 2.0. Lots of interesting technical stuff. The slides are available, so I don’t try to summarize. A few points, though: JS 2.0 will be compatible with JS 1.x but won’t be compatible with a previous 2.0 proposal implemented in JScript.Net. Spidermonkey will get the new stuff (obviously). Opera is on board. It is not clear whether Rhino is. E4X won’t be a part of the core spec.

Conclusions

The conference was well worth attending. I am very happy that I went there. Last year I felt I was missing out on something important. I’m hoping to go to Paris next year.