1. 1

      Mods, can I merge this (‘my’) submission with/into the submission that contains the official announcement? (I couldn’t find an official way to propose a merge, hence this comment.)

    1. 2

      At work, we log everything via sysog(), which is feed into splunk which means we can search in pretty much real time across the entire system. For each message we log via syslog(), a unique tag is used, for example:

      T0011: Can not open configuration file %s: %s
      T0180: Significant clock skew detected (%llu uS)
      

      The tag (the T0011 or T0180) are just allocated sequentially as needed (the T component has 246 defined log messages). Each component has a separate prefix (they are not restricted to a single letter—I wrote a component with the prefix NIEnnnn for example). This makes it easy to search for a particular log message or for messages for a particular component.

      The other thing we do is log key performance indicators (KPI). Receive a request? Log it. Experienced an error? Log it. I took the idea of statd from Etsy that makes it easy to log such events. For example, when a component I use experiences a DNS timeout, I run:

      stat.incr("nie.dns.timeout")
      

      which sends a message to the statd to increment the counter “nie.dns.timeout”. At regular intervals, statd will output all the information via syslog() (which leads into splunk). It was simple enough to write my own version of statd (the Etsy one does more than we wanted). It’s easy to just add new KPI entries (if statd receives a name it doesn’t have, it starts a counter for it) and I’ll add metrics just because.

      Given all that, we have debugged some pretty hairy situations, like bad network routing, memory leaks, certain crashes, and the utter garbage requests we can’t parse from our customers (who I would have expected to know better).

      1. 1

        The other thing we do is log key performance indicators (KPI).

        You might want to have a look at Prometheus with Grafana for that.

        1. 1

          I’ve looked at Prometheus (another team at work uses that) and the thing I didn’t like about it was that it polls for data instead of receiving data. Yes, there is a way to feed data into Prometheus, but from what I’ve read, it is extremely discouraged to use that, and instead, let Prometheus poll for the data. In my case, this means embedding a web server into several components that don’t use HTTP (or even TCP for that matter—they all use UDP) for network transfers.

      1. 4

        I am amazed that mutt is still alive and kicking. Fond memories of another Internet

        1. 4

          It’s very much alive and kicking - there’s even NeoMutt, a fork with added features. As someone who’s used Mutt/NeoMutt almost every day for 20+ years, it’s still very much useable today. Yes, HTML email does make things a bit painful, but there are workarounds.

          1. 1

            I’m using a stripped down version of elinks to do HTML -> plaintext conversions, both for mail and some other projects. w3m is also popular for this task.

            Do you have other solutions you’d like to share?

            1. 3

              I’m using pretty much the same, albeit with w3m. I use a modified version of view_attachment.sh to handle attachments (grabbed from The Homely Mutt - there are plenty of other great tips in that article).

              1. 1

                Thanks. I’m working on a bidirectional mail gateway which does Unicode/MIME/RFC-5322/RFC-6854 <—> ASCII-ANSI-X3.4-1986/RFC-822 conversions.

                Converting MIME/Base64 encoded parts into to UUENCODE and back is straightforward (and lossless).

                The lossy transliteration of Unicode characters into plaintext equivalents is less straightforward and there is a wealth of prior art.

                The task of ceating a usable presentation of modern HTML mail as plaint text, however, is more of an art than a science.

              2. 2

                FWIW urlscan is another useful tool https://github.com/firecat53/urlscan

                In mutt I bind this to C-b so I can quickly open some link in my browser

            2. 2

              I’m actually still an elm user, myself.

              1. 2

                I also still use it. Works great, no nonsense. Sure, when I want to see an image I have to scp it to my local system, but hey :)

              1. 7

                I remember playing with Slackware around 20 years ago - it was so nice fast distribution with dead simple package management. Non-standard software you had to compile yourself with all the dependencies resolved on your own :) Oh fond memories…

                1. 2

                  I started off with Slackware in 1996. I got a six-pack (I believe) of Linux distros on cdrom. It shipped Red Hat, Debian and Slackware.

                  My friend told me Slackware is the hardest-core so I decided to jump in the deep end immediately.

                  Zero regrets!

                  1. 3

                    Same for me but two years later, 1998. Using Slackware was likely one the biggest contribution to my career. The fact that it forced me to really understand what was going on taught me so much about operating systems, software development and open source. I haven’t used Slack in a looong time, but I hold it dear in my memories!

                    1. 2

                      Exactly! And these were times before Google, even, so everything had to be learned the hard way. Like patching Joliet support into the kernel for cdroms.

                      LFS was another big thing. I ran that for quite a while too, think with Debian packaging.

                      The switch to Debian, after forays into Red Hat and Mandrake, felt like a nice retirement from that, like something I’d earned through self-education.

                  2. 2
                    1. 1

                      Nowadays the package management is as simple as ever, but the collection of binary packages is huge and very up to date (much more so than ubuntu). For example, there are only a few days between a new release of gcc or clang and their official slackware packages, so you always run a really modern system.

                    1. 6

                      I agree with every word of this. It’s good to have a suitable label that nicely encapsulates the concept.

                      I would like to see some examples. I would say that https://www.gov.uk/ would be one of the best examples of brutalist web design. What do you think?

                      1. 3

                        I was worried that I clicked into a spam site when I visited it!

                        1. 3

                          Like the sibling comment, I, too, had my “parked domain” flags triggered. However, the actual practice of using the gov.uk constellation of websites is fantastic. Very easy to use.

                          The login.gov stuff and related things in the US are catching up to the usability of the UK sites.

                          1. 2

                            Like the sibling comment, I, too, had my “parked domain” flags triggered.

                            I agree, but once you scroll down it improves a lot. Nice site.

                        1. 14

                          I’ve been using Macs for nearly a decade on the desktop and switched to Linux a couple of months ago. The 2016 MacBook Pro finally drove me to try something different. Between macOS getting more bloated each release, defective keyboard, terrible battery life, and the touch bar I realized that at some point I stopped being the target demographic.

                          I switched to Manjaro and while there are a few rough edges as the article notes, overall there really isn’t that much difference in my opinion. I’m running Gnome and it does a decent enough job aping macOS. I went with Dell Precision 5520, and everything just worked out of the box. All the apps that I use are available or have equivalents, and I haven’t found myself missing anything so far. Meanwhile it’s really refreshing to be able to configure the system exactly the way I want.

                          Overall, I’d say that if you haven’t tried Linux in a while, then it’s definitely worth giving another shot even though YMMV.

                          1. 4

                            terrible battery life

                            Really? It’s that bad? The Dell is better?

                            1. 3

                              I don’t know about Dell, but my 2016 MacBook Pro was hit pretty hard after the Specter/Meltdown fix came out. I used to go 5 or 6 hours before I was down to 35-40%. Now I’m down to %20-25% after about 4 hours.

                              1. 2

                                Same here. I wonder if the specter/meltdown fiasco has at all accelerated Apple’s (hypothetical) internal timeline for ARM laptops. Quite the debacle.

                                In regards to the parent, I have actually been considering moving from an aged Macbook Pro 15” (last of the matte screen models – I have avoided all the bad keyboards so far), to a Mac /desktop/ (mac pro maybe). You can choose your own keyboard, screen, and still get good usability and high performance. Then moving to a linux laptop for “on the road” type requirements. Being able to leave work “at my desk” might be nice too.

                                (note: I work remotely)

                                1. 3

                                  I honestly don’t understand the fetish for issuing people laptops, particularly for software development type jobs. The money is way better spent (IMHO) on a fast desktop and a great monitor/keyboard.

                                  1. 2

                                    Might be the ability to work remotely. I’m with you, though, that laptops are a bizarre fetish, as is working from Anywhere You Want(!)

                                    1. 2

                                      It’s an artifact of, among other things, the idea that you PURSUE YOUR PASSIONS and DO WHAT YOU LOVE*; I don’t want to “work anywhere” – I want to work from work, and leave that behind when I go home to my family. But hey, I’m an old, what do I know.

                                      *: what you love must be writing web software for a venture funded startup in San Francisco

                                  2. 2

                                    Same here. I wonder if the specter/meltdown fiasco has at all accelerated Apple’s (hypothetical) internal timeline for ARM laptops.

                                    I wouldn’t guess that. Apples ARM design was one of the few also affected by meltdown. Using it for a laptop wouldn’t have helped.

                                    1. 1

                                      I bought a Matebook X to run Arch Linux on and it’s been pretty great so far.

                                      1. 1

                                        I’ve been thinking about a librem 13. I’ll take a look at the matebook too. Thanks!

                                  3. 2

                                    Yeah I get 4-6 hours with the Dell, and I was literally getting about 2-3 hours on the Mac with the same usage patterns and apps running. I think the fact that you can be a lot more granular regarding what’s running on Linux really helps in that regard.

                                    1. 5

                                      +1 about deciding what you run on GNU/Linux.

                                      I have a Dell XPS 15 9560 currently running Arch (considering switching to NixOS soon), and with Powertop and TLP set up I usually get around 20 hours (yes, 20 hours) per charge on light/normal use.

                                      1. 1

                                        Ha! Thanks for this I didn’t know these were available!

                                        1. 1

                                          No problems! They’re very effective, and are just about the first package I install on a new setup.

                                1. 1

                                  I distinctly remember including HotBot in a list of Internet search engines I had to compile for some kind of “internet literacy” school project I had to do in 4th grade or so. So that’s a hell of a nostalgic name for me. Interesting that they’re still around, and claim to be a “private” search engine along the lines of Duck Duck Go - anyone have any idea of how trustworthy that claim is?

                                  1. 2

                                    It probably means they have no budget to do any fancy user tracking. IIRC that was also actually the reason behind DDG’s initial “we don’t track you” policy. Then they figured out it was actually a niche selling point, and made it a proper feature. [citation needed]

                                  1. 3

                                    Nice to know about – I’ve got a few python scripts that’ll help clean up a bit.

                                    (Note also the <<- here-doc variant, which is similarly convenient when writing shell scripts.)

                                    1. 3

                                      Here docs/strings are awesome.

                                      Another use case I like (beyond ascii art) is embedding test text file contents in a string along with the test itself. When you come back to it later, instead of the indirection of looking up the contents of an external file and cluttering up the file system, you have it right there with the test.

                                      1. 5

                                        Perl has __DATA__, which is places at the end of the code in the file, and everything which comes after you can read with the DATA filehandle (I don’t know where Larry stole this idea from).

                                        So a file looks like:

                                        #!/usr/bin/env perl
                                        
                                        print "here be dragons!\n"
                                        __DATA__
                                        {
                                           "id": 42
                                        }
                                        

                                        and you can read that last bit by passing a filehandle along. Pretty nice to embed simple stuff in test files, for example.

                                      2. 1

                                        Note that the <<- heredoc form only works on text indented with tabs, other kinds of white space will be ignored.

                                      1. 5

                                        What I don’t really understand is how Andrew has a comfortable standard of living in NYC on $600 per/month.

                                        https://www.patreon.com/andrewrk/overview

                                        I’m guessing that there must be another source of Zig donations aside from Patreon?

                                        1. 7

                                          Savings?

                                          1. 2

                                            Oh woops, I misread the first paragraph, I thought it stated that Zig was supporting him entirely, when it’s actually about his programming supporting him.

                                            1. 3

                                              Note that this isn’t his first attempt at doing this. But the project he was working on before Genesis didn’t find the same traction as Zig has. BUT, if I recall correctly, he also didn’t live in NYC the last time… Anyway, he’s got experience with living frugally, so I’m sure he knows what he’s doing here.

                                              1. 2

                                                he extrapolated the donations growth versus his savings.

                                            2. 2

                                              What I don’t understand is if you are not working in NYC anymore, and only working on your own and getting donation, why doesn’t he move to anywhere but NYC to minimise his personal expense?

                                              I’m sure there are cities in the US with 80% the fun of NYC at lower than 80% of the cost.

                                              1. 17

                                                I work remote, and there are places I could move that are < 20% of the cost.

                                                My friends aren’t going to move with me, and I have enough money to live where I am. Why be wealthy and lonely?

                                                1. -10

                                                  Didn’t know your city is the only source of friends in the world. That must be good for the economy.

                                                  1. 32

                                                    I know that this is very hard for some people to believe (seems to be harder the more western the society is), but some people don’t consider their friends a replaceable commodity. Not that I don’t want to make new friends, but these are my friends right now and I am more loyal to them than I am to a meaningless job or to money.

                                                    1. 4

                                                      Maybe because your partner has a job he/she really enjoys in this city? I mean, we’re lucky in our field to have a lot of different possibilities, in remote or not, mostly well paid. Let’s not forget that it’s a chance and not something everybody has.

                                                  2. 2

                                                    The usual reason is the significant other.

                                                    1. 1

                                                      There’s a shit-ton of them. Even Memphis TN that’s close to me with all its problems is low cost of living with all kinds of fun stuff to do. Just don’t live in or shop around the hood. Solves most of problems if you don’t have kids going to school or college.

                                                      There’s plenty of cities in the US that similarly have low cost of living with plenty going on. One can also live in areas 30-40 min from cities to substantially reduce their rent. The fun stuff still isn’t that far away. The slight inconvenience just knocks quite a bit off the price.

                                                      1. 4

                                                        I don’t remember the details, and I can’t find the link, but a few years ago someone did some research here in Berlin where they compared the cost of rent in more-or-less the city proper, and the cost of rent + public transportation tickets when you lived in the outskirts. It ended up being not much of a difference.

                                                        1. 2

                                                          Well, if you don’t workin in the city and need to commute then you spend even less. Though OTOH, you get tax returns for commutes in Germany so probably the commute is not that expensive to begin with.

                                                          1. 2

                                                            Berlin is currently the city with the highest increase in rent world-wide and a few years ago, it was unusually low.

                                                            Also, Berlin is hard to compare in many aspects, possibly because of a very unique city history.

                                                    1. 2

                                                      Anyone got any idea how stable (financially) gitlab is?

                                                      1. 3

                                                        My research found it’s a YC-backed company that wants to grow up to a 2020 IPO. It took tens of millions in VC funding probably because they were spending more than they were earning. They’re probably not stable specifically because the strategy requires them to adapt and take what chances they need to for that IPO. If they IPO, they’ll probably stabilize a bit focusing on recurring profit.

                                                        Although their numbers are private, they did have this neat page where they describe goals and results of various positions over time. Might have some educational value for how these jobs work in a fast-moving startup with products like this.

                                                        1. 2

                                                          Interesting document, thanks. And I didn’t know they entered the YC circus (in 2015).

                                                      1. 14

                                                        I really hate browser notifications. I never click yes ever. It feels like preventing browsers from going down this hole is just yet another hack. The Spammers and the CAPTCHAers are fighting a continuous war, all because of the 2% of people who actually click on SPAM.

                                                        1. 7

                                                          I’m amazed there is no “deny all” setting for this

                                                          1. 5

                                                            My firefox has that in the settings somewhere:

                                                            [X] Block new requests asking to allow notifications

                                                            This will prevent any websites not listed above from requesting permission to send notifications. Blocking notifications may break some website features.

                                                            help links here: https://support.mozilla.org/en-US/kb/push-notifications-firefox?as=u&utm_source=inproduct

                                                            1. 2

                                                              Did anyone find the about:config setting for this, to put in ones user.js? I am aware of dom.webnotifications.enabled, but I don’t want to disable it completely because there are 3 websites which notifications I want.

                                                              1. 3

                                                                permissions.default.desktop-notification = 2

                                                            2. 1

                                                              there always has been in Chrome and Safari and since very recently, there’s also one in Firefox. It’s the first thing I turn off whenever I configure a new browser. I can’t possibly think of anybody actually actively wanting notifications to be delivered to them.

                                                              Sure, there’s some web apps like gmail, but even there - I’d rather use a native app for this.

                                                              1. 3

                                                                I can’t possibly think of anybody actually actively wanting notifications to be delivered to them.

                                                                Users of web-based chat software. I primarily use native apps for that, but occasionally I need to use a chat system that I don’t want to bother installing locally. And it’s nice to have a web backup for when the native app breaks. (I’m looking at you, HipChat for Windows.)

                                                            3. 5

                                                              There is a default deny option in Chrome, takes a little digging to find though. But I agree that it’s crazy how widespread sites trying to use notification are. There’s like 1 or 2 sites that I actually want them from, but it seems like every single news site and random blog wants to be able to send notifications. And they usually do it immediately upon loading the page, before you’ve even read the article, much less clicked something about wanting to be notified of future posts or something.

                                                              1. 1

                                                                The only time I have clicked “yes” for notifications is for forums (Discourse only at this point) that offer notifications of replies and DMs. I don’t see a need for any other websites to need to notify me.

                                                              1. 4

                                                                Oh man, the memories. Great video, thanks for sharing – I doubt I would have run across it otherwise.

                                                                1. 2

                                                                  tl;dw, what is it about? A documentary about the game?

                                                                  1. 6

                                                                    It’s really an overview of adventure games during the late 80s through the 90s all the way to today - with a focus on the Monkey Island games and SCUMM-built games (as well as their competitors). If you love that style of adventure game you’d probably get a lot out of this video.

                                                                    1. 2

                                                                      Ah, alright! Thanks! I’ll take a look later when I have time.

                                                                      1. 1

                                                                        I watched the one about Quake from the same channel. It was nicely done, but a bit long and minor repetitive. Will keep this one for later since I still want to play Monkey Island unspoiled one day :)

                                                                  1. 1

                                                                    Nice. Guess you need quite a bit of traffic before using this becomes necessary.

                                                                    1. 11

                                                                      gpg encrypted file somewhere. With a simple grep script if I need a password, and a vim plugin to edit gpg files if I need to add/update something.

                                                                      1. 1

                                                                        I do something similar but I could not wrap my head around gpg yet: I have a 2GB pendrive that I always mount to /mnt/key and have /mnt/key/ssh /mnt/key/pop3… files encrypted with enchive. It have a --agent flag to make it act as an ssh-agent.

                                                                      1. 5

                                                                        Bonus points for using Python to get fields out of a Perl file :)

                                                                        1. 3

                                                                          btw, the perl equivalent of the python (kinda):

                                                                          grep -i apl /usr/share/perl/5.26.2/unicore/Name.pl| \
                                                                             perl -C -pe'print chr("0x" + (split " ", $_, 2)[0]), " "'
                                                                          

                                                                          (since you obviously have perl installed already)

                                                                        1. 3

                                                                          None. I find the talks usually too slow, and I’m rubbish at the networking part.

                                                                          Hmmm, maybe those two things are related…

                                                                          1. 3

                                                                            The real crisis will come when they decide to rewrite it in a “modern” language. Programming languages are overrated.

                                                                            1. 4

                                                                              Do you mean that in the sense that all languages are equal in terms of their ability to solve a problem, so the rewrite is both unnecessary?

                                                                              I agree that it will be a catastrophe if people decide to just rewrite whole systems, but not because all languages are equal but because rewrites are technically very challenging (recent examples include outages from RBS and TSB when they did big-bang rewrites and deployments of major systems).

                                                                              1. 1

                                                                                COBOL is probably a bad language by most criteria that you can come up with. And yet… Has that it mattered that much?

                                                                                1. 2

                                                                                  Has that it mattered that much?

                                                                                  This question is really hard to answer and probably doesn’t have one. I’ve worked in enough projects that were objective failures but human nature makes us turn it into a success in some way. Maybe if the software was kept more up-to-date my bank wouldn’t have maintenance windows on Sundays where I cannot do any transactions? Or maybe if the software was implemented in a more expressive language it would be less code so easier to maintain. But then you can always argue that when this software was written, COBOL was more-or-less the only game in town so would you rather not have the banking software at all?

                                                                                  So, I don’t know if mattered that much, I don’t know if anyone does. So I don’t think it’s that interest of a statement to make. I do think advising caution if people want to migrate away from it is an interesting discussion to have, though.

                                                                              2. 1

                                                                                Do you think runtime environments are also overrated?

                                                                                1. 1

                                                                                  I have no idea what a “COBOL runtime environment” looks like, to be honest.

                                                                              1. 5

                                                                                A few months ago, in a crowded subway car T in Boston, I had my laptop open, working on some hobby C++ code. Someone sat next to me, noticed my code, and exclaimed “Is that C? I didn’t know anyone used C any more”.

                                                                                1. 4

                                                                                  What did you answer? It’s a tricky question.

                                                                                  1. 3

                                                                                    I think I said “Yes, some people still do” and left it at that.

                                                                                    1. 3

                                                                                      That was nice of you. Id say, “Well, it depends on what they want to accomplish. What language were you using most?”

                                                                                      (Mentions one written in C/C++.)

                                                                                      (Uses that as example to explain why people use it.)

                                                                                      I like to have just a little fun with those situations.

                                                                                1. 16

                                                                                  TLDR;

                                                                                  • In 2004 Apple, Mozilla and Opera were becoming increasingly concerned about the W3C’s direction with XHTML, lack of interest in HTML, and apparent disregard for the needs of real-world web developers and created WHATWG as a way to get control over the web standards
                                                                                  • they throw away a whole stack of powerful web technologies (XHTML, XSLT…) whose purpose was to make the web both machine readable and useful to humans
                                                                                  • they invented Live Standards that are a sort of ex-post standards: always evolving documents, unstable by design, designed by their hands-on committee, that no one else can really implement fully, to establish a dynamic oligopoly
                                                                                  • in 2017, Google and Microsoft joined the WHATWG to form a Steering Group for “improving web standards”
                                                                                  • meanwhile the W3C realized that their core business is not to help lobbies spread broken DRM technologies, and started working to a new version of the DOM API.
                                                                                  • in 2018, after months of political negotiations, they proposed to move the working draft to recommendation
                                                                                  • in 2018, Google, Microsoft, Apple and Mozilla felt offended by this lack of lip service.

                                                                                  It’s worth noticing that both these groups have their center in the USA but their decisions affects the whole world.

                                                                                  So we could further summarize that we have two groups, one controlled by USA lobbies and the other controlled by the most powerful companies in the world, fighting for the control of the most important infrastructure of the planet.

                                                                                  Under Trump’s Presidency.

                                                                                  Take this, science fiction! :-D

                                                                                  1. 27

                                                                                    This is somewhat disingenuous. Web browser’s HTML parser needs to be compatible with existing web, but W3C’s HTML4 specification couldn’t be used to build a web-compatible HTML parser, so reverse engineering was required for independent implementation. With WHATWG’s HTML5 specification, for the first time in history, a web-compatible HTML parsing got specified, with its adoption agency algorithm and all. This was a great achievement in standard writing.

                                                                                    Servo is a beneficiary of this work. Servo’s HTML parser was written directly from the specification without any reverse engineering, and it worked! To the contrary to your implication, WHATWG lowered barrier to entry for independent implementation of web. Servo is struggling with CSS because CSS is still ill-specified in the manner of HTML4. For example, only reasonable specification of table layout is an unofficial draft: https://dbaron.org/css/intrinsic/ For a laugh, count the number of times “does not specify” appear in CSS2’s table chapter.

                                                                                    1. 4

                                                                                      You say Backwards compatibility is necessary, and yet Google managed to get all major sites to adopt AMP in a matter of months. AMP has even stricter validation rules than even XHTML.

                                                                                      XHTML could have easily been successful, if it hadn’t been torpedoed by the WHATWG.

                                                                                      1. 15

                                                                                        That’s nothing to do with the amp technology, but with google providing CDN and preloading (I.e., IMHO abusing their market position)

                                                                                        1. -1

                                                                                          abusing their market position

                                                                                          Who? Google? The web AI champion?

                                                                                          No… they do no evil… they just want to protect their web!

                                                                                      2. 2

                                                                                        Disingenuous? Me? Really? :-D

                                                                                        Who was in the working group that wrote CSS2 specification?

                                                                                        I bet a coffee that each of those “does not specify” was the outcome of a political compromise.

                                                                                        But again, beyond the technical stuffs, don’t you see a huge geopolitical issue?

                                                                                      3. 15

                                                                                        This is an interesting interpretation, but I’d call it incorrect.

                                                                                        • the reason to create whatwg wasn’t about control
                                                                                        • XHTML had little traction, because of developers
                                                                                        • html5 (a whatwg standard fwiw) was the first meaningful HTML spec because it actually finally explained how to parse it
                                                                                        • w3c didn’t “start working on a new Dom”. They copy/backport changes from whatwg hoping to provide stable releases for living standards
                                                                                        • this has nothing to do with DRM (or EME). These after completely different people!
                                                                                        • this isn’t about lobby groups, neither is this avout influencing politics in the US or anywhere.

                                                                                        I’m not speaking on behalf of my function in the w3c working group I’m in, nor for Mozilla. But those positions provided me with the understanding and background information to post this comment.

                                                                                        1. 8

                                                                                          XHTML had little traction, because of developers

                                                                                          I remember that in early 2000s everyone started to write <br/> instead of <br> and it was considered cool and modern. There were 80x15 badges everywhere saying website is in xhtml. My Motorola C380 phone supported wap and some xhtml websites, but not regular html in builtin browser. So I had impression that xhtml was very popular.

                                                                                          1. 6

                                                                                            xhtml made testing much easier. For me it changed many tests from using regexps (qr#<title>foo</title>#) to using any old XML parser and XPATH.

                                                                                            1. 3

                                                                                              Agreed. Worth noting that, after the html5 parsing algorithm was fully specified and libraries like html5lib became available, it became possible to apply exactly the same approach with html5 parsers outputting a DOM structure and then querying it with xpath expressions.

                                                                                          2. -1

                                                                                            This is an interesting interpretation, but I’d call it incorrect.

                                                                                            You are welcome. But given your arguments, I still stand with my political interpretation.

                                                                                            the reason to create whatwg wasn’t about control

                                                                                            I was 24 back then, and my reaction was “What? Why?”.

                                                                                            My boss commented: “wrong question. You should ask: who?”

                                                                                            XHTML had little traction, because of developers

                                                                                            Are you sure?

                                                                                            I wrote several web site back then using XML, XSLT and XInclude serverside to produce XHTML and CSS.

                                                                                            It was a great technological stack for distributing contents over the web.

                                                                                            w3c didn’t “start working on a new Dom”. They copy/backport changes from whatwg hoping to provide stable releases for living standards

                                                                                            Well, had I wrote a technical document about an alternative DOM for the whole planet, without anyone asking me to, I would be glad if W3C had take my work into account!

                                                                                            In what other way they can NOT waste WHATWG’s hard work?
                                                                                            Wel, except saying: “guys, from now on do whatever Google, Apple, Microsoft and few other companies from the Silicon Valley tell you to do”.

                                                                                            But I do not want to take part for W3C: to me, they lost their technical authority with EME (different group, but same organisation).

                                                                                            The technical point is that we need stable, well thought, standards. What you call live standard, are… working draft?

                                                                                            The political point is that no oligopoly should be in condition to dictate the architecture of the web to the world.

                                                                                            And you know, in a state where strong cryptography is qualified as munitions and is subject to export restrictions.

                                                                                            I’m not speaking on behalf of my function in the w3c working group I’m in, nor for Mozilla. But those positions provided me with the understanding and background information to post this comment.

                                                                                            I have no doubt about your good faith.

                                                                                            But probably your idealism is fooling you.

                                                                                            As you try to see these facts from a wider perspective, you will see the problem I describe.

                                                                                          3. 4

                                                                                            XHTML was fairly clearly a mistake and unworkable in the real world, as shown by how many nominally XHTML sites weren’t, and didn’t validate as XHTML if you forced them to be treated as such. In an ideal world where everyone used tools that always created 100% correct XHTML, maybe it would have worked out, but in this one it didn’t; there are too many people generating too much content in too many sloppy ways for draconian error handling to work well. The whole situation was not helped by the content-type issue, where if you served your ‘XHTML’ as anything other than application/xhtml+xml it wasn’t interpreted as XHTML by browsers (instead it was HTML tag soup). One result was that you could have non-validating ‘XHTML’ that still displayed in browsers because they weren’t interpreting it as XHTML and thus weren’t using strict error handling.

                                                                                            (This fact is vividly illustrated through syndication feeds and syndication feed handlers. In theory all syndication feed formats are strict and one of them is strongly XML based, so all syndication feeds should validate and you should be able to consume them with a strictly validating parser. In practice plenty of syndication feeds do not validate and anyone who wants to write a widely usable syndication feed parser that people will like cannot insist on strict error handling.)

                                                                                            1. 2

                                                                                              there are too many people generating too much content in too many sloppy ways for draconian error handling to work well.

                                                                                              I do remember this argument was pretty popular back then, but I have never understood why.

                                                                                              I had no issue in generating xhtml strict pages from user contents. This real world company had a couple handred of customers with pretty various needs (from ecommerce, to online magazines or institutional web sites) and thousands of daily visitors.

                                                                                              We used XHTML and CSS to distribute highly accessible contents, and we had pretty good results with a prototype based on XLS-FO.

                                                                                              To me back then the call to real world issues seemed pretestuous. We literally had no issue. The issues I remember were all from IE.

                                                                                              You are right that many mediocre software were unable to produce proper XHTML. But is this an argument?

                                                                                              Do not fix the software, let’s break the specifications!

                                                                                              It seems a little childish!

                                                                                              XHTML was not perfect, but it was the right direction.

                                                                                              Look at what we have now instead: unparsable contents, hundreds of incompatible javascript frameworks, subtle bugs, bootstrap everywhere (aka much less creativity) and so on.

                                                                                              Who gain most from this unstructured complexity?

                                                                                              The same who now propose the final solution lock-in: web assembly.

                                                                                              Seeing linux running inside the browser is not funny anymore.

                                                                                              Going after incompetent developers was not democratization of the web, it was technological populism.

                                                                                              1. 2

                                                                                                What is possible does not matter; what matters is what actually happens in the real world. With XHTML, the answer is clear. Quite a lot of people spent years pushing XHTML as the way of the future on the web, enough people listened to them to generate a fair amount of ‘XHTML’, and almost none of it was valid and most of it was not being served as XHTML (which conveniently hid this invalidity).

                                                                                                Pragmatically, you can still write XHTML today. What you can’t do is force other people to write XHTML. The collective browser world has decided that one of the ways that people can’t force XHTML is by freezing the development of all other HTML standards, so XHTML is the only way forward and desirable new features appear only in XHTML. The philosophical reason for this decision is pretty clear; browsers ultimately serve users, and in the real world users are clearly not well served by a focus on fully valid XHTML only.

                                                                                                (Users don’t care about validation, they care about seeing web pages, because seeing web pages is their goal. Preventing them from seeing web pages is not serving them well, and draconian XHTML error handling was thus always an unstable situation.)

                                                                                                That the W3C has stopped developing XHTML and related standards is simply acknowledging this reality. There always have been and always will be a great deal of tag soup web pages and far fewer pages that validate, especially reliably (in XHTML or anything else). Handling these tag soup web pages is the reality of the web.

                                                                                                (HTML5 is a step forward for handling tag soup because for the first time it standardizes how to handle errors, so that browsers will theoretically be consistent in the face of them. XHTML could never be this step forward because its entire premise was that invalid web pages wouldn’t exist and if they did exist, browsers would refuse to show them.)

                                                                                                1. 0

                                                                                                  Users don’t care about validation, they care about seeing web pages, because seeing web pages is their goal.

                                                                                                  Users do not care about the quality of concrete because having a home is their goal.
                                                                                                  There will always be incompetent architects, thus let them work their way so that people get what they want.

                                                                                                  Users do not care about car safety because what they want is to move from point A to point B.
                                                                                                  There will always be incompetent manufacturers, thus let them work their way so that people get what they want.

                                                                                                  That’s not how engineering (should) work.

                                                                                                  Was XHTML flawless? No.
                                                                                                  Was it properly understood by the average web developers that most companies like to hire? No.

                                                                                                  Was it possible to improve it? Yes. Was it better tha the current javascript driven mess? Yes!

                                                                                                  The collective browser world has decided…

                                                                                                  Collective browser world? ROTFL!

                                                                                                  There’s a huge number of browsers’ implementors that nobody consulted.

                                                                                                  Among others, in 2004, the most widely used browser, IE, did not join WHATWG.

                                                                                                  Why WHATWG did not used the IE design if the goal was to liberate developers from the burden of well designed tools?

                                                                                                  Why we have faced for years incompatibilities between browsers?

                                                                                                  WHATWG was turned into one of the weapons in a commercial war for the control of the web.

                                                                                                  Microsoft lost such war.

                                                                                                  As always, the winner write the history that everybody know and celebrate.

                                                                                                  But who is old enough to remember the fact, can see the hypocrisy of these manoeuvres pretty well.

                                                                                                  There was no technical reason to throw away XHTML. The reasons were political and economical.

                                                                                                  How can you sell Ads if a tool can easily remove them from the XHTML code? How can you sell API access to data, if a program can easily consume the same XHTML that users consume? How can you lock users, if they can consume the web without a browser? Or with a custom one?

                                                                                                  The WHATWG did not served users’ interests, whatever were the Mozilla’s intentions in 2004.

                                                                                                  They served some businesses at the expense of the users and of all the high quality web companies that didn’t have much issues with XHTML.

                                                                                                  Back then it was possible to disable Javascript without loosing access to the web functionalities.

                                                                                                  Try it now.

                                                                                                  Back then people were exploring the concept of semantic web with the passion people now talk about the last JS framework.

                                                                                                  I remember experiments with web readers for blind people that could never work with the modern js polluted web.

                                                                                                  You are right, W3C abandoned its leadership in the engineering of the web back then.

                                                                                                  But you can’t sell to a web developer bullshit about HTML5.

                                                                                                  Beyond few new elements and a slightly more structured page (that could have been done in XHTML too) all its exciting innovations were… more Javascript.

                                                                                                  Users did not gain anything good from this, just less control over contents, more ads, and a huge security hole worldwide.

                                                                                                  Because, you know, when you run a javascript in Spain that was served to you from a server in the USA, who is responsible for such javascript running on your computer? Under which law?

                                                                                                  Do you really think that such legal issues were not taken into account from the browser vendors that flued this involution of the web?

                                                                                                  I cannot believe they were so incompetent.

                                                                                                  They knew what they were doing, and did it on purpose.

                                                                                                  Not to serve their users. To use those who trusted them.

                                                                                            2. 0

                                                                                              The mention of Trump is pure trolling—as you yourself point out, the dispute predates Trump.

                                                                                              1. 6

                                                                                                I think it’s more about all of this sounding like a science fiction plot than just taking a jab at the Trump presidency; just a few years ago nobody would have predicted that would have happened. So, no, not pure trolling.

                                                                                                1. 2

                                                                                                  Fair enough. I’m sorry for the accusation.

                                                                                                  Since the author is critical of Apple/Google/Mozilla here, I took it as a sort of guilt by association attack on them (I don’t mind jabs at Trump), but I see that it probably wasn’t that.

                                                                                                  1. 2

                                                                                                    No problem.

                                                                                                    I didn’t saw such possible interpretation or I wouldn’t have written that line. Sorry.

                                                                                                2. 3

                                                                                                  After 20 years of Berlusconi and with our current empasse with the Government, no Italian could ever troll an American about his current President.

                                                                                                  It was not my intention in any way.

                                                                                                  As @olivier said, I was pointing to this surreal situation from an international perspective.

                                                                                                  USA control most of internet: most root DNS, the most powerful web companies, the standards of the web and so on.

                                                                                                  Whatever effect Cambridge Analitica had to the election of Trump, it has shown the world that internet is a common infrastructure that we have to control and protect together. Just like we should control the production of oxigen and global warming.

                                                                                                  If Cambridge Analitica was able to manipulate USA elections (by manipulating Americans), what could do Facebook itself in Italy? Or in German?
                                                                                                  Or what could Google do in France?

                                                                                                  The Internet was a DARPA project. We can see it is a military success beyond any expectation.

                                                                                                  I tried to summarize the debacle between W3C and WHATWG with a bit of irony because, in itself, it shows a pretty scary aspect of this infrastructure.

                                                                                                  The fact that a group of companies dares to challenge W3C (that, at least in theory, is an international organisation) is an evidence that they do not feel the need to pretend they are working for everybody.

                                                                                                  They have too much power, to care.

                                                                                                  1. 4

                                                                                                    The last point is the crux of the issue: are technologists willing to do the leg work of decentralizing power?

                                                                                                    Because regular people won’t do this. They don’t care. This, they should have less say in the issue, though still some, as they are deeply affected by it too.

                                                                                                    1. 0

                                                                                                      No. Most won’t.

                                                                                                      Technologist are a wide category, that etymologically includes everyone that feel entitled to speak about how to do things.

                                                                                                      So we have technologists that mislead people to invest in the “blockchain revolution”, technologists that mislead politicians to allow barely tested AI to kill people on the roads, technologists teaching in the Universities that neural networks computations cannot be explained and thus must be trusted as superhuman oracles… and technologists that classify as troll any criticism of mainstream wisdom.

                                                                                                      My hope is in hackers: all over the world they have a better understanding of their political role.

                                                                                                    2. 2

                                                                                                      If anyone wonders about Berlusconi, Cracked has a great article on him that had me calling Trump a pale imitation of Berlusconi and his exploits. Well, until Trump got into US Presidency which is a bigger achievement than Berlusconi. He did that somewhat by accident, though. Can’t last 20 years either. I still think Berlusconi has him beat at biggest scumbag of that type.

                                                                                                      1. 2

                                                                                                        Yeah, the article is funny, but Berlusconi was not. Not for Italians.

                                                                                                        His problems with women did not impress much us. But for when it became clear most of them were underage.

                                                                                                        But the demage he did to our laws and (worse) to our public ethics will last for decades.
                                                                                                        He did not just changed the law to help himself: he destroyed most legal tools to fight the organized crime and to fight bribes and corruption.
                                                                                                        Worse he helped a whole generation of younger people like him to be bold about their smartness with law workarounds.

                                                                                                        I pray for the US and the whole world that Trump is not like him.

                                                                                                1. 5

                                                                                                  w3c uses github to discuss things?

                                                                                                  1. 3

                                                                                                    Mailing lists, github, meetings, bugzilla.