Internet Archive

Antiquated HTML snippets and artefacts

With ever-changing devices, browsers, operating systems, form factors, specifications, personal preferences, tooling, and corporate interests, the web is in a constant state of flux. As a result, so is the HTML we write. For every line of the HTML specification itself that has changed since the language’s inception, there are many more bits of HTML that have seen what I’ll call ‘environmental’ changes. Adaptations to differing browsers, extensions, integrations, and systems which we find HTML existing in. This article doesn’t cover once-specced but now obsolete bits of HTML but instead looks at all the snippets that have wormed their way into websites as result of, or in combat against, third-party integrations, browser competition, vendor extensions, and platform-specific hacks. The bits of HTML that were included for reasons, and which have been forgotten for present irrelevance. The snippets that live on only in the markup of sites from bygone eras and in the minds of those who fought during the browser wars. ↫ Declan Chidlow I don’t do any HTML or website development, and even I clearly recognise quite a few of these. Especially the countless relics of the large technology companies trying to worm their way into the various web standards of decades ago serve as a stark reminder of how many times they tried and failed – which should tell you something about all the times they tried and succeeded.

Why tiny JPEGs look different in Chrome

A while back, when chatting with a colleague over their computer, I noticed that a logo did not look exactly the same as it did on mine. It looked thinner on theirs and more faithful to the original image. It was rendered at 15px; here is an upscaled version. If you squint, or take a step back, the one from Chrome looks thicker. A bit weird, but swapping the image for an SVG fixed it. Still, I was curious: why was it rendering like this in the first place? I did some digging and found a nifty optimization that Chrome uses when rendering JPEGs at small scales. ↫ Guillaume Técher I love it when people detail their discoveries like this.

Cookies are not needed for fingerprinting and tracking

Cookies are ancient technology, and in no way necessary of even particularly desirable to track you. Modern fingerprinting doesn’t need them at all. A live demonstration of everything a website learns about you before you click anything with no cookies. It reads you during the connection and in the first two seconds of JavaScript, then narrates what it found back to you in plain English, as if a stranger were describing you out loud. The argument isn’t “look how creepy this site is.” It’s: the site you visit after this one can do all of it too, and won’t tell you. ↫ Kuber Mehta Also note, as the demonstration does, that if some of the things it determines about you are wrong, that doesn’t really matter. In fact, it may actually make fingerprinting and tracking you easier; as long as fingerprinting consistently gets the same things wrong in the same way, it becomes a valuable part of the fingerprint, like a small scar obscuring part of your real thumb’s fingerprint. Online tracking of people should be illegal.

Geolocation Is A Systems Problem, Not A Dropdown

A country selector looks simple because the interface reduces geography to one field. The infrastructure behind it is harder. In regulated digital products, location can affect access, content, payments, and account actions. That is why sweepstakes casino software by NuxGame should be viewed through a systems lens: geography is not a preference, but a changing signal that software must interpret. A Country Selector Knows Almost Nothing A country selection tells a platform what a user claims, not necessarily where the current session originates. IP data can suggest a region, browser geolocation can add precision when permission is granted, and account information can provide context. None of these inputs should automatically be treated as perfect. The design problem is therefore about confidence. A platform needs rules for what happens when signals agree, conflict, or disappear. That requires a source-of-truth policy rather than another front-end field. Product teams also need to decide which actions can continue under uncertainty and which should stop until location is resolved. Location Is A Confidence Decision A useful geolocation layer asks more than “which country is this IP in?” The system has to understand how trustworthy each signal is, how recently it was collected, whether the current action requires a fresh check, and what happens when evidence conflicts across a session. Useful inputs and controls can include: More checks can improve confidence, but they also create friction and more failure states. That trade-off matters for sweepstakes casino software by NuxGame because product, compliance, support, and engineering may all depend on the result. A stricter policy reduces ambiguity while creating more cases that need explanation or review. Sessions Move Even When Accounts Do Not An account can remain unchanged while the user moves between networks or countries. Mobile devices switch from Wi-Fi to cellular connections, and VPNs can alter the apparent origin of traffic. Treating location as a permanent profile attribute therefore creates a mismatch between account state and session reality. The legal and commercial question is separate from the engineering one. Research into which countries allow iGaming can help a business understand where different models may be permitted, subject to current local rules and professional advice. Software must then translate approved market decisions into executable controls: when to check, what to restrict, and how to handle uncertainty. Caching Can Make Regional Rules Dangerous Caching is useful for static assets, localization files, images, and content metadata. It becomes more sensitive when the cached value controls whether a user can perform an action. A location decision that was valid earlier may no longer describe the current network or device context. This creates a performance-versus-authority trade-off. Rechecking everything continuously would increase requests, latency, and operational cost. Trusting an old result indefinitely is simpler but weaker. A better design defines expiration rules according to risk: some content can tolerate stale regional data, while sensitive actions may require a newer location decision. The Back Office Needs To Explain The Decision Geolocation failures are difficult to support when the system stores only “allowed” or “blocked.” Operations teams need enough context to understand which signal was used, when it was collected, whether signals conflicted, and which rule produced the outcome. Otherwise, support can only repeat what the front end says. Auditability creates another balance. More detailed logs make investigations easier, but location data can be sensitive and should not be exposed widely. Access controls, retention policies, and clear event records therefore matter as much as the geolocation engine itself. The implementation should make decisions explainable without giving every employee access to raw location data. Geolocation Belongs In Product Architecture Geolocation should not be added at the end as a country dropdown plus an IP lookup. It touches session management, permissions, caching, logging, support workflows, regional configuration, and the interface shown when access changes. Once those dependencies are visible, the architectural problem becomes much clearer. For sweepstakes casino software by NuxGame, the practical lesson is simple: location should be treated as a decision with evidence, freshness, and consequences. A dropdown can collect a preference. A production system has to decide what is true enough to act on—and remain capable of explaining that decision when the answer changes. Resources:  NuxGame Legal iGaming Markets Guide – regional iGaming market considerations;  W3C Geolocation – browser geolocation standard;  IETF RFC 8805 – IP geolocation feed format;  MDN Geolocation API – browser geolocation implementation guidance.

Microsoft releases its weird ’90s IRC client as open source

Out of all the bloody things Microsoft could release as open source, they chose the world’s weirdest IRC client they shipped in the late ’90s that nobody used or even remembered? What on earth is happening? Microsoft Comic Chat is a Microsoft-developed Internet Relay Chat (IRC) chat client released in 1996 that rendered conversations as automatically generated comic strips. Instead of plain text, users communicated through cartoon avatars with messages displayed in speech bubbles inside dynamically composed comic panels. The application used an expert system to determine character placement, gestures, facial expressions, balloon shape, and panel layout in real time. It shipped as part of Internet Explorer 3.0 and was later bundled with Windows 98 and MSN before being discontinued in the early 2000s. ↫ Comic Chat’s GitHub page Not only is the original source code now available on GitHub, there’s also a modern, updated version that can make use of larger displays and higher resolutions. There’s a deliciously ’90s website for it, too.

“I stored a website in a favicon”

Every website has a favicon. It’s that little icon in your browser tab. Usually you upload it once and then never think about it again. But. A favicon is just an image. An image is just pixels. And pixels are just bytes. So of course I wondered if I could store something inside one. ↫ Tim Wehrle I love it when people do something useless just for fun.

Web browsers on video game consoles

Video game consoles have a long history with web browsers. From the advent of the World Wide Web, consoles have been trying to get online. Browsers on video game consoles were initially very much an attempt to provide a cheap gateway to the web for a casual audience lacking technical expertise, though as time progressed they’ve become a greater and more integrated part of systems. This article takes a look at browsers on video game consoles in detail, though only covers official web browsers. Many consoles have browsers installable via custom firmware and homebrew, but they’re beyond the scope of this post, as are non-web systems such as Satellaview and online services that didn’t provide a browser, such as XBAND, Sega Meganet, and Sega Channel. ↫ Declan Chidlow The article starts off with the Philips CD-I, which has always been a fascinating product for technology fans in The Netherlands because that’s where Philips is from. Memory that far back is untrustworthy, but I can definitely remember being inundated with commercials, advertising, magazine articles, and newspaper reports about the CD-I, all throughout its rather troubled life. Yet, I don’t remember anything about it being capable of browsing a rudimentary web. Of course, we’re talking 1995 here, a time when I didn’t even have internet at home yet, although I did use the web at a friend’s place at that time. We didn’t get internet at home until I think 1997 or 1998, followed by the move to broadband cable internet just a year later, since our small rural town happened to be one of the first places to get broadband. Good times. Did anyone ever actually use browsers on consoles, though? I mean, using them always felt incredibly clunky, and by the time they were capable enough to really do anything we all had laptops and later smartphones anyway. I certainly don’t remember anyone using them for anything but a gimmick, but perhaps my sample size was far too small and not diverse enough.

Google Chrome is killing all uBlock Origin bypasses, Microsoft Edge, Opera to follow

For a while now the transition away from Manifest V2 (MV2) to MV3 has been on-going and it looks like it is entering its final phase of deprecation, at least, in the case of Google Chrome. A recent discussion thread in the w3c WebExtensions Community Group GitHub repo has highlighted how the latest and upcoming versions of the most popular browser are expected to be its final releases with support for MV2 extensions. ↫ Sayan Sen at Neowin You shouldn’t be using Chrome anyway.

Gemini, gophers, and fingers: alternative internets beyond HTTPS

But what I want to write about today are three protocols that have their own ecosystems, their own communities, and their own aesthetics. finger://, gopher://, and gemini://. Two predate the World Wide Web entirely, but one was created in 2019, the same year the first black hole photograph circled the planet. None of them require a GUI. None of them require JavaScript. All three of them run in a terminal. ↫ Brennan Day I ran an OSNews Gemini capsule from my office for quite a while, but managing it from my own workstation computer became a little annoying and cumbersome. I should take a weekend off at some point and devise an easy way to convert our RSS feed into separate files for Gopher and Gemini and serve them from my Proxmox mini PC, if only to do my part in contributing to the success of independent protocols.

Gnutella: a protocol outliving the world that created it

Now that’s a name I haven’t heard in a long time. Gnutella is a file sharing protocol that many have forgotten and it has the story of a decentralized technology adopted by millions of casual users who did not care to learn what a peer-to-peer system was. Users showed up because the protocol solved real problems at scale and the solution just so happened to be decentralized. No one ever pretended to use Gnutella in hopes their GnutellaCoinTM would go up in value later. They just downloaded MP3s. The network exploded in popularity, then plateaued for almost a decade, then settled into a permanent long tail state of continued but diminished use. Welcome to my overly enthusiastic love letter to Gnutella. ↫ Rick Carlino I genuinely didn’t know – or I had forgotten, more likely – that Gnutella formed the backbone of LimeWire, another name I haven’t heard in a long time. I’m quite sure I used LimeWire over 25 years ago, but details are fuzzy and I might be confusing it with other filesharing networks of a similar vintage. I was an avid CD buyer and MiniDisc user (I used MD well into the smartphone age), so I didn’t have much need for downloading MP3s. Gnutella is also apparently still active, and there are still clients you can download and use. Of course, it’s a mere shadow of its former self, but this, too, was news to me. I’m kind of inclined to see if it’s still hosting MP3s.

Firefox, Vivaldi unveil their UI overhauls

Two popular web browser are overhauling their user interface, and the first to actually ship its new version is Vivaldi. Version 8.0 of this Chromium-based browser completely overhauls its UI, but retains its extensive customisation options, including the option to go back to the old look and feel if the new one doesn’t float your boat. I wonder if this update addresses some of my long-standing issues with Vivaldi where it just seemed impossible to integrate the browser properly with KDE or GNOME, since it opted for its own fonts and had a ton of very custom UI that made it stand out moreso than even other browser. Before publishing this post, I did a quick install and check, and no, it seems not much has changed in that department. Not everyone will care – in fact, I think most people don’t – but I do, and I do whatever it takes to make my browser look properly native. Any Chromium-based browser is a hard sell in that area, and that applies doubly so for Vivaldi and its long list of custom UI elements. The other popular web browser overhauling its UI is Firefox, which is bringing its new UI to testing now, with an actual release later this year. You can clearly see that both Vivaldi and Firefox seem to be following a similar trend, even if I’m not entirely sure if it has a name yet. The new Firefox design also overhauls the settings page, integrates Mozilla services like its VPN, and brings back the compact mode (which has been hidden behind an about:config flag for years now). My biggest worry is how this will affect Librewolf and the KDE and GNOME themes I use, but it seems we’re going to have more than enough time to figure that out.

“Building a web server in aarch64 assembly to give my life (a lack of) meaning”

ymawky is a small, static http web server written entirely in aarch64 assembly for macos. it uses raw darwin syscalls with no libc wrappers, serves static files, supports GET, HEAD, PUT, OPTIONS, DELETE, byte ranges, directory listing, custom error pages, and tries to be as hardened as possible. why? why not? the dream of the 80s is alive in ymawky. everybody has nginx. having apache makes you a square. so why not strip every single convenience layer that computer science has given us since 1957? i wanted to understand how a web server actually works, something i know little about coming from a low-level/systems background. the risks that come up, the problems that need to be solved, the things you don’t think about when you’re writing python or c. this (probably) won’t replace nginx, but it is doing something in the most difficult way possible. ↫ Tony “imtomt” I love this.

Email is crazy

Email is like those creaking old Terminators from the ’70s which continue to function without complaining. Designed for a world that doesn’t exist anymore, it has optional encryption, no built-in auth, three⁺ retrofitted security layers bolted on top, an unstandardized filtering layer and many more quirks. Yet billions of emails arrive correctly every single day. Email is not elegant but nonetheless it is Lindy. In the new age of agentic AI, we can only expect it to metamorphose into another dimension. ↫ Saurabh “Sam” Khawase The fact that email is as complicated as it is bad enough, but having it be so dominantly controlled by only a few large gatekeepers like Google and Microsoft surely isn’t helping either. I feel like email is no longer really a technology individuals can actively partake in at every level; it feels much more like WhatsApp or iMessage or whatever in that we just get to send messages, and that’s it. Running your own mail sever isn’t only a complex endeavour, it’s also a continuous cat-and-mouse game with companies like Google and Microsoft to ensure you don’t end up on some shitlist and your emails stop arriving. I settled on Fastmail as my email service, and it works quite well. Still, I would love to be able to just run my own email server, or have some of my far more capable friends run one for a small group of us, but it’s such a daunting and unpleasant effort few people seem to have the stomach and perseverance for it.

Dillo 3.3.0 released

Dillo is an amazing web browser for those of us who want their web browsing experience to be calmer and less flashing. Dillo also happens to be a very UNIX-y browser, and their latest release, 3.3.0, underlines that. A new dilloc program is now available to control Dillo from the command line or from a script. It searches for Dillo by the PID in the DILLO_PID environment variable or for a unique Dillo process if not set. ↫ Dillo 3.3.0 release notes You can use this program to control your Dillo instance, with basic commands like reloading the current URL, opening a new URL, and so on, but also things like dumping the current page’s contents. I have a feeling more commands and features will be added in future releases, but for now, even the current set of commands can be helpful for scripting purposes. I’m sure some of you who live and die in the terminal are already thinking of all the possibilities here. You can now also add page actions to the right-click context menu, so you can do things like reload a page with a Chrome curl impersonator to avoid certain JavaScript walls. This, too, is of course extensible. Dillo 3.3.0 also brings experimental support for building the browser with FLTK 1.4, and implemented a fix specifically to make OAuth work properly.

Google to punish back button hijacking

Have you ever tried clicking the back button in your browser, only to realise the website you’re on somehow doesn’t allow that? Out of all the millions of annoyances on the web, Google has decided to finally address this one: they’re going to punish the search rankings of websites that use this back button hijacking. Pages that are engaging in back button hijacking may be subject to manual spam actions or automated demotions, which can impact the site’s performance in Google Search results. To give site owners time to make any needed changes, we’re publishing this policy two months in advance of enforcement on June 15, 2026. ↫ Google Search Central It’s always uncomfortable when Google unilaterally takes actions such as these, since rarely do Google’s interests align with our own as users. This is in such rare case, though, and I can’t wait to see this insipid practice relegated to the dustbin of history.

How to turn anything into a router

I don’t like to cover “current events” very much, but the American government just revealed a truly bewildering policy effectively banning import of new consumer router models. This is ridiculous for many reasons, but if this does indeed come to pass it may be beneficial to learn how to “homebrew” a router. Fortunately, you can make a router out of basically anything resembling a computer. ↫ Noah Bailey I genuinely can’t believe making your own router with Linux or BSD might become a much more widespread thing in the US. I’m not saying it’s a bad thing – it’ll teach some people something new – but it just feels so absurd.

You can use newline characters in URLs

I had no idea, but apparently, you can just use newline characters and tabs in URLs without any issues. Notice how it reports an error if there is a tab or newline character, but continues anyway? The specification says that A validation error does not mean that the parser terminates and it encourages systems to report errors somewhere. Effectively, the error is ignored although it might be logged. Thus our HTML is fine in practice. ↫ Daniel Lemire This reminds me of the “Email is easy” quiz.

“Never buy a .online domain”

I’ve been a .com purist for over two decades of building. Once, I broke that rule and bought a .online TLD for a small project. This is the story of how it went up in flames. ↫ Tony S. An absolute horror story about Google’s dominance over the web, in places nobody really talks about. Scary.

The age-verification trap: verifying user’s ages undermines everyone’s data protection

Social media is going the way of alcohol, gambling, and other social sins: Societies are deciding it’s no longer kid stuff. Lawmakers point to compulsive use, exposure to harmful content, and mounting concerns about adolescent mental health. So, many propose to set a minimum age, usually 13 or 16. In cases when regulators demand real enforcement rather than symbolic rules, platforms run into a basic technical problem. The only way to prove that someone is old enough to use a site is to collect personal data about who they are. And the only way to prove that you checked is to keep the data indefinitely. Age-restriction laws push platforms toward intrusive verification systems that often directly conflict with modern data-privacy law. This is the age-verification trap. Strong enforcement of age rules undermines data privacy. ↫ Waydell D. Carvalho The answer to the dangers of social media is not to ban social media use among minors, for a whole variety of reasons. There’s data privacy, as the linked article goes into, but there’s also the fact that for a lot of people, including minors, who live in regressive, backwards environments and/or are victims of abuse, social media is their only support network. Cut them off from social media, and you cut them off from the very people who can save them from further abuse. The problem isn’t social media in and of itself – it’s profit-seeking social media. Companies like Facebook and TikTok spend billions to hyper-optimise and hyper-target vulnerable people, much like how tobacco companies and drug dealers do, to feed and worsen their addiction because keeping people addicted is how they maximise profits. The solution to the dangers of corporate social media is to strictly regulate their behaviour, something we already do with countless dangerous products and services. I’m obviously not qualified to come up with specific measures that would need to be taken, but I think we can all agree that whatever corporate social media have been and are doing is dangerous, unethical, should be stopped.

A brief history of barbed wire fence telephone networks

If you look at the table of contents for my book, Other Networks: A Radical Technology Sourcebook, you’ll see that entries on networks before/outside the internet are arranged first by underlying infrastructure and then chronologically. You’ll also notice that within the section on wired networks, there are two sub-sections: one for electrical wire and another for barbed wire. Even though the barbed wire section is quite short, it was one of the most fascinating to research and write about – mostly because the history of using barbed wire to communicate is surprisingly long and almost entirely undocumented, even though barbed wire fence phones in particular were an essential part of early- to mid-twentieth century rural life in many parts of the U.S. and Canada! ↫ Lori Emerson I had no idea this used to be a thing, but it obviously makes a ton of sense. If you can have a conversation by stringing a few tin cans together, you can obviously do something similar across metal barbed wire. There’s something poetic about using one of mankind’s most dividing inventions to communicate, and thus bring people closer together.