Recently posted comments
This is a good stopping point
Posted Mar 25, 2019 2:46 UTC (Mon) by corbet (editor, #1)In reply to: sh!t forum by Garak
Parent article: Turris: secure open-source routers
Certainly I think we can all agree that this particular conversation isn't going anywhere useful; perhaps we can just stop now?
Thanks.
sh!t forum
Posted Mar 25, 2019 2:28 UTC (Mon) by Garak (guest, #99377)In reply to: magic words by Cyberax
Parent article: Turris: secure open-source routers
magic words
Posted Mar 25, 2019 2:25 UTC (Mon) by Garak (guest, #99377)In reply to: magic words by pizza
Parent article: Turris: secure open-source routers
micropayment efficiency dynamics
Posted Mar 25, 2019 1:20 UTC (Mon) by Cyberax (✭ supporter ✭, #52523)In reply to: micropayment efficiency dynamics by Garak
Parent article: Turris: secure open-source routers
And this is cheap, compared to $50 fees just a year and a half ago.
Keep in mind, that each transaction on the blockchain has to be kept there _forever_, replicated to all the nodes that host the full chain. This is quite expensive and wasteful in itself.
magic words
Posted Mar 25, 2019 1:10 UTC (Mon) by Cyberax (✭ supporter ✭, #52523)In reply to: magic words by Garak
Parent article: Turris: secure open-source routers
magic words
Posted Mar 25, 2019 0:54 UTC (Mon) by pizza (subscriber, #46)In reply to: magic words by Garak
Parent article: Turris: secure open-source routers
When you make public comments you open yourself up to public responses.
micropayment efficiency dynamics
Posted Mar 25, 2019 0:41 UTC (Mon) by mpr22 (subscriber, #60784)In reply to: micropayment efficiency dynamics by Garak
Parent article: Turris: secure open-source routers
That's a fascinating hypothesis. I'd be interested to see what evidence there is to support it.
micropayment efficiency dynamics
Posted Mar 24, 2019 23:43 UTC (Sun) by Garak (guest, #99377)In reply to: 'reasonable' domain registration prices? by mpr22
Parent article: Turris: secure open-source routers
it would literally be cheaper to not charge at all.The theory is that cryptocurrencies/micropayments make that not true. And by charging and making a business of it, you incentivise the relevant system administrators to do a good job. Standard capitalistic theory, those who provide the best quality services considering price keep the job and are financially sustained to do so going forward.
magic words
Posted Mar 24, 2019 23:37 UTC (Sun) by Garak (guest, #99377)In reply to: 'reasonable' domain registration prices? by Wol
Parent article: Turris: secure open-source routers
And to you as well @Wol, I ask you to please cease and desist your pattern of comments I characterize as trolling and harassing. If you feel your comments are important, please start a thread of your own, do not reply to mine. I will reciprocate.
magic words
Posted Mar 24, 2019 23:34 UTC (Sun) by Garak (guest, #99377)In reply to: 'reasonable' domain registration prices? by Cyberax
Parent article: Turris: secure open-source routers
I will ask a second time @Cyberax. Please cease and desist your pattern of comments I characterize as trolling and harassing. If you feel your comments are important, please start a thread of your own, do not reply to mine. I will reciprocate.
Federated blogging with WriteFreely
Posted Mar 24, 2019 22:06 UTC (Sun) by thebaer (guest, #130968)In reply to: Federated blogging with WriteFreely by alex
Parent article: Federated blogging with WriteFreely
The congestion-notification conflict
Posted Mar 24, 2019 19:57 UTC (Sun) by sourcejedi (guest, #45153)In reply to: The congestion-notification conflict by flussence
Parent article: The congestion-notification conflict
be left to additional Internet Drafts yet to be submitted."
That is, SCE still wants support in the "transport layer" - such as TCP - to effectively echo back the SCE markings to the sender. Just like TCP with "classic ECN" (RFC 3168), or DCTCP. Otherwise, how would the sender of the packet notice that it needed to slow down?
I don't know why SCE was posted as an IETF draft without referencing "Accurate ECN". "Accurate ECN" aka AccECN, is an experimental TCP draft, which it says is required to implement L4S for TCP. It has been worked on since 2016. "Accurate ECN" was discussed on the bufferbloat.net lists during that time.
I think the AccECN TCP option is generic enough that SCE *could* use it unchanged. Although there is some limitation. The AccECN TCP option is optional and some middleboxes strip it (or block it? something like that anyway). AccECN has a fallback, which I think is only able to echo the ECN CE codepoint. L4S will still be able to work in the fallback mode. SCE congestion signals (ECN ECT(1) codepoint) would not get though in the fallback mode.
"Accurate ECN" also says it can be used to implement the "classic ECN" response to congestion. (I.e. 1 signal per RTT, which the sender treats as a if a packet was dropped, i.e. halves its transmission rate. If I understand correctly). I don't think it explains exactly how this is possible, but it is in good faith and I guess it is as simple as it sounds.
SCE does suggest that instead of echoing the SCE signal to the sender, it is also possible to handle it "entirely by the receiver". The submitted draft-00 suggests the reciever could tweak the receive window. OTOH, when this was politely challenged, Dave Taht said "I kind of wish we'd cut that from the draft".
https://lists.bufferbloat.net/pipermail/bloat/2019-March/...
The congestion-notification conflict
Posted Mar 24, 2019 18:05 UTC (Sun) by mtaht (subscriber, #11087)In reply to: The congestion-notification conflict by ajb
Parent article: The congestion-notification conflict
The congestion-notification conflict
Posted Mar 24, 2019 17:28 UTC (Sun) by ajb (subscriber, #9694)Parent article: The congestion-notification conflict
I think it's premature to decide that SCE "better matches the values" of the Linux networking stack, however. As I understand it, in L4S, the dual-q mechanism is a transition mechanism, and the end state is that everyone - except for old stacks - end up in the second, low-latency, bucket. Whereupon the behaviour of the system is controlled by the end-hosts - very much how the Linux networking community would have it. Linux - if, and it's a big if, the patent issue is solved - would move to the second bucket very fast, give how quickly Linux development goes.
SCE, however, appears to rely on per-flow queueing (FQ) being implemented at any hop that could end up being the bottleneck. FQ is fine if its on your home router and thus under your control. But if it's implemented everywhere, then the network, not the end clients, are controlling the behaviour of the system.
The bufferbloat guys are pushing for FQ to be implemented everywhere. So far, it's not happened because the fast path of ISP-class switches are mostly implemented in ASICs, where queues are a limited resource. If it were to happen, you can be sure that the facility to weight those queues according the the commercial policy of the ISPs would also be implemented also. Despite FQ coming from the grass-roots, the difficulty implementing it at the ISP level may well be, paradoxically, something the open community should be grateful for.
The congestion-notification conflict
Posted Mar 24, 2019 17:07 UTC (Sun) by sourcejedi (guest, #45153)In reply to: The congestion-notification conflict by sourcejedi
Parent article: The congestion-notification conflict
https://mailarchive.ietf.org/arch/msg/tsvwg/Okd59BLGs8ZIg... -- Dave Taht
I'm not sure how to parse it. It says the 2016 "Coupled AQM" release was patent-infested and hence unsafe to review, let alone implement in Linux. But that the "DUALPI2 AQM upstream version" (released 2019?) was "possibly worth reviewing by experts".
However the DUALPI2 commit message links directly to draft-ietf-tsvwg-aqm-dualq-coupled . And the description seems to match the discussion about the patent.
I can understand anger about it being really hard to develop and test interoperability, if understanding the patented details endangers your ability to contribute to implementations of GPL'd AQMs. (Aggravated damages due to "wilful infringement?"). Although that's not how I understood things based on previous LWN articles. The patents are out there and you're going to be stuck fighting them anyway; you need to know the details in order to avoid infringing. That can be a very useful strategy, and then when you implement an alternative *that they had not already considered*, they can't then patent that alternative. (Details apply, e.g. see "patent pending").
-- Patent details! Maybe don't read further if you're not allowed to read short quotes about patent details? --
"[the base probability for the classic queue] is squared to compensate the squareroot rate equation of Reno/Cubic" sounds exactly like -
"The only claim that I could not find prior art for (in the original
EU filing) was a very specific claim about using a square root for the
coupling. The Linux implementation runs this the other way round so that
it only has to do a squaring. So I figured we were safe from that.
However, until just now, I had not noticed that Al-Lu has
retrospectively re-written the claims in the US patent and in the EU
patent application to claim this the other way round - as a squaring."
'reasonable' domain registration prices?
Posted Mar 24, 2019 16:16 UTC (Sun) by Wol (subscriber, #4433)In reply to: 'reasonable' domain registration prices? by Garak
Parent article: Turris: secure open-source routers
I know pennies add up, but that really is peanuts compared to all the other costs!
Cheers,
Wol
The congestion-notification conflict
Posted Mar 24, 2019 15:42 UTC (Sun) by sourcejedi (guest, #45153)In reply to: The congestion-notification conflict by mfuzzey
Parent article: The congestion-notification conflict
There is a claim elsewhere in the discussion that an L4S-compliant AQM can be implemented by fq_codel. This would use a different mechanism. It would also allow using L4S, without losing the benefits of fq-codel if you are not using L4S.
https://lists.bufferbloat.net/pipermail/bloat/2019-March/... -- Bob Briscoe
There is some confusion about whether the current L4S has been worded incorrectly, so that it technically prohibits an AQM based on fq_codel, and whether it would actually work fine. If you need more clarity on that *then ask about it*.
https://mailarchive.ietf.org/arch/msg/tsvwg/LBZ24KXwK13DH... -- Greg White
Yes, it would be really nice to *also* rule-in Linux routers to be able to run an L4S AQM in regimes where AQM is still possible in pure software, but flow-queuing is not.
But I don't think that deserves knee-jerking as hard as this article does.
And that's a narrower window of regimes than you might assume. I think the Bufferbloat.NET Official Position (TM) was that the main performance problem for slow home routers is often "shaping", which is not part of fq_codel. So sch_fq_codel can work in many places where sch_codel or sch_pie do. I can't find a reference about upper limits for fq_codel (as opposed to shaping), but I expect the bloat mailing list would be able to find some statements if you need them.
TL;DR for the patent to really be a problem for you, I think you would need to be running something like sch_codel or sch_pie at the moment, and not be able to switch to sch_fq_codel. Is there really anyone doing that?
I Am Not A Lawyer. None Of This Is Legal Advice. But Seriously, Did You Find Any Source Involved In the Linux Side (Dave Taht et al) Who Is As Unhappy About The *Patent* As This Article Reads?
I only skimmed the threads to find a few messages to read, based on author name. At the moment I see the most unhappiness coming from the LWN article. This is mostly re-inforcing my opinion about the amount of salt I need to take with that source :-P. (But I thank them for being good about providing links to the relevant posts.)
Revisiting PEP 394
Posted Mar 24, 2019 15:09 UTC (Sun) by naptastic (guest, #60139)In reply to: Revisiting PEP 394 by excors
Parent article: Revisiting PEP 394
It's only a failure if you don't learn from it.
Scribus team mourns the passing of Peter "mrdocs" Linnell
Posted Mar 24, 2019 12:39 UTC (Sun) by jzb (editor, #7867)Parent article: Scribus team mourns the passing of Peter "mrdocs" Linnell
I didn't know Peter well, but ran into him from time to time at conferences. Always a pleasant guy, full of enthusiasm. Having only known him peripherally, I still feel the world has lost a little light.
The congestion-notification conflict
Posted Mar 24, 2019 12:33 UTC (Sun) by jch (guest, #51929)In reply to: The congestion-notification conflict by jg
Parent article: The congestion-notification conflict
I don't think it's a generation gap, Jim, but a cultural gap that crosses generations.
Building header files into the kernel
Posted Mar 24, 2019 5:39 UTC (Sun) by jsmith45 (guest, #125263)In reply to: Building header files into the kernel by _joel_
Parent article: Building header files into the kernel
Joel, why even bother remounting? You can just directly use the pre-existing internal kernel mount as if it was a special form of swappable kernel memory. CONFIG_BIG_KEYS actually does that, and the the bpfilter user mode helper module copies data that is baked into its module (as discardable init data) into the main internal tmpfs mount, so there is precedent for most of this.
I'll be showing code as if making the file swappable was unconditional, but it should be very obvious how to add a config option that hybridizes what patch V5 has, and the below.
One word of warning: This basically requires CONFIG_TMPFS. It will also work if !CONFIG_SHMEM, because then it uses tiny-shmem (which is ramfs). However using CONFIG_SHMEM without CONFIG_TMPFS yields a tmpfs that is excessively limited.
Now lets create the file in tmpfs, and copy the data into it:
static struct path *mem_path;
static int __init ikheaders_init(void)
{
struct proc_dir_entry *entry;
size_t kernel_headers_data_size = &kernel_headers_data_end - &kernel_headers_data;
int err;
ssize_t written;
loff_t pos = 0;
/* copy data to a new tmpfs file, so it can be swapped out */
mem_file = shmem_kernel_file_setup("", kernel_headers_data_size, 0);
if (IS_ERR(mem_file)) {
err = PTR_ERR(mem_file);
goto err_no_fput;
}
written = kernel_write(mem_file, kernel_headers_data, kernel_headers_data_size, &pos);
if (written != kernel_headers_data_size) {
err = written;
if (err >= 0)
err = -ENOMEM;
goto error;
}
/* create the current headers file */
entry = proc_create("kheaders.tar.xz", S_IRUGO, NULL,
&ikheaders_file_ops);
if (!entry) {
err = -ENOMEM;
goto error;
}
proc_set_size(entry,
kernel_headers_data_size);
return 0;
error:
fput(mem_file);
error_no_fput:
return ret;
}
static void __exit ikheaders_cleanup(void)
{
remove_proc_entry("kheaders.tar.xz", NULL);
path_put(mem_path);
}
OK. Next up, we need to change the section the baked-in data is stored in to be .init.data so it gets discarded after init.
asm (
" .pushsection .init.data, \"a\" \n"
/*...*/
);
Almost done. All that is left is to make reads of the proc file return data from the in memory file. There are actually several ways to approach this. We could use a magic symlink to the internal file, similar to how the proc file descriptor symlinks work. But to make this act as much like a normal file as possible, the following might be easiest. It is definitely a bit odd to have the read delegate back to vfs_read, but as far as I can tell it should work. I'd bet one of VFS guys can come up with some improvements to this approach.
static int ikheaders_open_current(struct inode *inode, struct file *file)
{
struct file *mem_file
file = dentry_open(path, O_RDONLY, current_cred());
if (IS_ERR(file))
return PTR_ERR(file);
file->private_data = mem_file;
return 0;
}
static ssize_t
ikheaders_read_current(struct file *file, char __user *buf,
size_t len, loff_t *offset)
{
struct file *mem_file = file->private_data;
return vfs_read(mem_file, buf, len, offset);
}
static int ikheaders_release_current(struct inode *inode, struct file *file)
{
struct file *mem_file = file->private_data;
fput(mem_file);
return 0;
}
static const struct file_operations ikheaders_file_ops = {
.open = ikheaders_open_current,
.release = ikheaders_release_current,
.read = ikheaders_read_current,
.llseek = default_llseek,
};
Please note that all this code is untested, and is intended to a show the basic approach, although it probably works as-is, modulo any typos (since most of it was copy-pasted from existing parts of the kernel or your patch).
Hope you find this helpful, or at least interesting
Building header files into the kernel
Posted Mar 24, 2019 4:28 UTC (Sun) by neilbrown (subscriber, #359)In reply to: Building header files into the kernel by _joel_
Parent article: Building header files into the kernel
I don't think there is an existing way to mount this into a mount namespace, but I suspect you could add a mount option to tmpfs to say "use pre-exist superblock named foo".
If you don't have real swap, this doesn't help you, but it might be a useful answer to people who complain about a waste of kernel memory, or who emphasize that it is non-swapable memory (the article mentions both).
Layers and abstractions
Posted Mar 24, 2019 2:24 UTC (Sun) by riking (subscriber, #95706)Parent article: Layers and abstractions
I think my version is a little more violent 🤔
Layers and abstractions
Posted Mar 24, 2019 2:10 UTC (Sun) by perennialmind (guest, #45817)In reply to: Layers and abstractions by zlynx
Parent article: Layers and abstractions
The vast majority of web clients have been upgraded for IPv6, but most of them have lousy IPv6 access. IPv6 required upgrades along the entire path to be useful. Even then, anything short of full adoption makes use risky. For a decade, I tried to join in the 128-bit fun: tunnelbroker.net, 6to4, teredo (once I had the twin IPs for a relay), and finally a /48 of my own my company's from an ISP happy to provide it but bemused that I cared. And still, I have to grit my teeth and turn off IPv6 when some website we care about turns on IPv6 and the road gets all bumpy. "Happy Eyeballs" is all about compensating for the tendency of IPv6 to be so very bumpy. It's not the hosts at either end: it's the unloved links inbetween.
A larger address space in the 90's was primarily useful to client networks that were already resorting to NAT. That's where the incentive was, so start by addressing their problems. In the first phase, you don't run public servers beyond the IPv4 edge – I agree with you there! That happens once (1) there are few legacy IPv4 clients left and (2) all of your server software has support for the address extension. You don't disable the extended-address support on your IPv4.1 OS, because it's so very harmless. It's just one more upgrade like any other. No need for AAAA records at that point. 32-bit IPng destination addresses are normal. 🙃
It took so long before userspace had decent support for IPv6. Presumably because it was largely irrelevant. Once you have servers automatically upgrading connections to IPng, it becomes relevant! Upgrade your client OS and server OS, but keep the routers and userspace on IPv4 and still get bigger addresses on the wire? I have to think adoption would have been quicker!
Start small. Build up incrementlly. Let your chick grow up and you wind up with chicken and egg. 😊
Building header files into the kernel
Posted Mar 24, 2019 1:38 UTC (Sun) by _joel_ (subscriber, #112763)In reply to: Building header files into the kernel by _joel_
Parent article: Building header files into the kernel
Building header files into the kernel
Posted Mar 24, 2019 1:37 UTC (Sun) by _joel_ (subscriber, #112763)In reply to: Building header files into the kernel by excors
Parent article: Building header files into the kernel
Building header files into the kernel
Posted Mar 24, 2019 1:32 UTC (Sun) by _joel_ (subscriber, #112763)In reply to: Building header files into the kernel by adirat
Parent article: Building header files into the kernel
Building header files into the kernel
Posted Mar 24, 2019 1:29 UTC (Sun) by _joel_ (subscriber, #112763)In reply to: Building header files into the kernel by neilbrown
Parent article: Building header files into the kernel
Also note that on Android, we don't use disk-based swap. We have a memory based compressed swap called ZRAM, but the archive is already compressed so the suggested idea would provide no benefit (to us).
One thing I have thought of doing in the future is to make the /proc entry of the archive writeable and write an empty string into it thus freeing the archive's allocated memory and requiring a reboot. However at the moment, I am considering only building this as a module for production Android, and as a built-in when debugging. After the patches can make it, and if others want to free that memory, we can cross that bridge there IMO - such as by writing an empty string into the proc entry.
Layers and abstractions
Posted Mar 24, 2019 0:16 UTC (Sun) by zlynx (guest, #2285)In reply to: Layers and abstractions by perennialmind
Parent article: Layers and abstractions
But there's still a bunch of people who don't see the point and think it's just fine to use 10.x.x.x addresses in the data center and only rely on proxies. Forever. But those people would be a problem in any IPv4 backwards compatibility scheme for any new addressing. They'd never see the point in upgrading past the compatibility solution.
'reasonable' domain registration prices?
Posted Mar 23, 2019 23:45 UTC (Sat) by Cyberax (✭ supporter ✭, #52523)In reply to: 'reasonable' domain registration prices? by Garak
Parent article: Turris: secure open-source routers
So you're willing to give out full email control to multiple random people running unsecured RPi-based severs at home.
Ok....
/me backs slowly away
The congestion-notification conflict
Posted Mar 23, 2019 22:23 UTC (Sat) by pizza (subscriber, #46)In reply to: The congestion-notification conflict by jg
Parent article: The congestion-notification conflict
'reasonable' domain registration prices?
Posted Mar 23, 2019 22:19 UTC (Sat) by mpr22 (subscriber, #60784)In reply to: 'reasonable' domain registration prices? by Garak
Parent article: Turris: secure open-source routers
Building header files into the kernel
Posted Mar 23, 2019 22:12 UTC (Sat) by Mattimo (subscriber, #129903)In reply to: Building header files into the kernel by mjthayer
Parent article: Building header files into the kernel
magic words
Posted Mar 23, 2019 22:07 UTC (Sat) by Garak (guest, #99377)In reply to: magic words by nix
Parent article: Rosenzweig: The federation fallacy
'reasonable' domain registration prices?
Posted Mar 23, 2019 22:01 UTC (Sat) by Garak (guest, #99377)In reply to: Crazy Obvious Home DVR Server by mpr22
Parent article: Turris: secure open-source routers
Development quotes of the week
Posted Mar 23, 2019 21:41 UTC (Sat) by Wol (subscriber, #4433)In reply to: Development quotes of the week by rahulsundaram
Parent article: Development quotes of the week
(aiui, the NoSQL domain was registered / is owned by one of the leading lights in the Pick community. It predates the rise of NoSQL in general, and was intended to trigger exactly that.)
But to implement a Pick database, really all you need is a decent key/value datastore, and a way of handling n-dimensional data (as provided by Pick's DataBASIC language). In maths, the general always trumps the specific, and Pick's n-dimensional data store trumps relational's 2-dimensional store.
Cheers,
Wol
Crazy Obvious Home DVR Server
Posted Mar 23, 2019 20:59 UTC (Sat) by mpr22 (subscriber, #60784)In reply to: Crazy Obvious Home DVR Server by Garak
Parent article: Turris: secure open-source routers
I pay £12/year (plus VAT) for a .com domain; if I settled for .co.uk it would only be £6/year. What kind of ridiculously lower were you thinking of?
The congestion-notification conflict
Posted Mar 23, 2019 20:58 UTC (Sat) by jg (guest, #17537)In reply to: The congestion-notification conflict by jg
Parent article: The congestion-notification conflict
The congestion-notification conflict
Posted Mar 23, 2019 20:53 UTC (Sat) by jg (guest, #17537)In reply to: The congestion-notification conflict by mfuzzey
Parent article: The congestion-notification conflict
Static site generators
Posted Mar 23, 2019 20:08 UTC (Sat) by spwhitton (subscriber, #71678)In reply to: Static site generators by corbet
Parent article: Federated blogging with WriteFreely
5.1 Merge window part 1
Posted Mar 23, 2019 17:22 UTC (Sat) by Wol (subscriber, #4433)In reply to: 5.1 Merge window part 1 by wojtekka
Parent article: 5.1 Merge window part 1
If you're a company with programmers on tap, then most things are *possible*.
Thing is, I'm a private individual with no real kernel experience (although my C was pretty decent), so getting old binaries to work is not *practical*.
That's what I feel is often missed here - what is *possible* is not always *practical*.
I'd love a guarantee like the IBM mainframes - I believe you can run "dawn of computing" mainframe software on the latest megabeasts, because the current system can emulate the previous system, which can emulate the one before that, which can emulate the one before that ... turtles all the way down. But that COSTS MONEY, which us little guys don't have, and most people don't seem to consider important enough to do as a project, be it commercial or private.
Cheers,
Wol
Cheating
Posted Mar 23, 2019 12:35 UTC (Sat) by corbet (editor, #1)In reply to: The congestion-notification conflict by farnz
Parent article: The congestion-notification conflict
My guess is that cheating would work less well than one might like. One of the big objectives behind L4S is low latency; that means tiny queues in the fast lane and tight congestion-control loops. If you don't implement the congestion-control side, you're probably going to overflow the queues and end up retransmitting a lot of dropped packets.
The congestion-notification conflict
Posted Mar 23, 2019 12:31 UTC (Sat) by mfuzzey (subscriber, #57966)Parent article: The congestion-notification conflict
Is it really realistic that any network protocol not supported by Linux be adopted at any internet significant scale?
Given the number of Linux based servers, networking devices and Android phones I would have thought not.
Scribus team mourns the passing of Peter "mrdocs" Linnell
Posted Mar 23, 2019 10:44 UTC (Sat) by jospoortvliet (guest, #33164)Parent article: Scribus team mourns the passing of Peter "mrdocs" Linnell
The congestion-notification conflict
Posted Mar 23, 2019 9:52 UTC (Sat) by farnz (subscriber, #17727)In reply to: The congestion-notification conflict by roc
Parent article: The congestion-notification conflict
Which is a strike against L4S, in my book; if I can cheat by just setting a bit in my headers, what is to stop me from doing so while my usage is small? And following on from that, when I'm a big enough problem, if I'm also a legitimate service (say Netflix or YouTube), I'm also effectively immune to blocking - block me, and I'll be able to allege that it's because I'm a big competitor to your services, not because I'm cheating.
Similar issues apply to global deployment of DiffServ - you can't stop users setting their traffic to an EF codepoint or even an AF codepoint, and absent a global agreement on shaping that should apply to such codepoints, you end up having to either block EF/AF traffic, or treat it as no better than DF traffic.
This is where SCE has an advantage - the endpoint setting the markers can request worse treatment, but not better.
Scribus team mourns the passing of Peter "mrdocs" Linnell
Posted Mar 23, 2019 7:49 UTC (Sat) by einar (guest, #98134)Parent article: Scribus team mourns the passing of Peter "mrdocs" Linnell
Last time we had a quick chat on IRC he mentioned his illness and how he was going... I didn't hear from him since then, and today I found this notice on LWN.
As others said, thank you for what you've done, and you will be missed, Peter.
Layers and abstractions
Posted Mar 23, 2019 6:53 UTC (Sat) by Cyberax (✭ supporter ✭, #52523)In reply to: Layers and abstractions by perennialmind
Parent article: Layers and abstractions
Whatever system you end up will not be functionally different from dual stack IPv6 + IPv4 NAT.
This is what is happening right now - you still have legacy IPv4 infrastructure with NAT-ed clients and newer IPv6 infrastructure without NATs. They both live together side-by-side seamlessly, thanks to Happy Eyeballs RFC.
> But even if you drop the stateful NAT option, under this scheme, or a 6to4-only-IPv6 phase, clients with mere IPv4 access can talk to the full IPng internet. For servers, there's no good reason not to opt-in to IPng.
No they can not. IPv4 clients can only connect to IPv4 addresses, so the server will have to use IPv4. Peer-to-peer with IPng is still impossible.
The congestion-notification conflict
Posted Mar 23, 2019 6:50 UTC (Sat) by flussence (guest, #85566)Parent article: The congestion-notification conflict
I really like the cleverness of SCE. It's basically pulse-density modulation encoding, simple enough anyone can understand it. More importantly, downstreams can understand it without a full protocol stack dissector, which the other scheme seems to require. Isn't the whole point of modern networking techniques to get heavy lifting *out* of the hot path?
Crazy Obvious Home DVR Server
Posted Mar 23, 2019 5:05 UTC (Sat) by Garak (guest, #99377)Parent article: Turris: secure open-source routers
One of the "little bit crazier" uses is to turn the router into a digital video recorder (DVR). Adding a USB DVB-T device and a disk drive gives you a DVR, he said.you mean I could like- program and watch my dvr's library from my phone or laptop wherever I am with an internet connection. Wow. Seriously, that should have existed in a much more advanced form many years ago. Along with asterix-level voicemail functionality (both on the router/homeserver and on the phone itself). And throw in home email server with domain registration price ridiculously lower than current rates. Maybe next year. Though I won't be happy till it comes with a complete self hosting set of its own FOSS code by default with very little hassle tweaking small code fixes for any itchy perceived deficiency (of the variety that can be changed with very small code tweaks, which is to say, a very large number of them. Like seriously, why is number of rings before vmail picks up not a more prevalent user-controlled option? Along with white/black/pass/blocklist contingent configurations of that number. Robocalls are only hard to mitigate if neither you nor the masses have the easy ability to go add blaringly obvious features to phone software)
Layers and abstractions
Posted Mar 23, 2019 4:29 UTC (Sat) by perennialmind (guest, #45817)In reply to: Layers and abstractions by Cyberax
Parent article: Layers and abstractions
NAT is bound to be the fallback in any scheme. If you start there and negotiate up, you can have a smooth on-ramp. Under the options-can-work scheme, the initial packet in any given flow exits the border router with it's address information intact. That packet is effectively "dual stack". (A heisenpacket?) It's only when it lands at an unenlightened IPv4 endpoint that you are stuck with stateful nat. Stateless transformations I don't mind.
But even if you drop the stateful NAT option, under this scheme, or a 6to4-only-IPv6 phase, clients with mere IPv4 access can talk to the full IPng internet. For servers, there's no good reason not to opt-in to IPng.
I do agree that IPng-blind IPv4 hosts could only talk to IPv4 servers. But that just makes sense, doesn't it? If I fired up Netwcape 4, I'd be able to load webpages over SSL3, but not those that only support TLS 1.2+. I'd be able to load crusty.gif, but not snazzy.svg. The web has undergone gradual transitions, with ample consideration for legacy systems. IPv6 didn't do it that way.
Scribus team mourns the passing of Peter "mrdocs" Linnell
Posted Mar 23, 2019 1:37 UTC (Sat) by SUSEsean (guest, #131079)In reply to: Scribus team mourns the passing of Peter "mrdocs" Linnell by estansvik
Parent article: Scribus team mourns the passing of Peter "mrdocs" Linnell
He will be missed.
Building header files into the kernel
Posted Mar 23, 2019 0:36 UTC (Sat) by adirat (subscriber, #86623)In reply to: Building header files into the kernel by dezgeg
Parent article: Building header files into the kernel
Building header files into the kernel
Posted Mar 22, 2019 23:31 UTC (Fri) by ay (guest, #79347)In reply to: Building header files into the kernel by dezgeg
Parent article: Building header files into the kernel
Security quotes of the week
Posted Mar 22, 2019 23:16 UTC (Fri) by smitty_one_each (subscriber, #28989)In reply to: Security quotes of the week by nwrk
Parent article: Security quotes of the week
While I don't mind augmenting the process with tech to speed up reporting, the two invariants I can't relinquish are:
(1) A secret (air gapped) ballot. No amount of AI should *ever* connect voter A to ballot B. This implies the non-perfection of the outcome, yes.
(2) A hard-copy ballot that can be used to audit any tech used to speed up the process. This implies additional costs, yes. Freedom ain't free. Costs a buck-oh-five.
Layers and abstractions
Posted Mar 22, 2019 23:11 UTC (Fri) by smitty_one_each (subscriber, #28989)Parent article: Layers and abstractions
Static site generators
Posted Mar 22, 2019 23:08 UTC (Fri) by smitty_one_each (subscriber, #28989)In reply to: Static site generators by ay
Parent article: Federated blogging with WriteFreely
Which is ubiquitous, but you sort of don't know where they're kept and whose getting up to what with them, and that could be irksome.
Building header files into the kernel
Posted Mar 22, 2019 23:07 UTC (Fri) by adirat (subscriber, #86623)In reply to: Building header files into the kernel by wahern
Parent article: Building header files into the kernel
Wake up people!
Layers and abstractions
Posted Mar 22, 2019 23:04 UTC (Fri) by smitty_one_each (subscriber, #28989)In reply to: Layers and abstractions by perennialmind
Parent article: Layers and abstractions
(1) My observation is that technology adoption is driven by how much better the new is than the old.
(2) If IPv6 were that much of an improvement over v4, then Egress-Only Ingernet Gateways[1] would make no sense.
(3) Maybe CIDR is "good enough".
[1] https://docs.aws.amazon.com/vpc/latest/userguide/egress-o...
Building header files into the kernel
Posted Mar 22, 2019 23:01 UTC (Fri) by jsmith45 (guest, #125263)In reply to: Building header files into the kernel by excors
Parent article: Building header files into the kernel
Building header files into the kernel
Posted Mar 22, 2019 22:48 UTC (Fri) by jsmith45 (guest, #125263)In reply to: Building header files into the kernel by Tov
Parent article: Building header files into the kernel
Compression formats
Posted Mar 22, 2019 22:41 UTC (Fri) by jsmith45 (guest, #125263)In reply to: Compression formats by corbet
Parent article: Building header files into the kernel
Building header files into the kernel
Posted Mar 22, 2019 22:11 UTC (Fri) by NAR (subscriber, #1313)In reply to: Building header files into the kernel by excors
Parent article: Building header files into the kernel
The congestion-notification conflict
Posted Mar 22, 2019 21:30 UTC (Fri) by roc (subscriber, #30627)In reply to: The congestion-notification conflict by mm7323
Parent article: The congestion-notification conflict
The same thing that stops you from disabling TCP congestion control or using a congestion-oblivious UDP transport. I.e. nothing, until you become a big enough problem that ISPs start blocking your traffic.
Firefox 66 released
Posted Mar 22, 2019 21:26 UTC (Fri) by Wol (subscriber, #4433)In reply to: Firefox 66 released by mjthayer
Parent article: Firefox 66 released
And how on earth is the algorithm supposed to know what the url is supposed to be?
Pages re-direct and re-write urls all the time. IME AI is *useless* at knowing what I want (eg pretty much ALL Thunderbird scam warnings I see come up on legit emails that don't even have anything that looks scammy to me !!!).
I seriously would NOT trust ANY form of AI to check whether an URL "looks right".
Cheers,
Wol
Layers and abstractions
Posted Mar 22, 2019 20:56 UTC (Fri) by Cyberax (✭ supporter ✭, #52523)In reply to: Layers and abstractions by perennialmind
Parent article: Layers and abstractions
This makes everything even worse, a dual stack IPv4/ng client won't know which protocol to use to connect to a V4 address.
The congestion-notification conflict
Posted Mar 22, 2019 19:00 UTC (Fri) by mm7323 (subscriber, #87386)Parent article: The congestion-notification conflict
Unless ISPs are going to filter at ingress points (and so break the end-to-end congestion management anyway), surely everyone has to agree and implement the same rules or it won't work - regardless of patents or politics.
Building header files into the kernel
Posted Mar 22, 2019 18:58 UTC (Fri) by dezgeg (subscriber, #92243)In reply to: Building header files into the kernel by adirat
Parent article: Building header files into the kernel
Building header files into the kernel
Posted Mar 22, 2019 18:37 UTC (Fri) by wahern (subscriber, #37304)In reply to: Building header files into the kernel by adirat
Parent article: Building header files into the kernel
Apparently they got it down to 1.5MB. Why are people still talking about shipping header tarballs? Is the BTF work just not well known? Since the motivating use case is BPF, which already requires a specialized tool chain, I don't see the downside.
Scribus team mourns the passing of Peter "mrdocs" Linnell
Posted Mar 22, 2019 18:33 UTC (Fri) by estansvik (guest, #127963)In reply to: Scribus team mourns the passing of Peter "mrdocs" Linnell by halla
Parent article: Scribus team mourns the passing of Peter "mrdocs" Linnell
Layers and abstractions
Posted Mar 22, 2019 18:30 UTC (Fri) by perennialmind (guest, #45817)In reply to: Layers and abstractions by nybble41
Parent article: Layers and abstractions
An IPv4 option field won't work simply because there are too many middleboxes that mangle or discard unknown option fields or entire packets containing them.
Oh there's no chance of such a scheme working now! The fun thought experiment supposes an alternative history diverging in the early 90's. Maybe it was already too late then. I'm awfully curious on that point. :-) As I understand it, unrecognized options are supposed to be ignored per RFC1122 and RFC7126. So a conformant IPv4 router should not need replacing or upgrading. In theory. 😊
IPng-to-IPng-over-link is obviously native IPv6.Yup.
IPng-to-IPng-over-IPv4 is covered by 6to4, Teredo, 6rd, and 6in4.Covered, yes. Miserably. The 6to4 scheme would have worked beautifully, if all the other IPv6 addresses were also 6to4. 6rd trades the anycast address for a unicast address provided by the ISP. 6rd is a mechanism for an ISP to provide IPv6 access over it's IPv4 infrastructure - a worthy goal, but a much less ambitious one. Teredo avoids upgrades to the NAT gateways but would only work well if IPv6 network operators consistently provide Teredo relays. Due to that, the complex path, added latency and limited reliability, it never reached critical mass.
... any protocol which relies on embedded IPv4 addresses will be unusable since (a) one side doesn't have a public IPv4 address to embed...
The fact that the IPv6 address space doesn't extend IPv4 is precisely the problem. I still don't understand why they did that. They put IPv4 addresses at the bottom (::127.0.0.1); if they'd put them at the top, the problem you describe wouldn't exist.
If you can't use the extension mechanism built into the original design (options), then the best you can do is encapsulation a la 6to4. 6to4 without the anycast route would still have been a huge improvement over NAT44. If you're referring to the sockaddr_storage type, yes, that would still be a painful, costly effort. Preferably one resulting in a sane id/locator split. Maybe replace sockaddr_in with a "locator handle". <shrug>
Hey, I just think it's a fun counterfactual! 😊
Building header files into the kernel
Posted Mar 22, 2019 17:45 UTC (Fri) by excors (subscriber, #95769)In reply to: Building header files into the kernel by dezgeg
Parent article: Building header files into the kernel
Security quotes of the week
Posted Mar 22, 2019 17:36 UTC (Fri) by excors (subscriber, #95769)In reply to: Security quotes of the week by karkhaz
Parent article: Security quotes of the week
Paper ballots are enormously easier to understand. Anyone could watch pieces of paper being put in a box, watch that nobody interferes with the box, and then count the pieces of paper when they come out. No expertise is required.
Maybe paper ballots aren't *really* more trustworthy than well-implemented electronic ones - there are still plenty of ways to corrupt the process - but they're good enough to be at a point where the average person's perception of trustworthiness is more important than the actuality. One of the benefits of well-run democracies is that nearly everyone accepts the result, even when they lose, because they believe it legitimately reflects the will of the people. Maybe it's the will of people who are stupid and wrong, but you can spend the next few years convincing them to vote the right way next time. But if the voting system is too complex for you to personally understand, you have no reason to believe in its legitimacy, and you're more likely to think your only meaningful option is violent regime change.
Scribus team mourns the passing of Peter "mrdocs" Linnell
Posted Mar 22, 2019 17:26 UTC (Fri) by halla (subscriber, #14185)Parent article: Scribus team mourns the passing of Peter "mrdocs" Linnell
Later on, he actually made me blush when reading my morning dose of Linux news: https://lwn.net/Articles/569096/ .
He was also a man you could not have met withoug loving him; at least, I cannot imagine anyone not remembering him like that, if he engaged with one, he left a deep impression of caring.
Thank you Peter, for all you've done for us, and for all that you've been for all of us.
Layers and abstractions
Posted Mar 22, 2019 16:38 UTC (Fri) by nybble41 (subscriber, #55106)In reply to: Layers and abstractions by perennialmind
Parent article: Layers and abstractions
IPng-to-IPng-over-link is obviously native IPv6.
IPng-to-IPng-over-IPv4 is covered by 6to4, Teredo, 6rd, and 6in4.
IPng-to-IPv4, without the option field, is NAT64. DNS translation is also mandatory, working in concert with the NAT64 gateway, if you intend to allow IPv4-only hosts to establish connections to "IPng" servers. Like *any* simplistic address extension scheme—including NAT44 and CGNAT—it has numerous shortcomings due to the fact that one side of the link is blissfully unaware of the need for address extensions. For a start, any protocol which relies on embedded IPv4 addresses will be unusable since (a) one side doesn't have a public IPv4 address to embed, and (b) there is no room to store an extended address even if the NAT64 gateway were modified to intervene and translate addresses at the application layer. The best you can hope for in that case is a new "IPng"-compatible protocol with space for address extensions and an application-level proxy running on the gateway to perform the translation.
Security quotes of the week
Posted Mar 22, 2019 16:36 UTC (Fri) by tnoo (subscriber, #20427)In reply to: Security quotes of the week by kmweber
Parent article: Security quotes of the week
Sure. But the counting is done in many different places in any of which you would need people that massively miscount the ballots. Since paper ballots are physical objects, it is intuitively and obviously clear which one has the majority. Faking them is a lot of work and cannot be done in big numbers without being noticed.
So any system that makes it very expensive and difficult to cheat can be trusted (up to a certain level). For electronic systems this is not the case, and I cannot see any way that they ever could be trusted.
Building header files into the kernel
Posted Mar 22, 2019 15:20 UTC (Fri) by dezgeg (subscriber, #92243)In reply to: Building header files into the kernel by excors
Parent article: Building header files into the kernel
Layers and abstractions
Posted Mar 22, 2019 14:50 UTC (Fri) by perennialmind (guest, #45817)In reply to: Layers and abstractions by Cyberax
Parent article: Layers and abstractions
I don't see that. I see that NAT has been and still is the real-world solution to the address crunch. That's the bar. Any new routing protocol has to be better than NAT.
For an IPng upgrade to beat NAT44, you'd want IPng-to-IPng-over-link, IPng-to-IPng-over-IPv4, and IPng-to-IPv4. The first one is easy*. The last two need to be compatible with IPv4-only routers in the path.
IPng-to-IPng-over-IPv4 can use encapsulation, so that can also be easy. With encapsulation, the layer underneath changes from link-to-IPv4, but that's normal - boring, even.
IPng-to-IPv4 is where, if you want to beat NAT, you have to embrace NAT. Upgradable NAT. The NAT we have today is expensive, brittle and lossy. To support true legacy IPv4 nodes, it has to be. If you set aside that requirement, you can have fully stateless NAT with address extension by IPv4 option field. If you need to support legacy IPv4, start with stateful NAT but include the address extension option. Then you can tear down the connection tracking and port reservation after the first reply in the flow. TCP would work especially well: only OS upgrades would be strictly required for an IPv4 TCP server. An upgraded TCP/UDP kernel+userspace would have full connectivity with the IPng world, without any help from an ISP.
Of course, if you decide to do IPng-to-IPv4 that way, you might as well take the same approach with IPng-to-IPng-over-IPv4. Once you take a translation approach, you can splice disjoint routing domains together. It's an inter-net after all! 😁
* If you adopt CLNP instead of inventing a brand-new "quick" "simple" design based on IPv4.
Firefox 66 released
Posted Mar 22, 2019 14:27 UTC (Fri) by karkhaz (subscriber, #99844)In reply to: Firefox 66 released by sionescu
Parent article: Firefox 66 released
It will make Firefox even faster for all of its users. This is so welcome because what has been holding back Firefox's adoption for so long was its slow pre-Quantum user experience. So hurrah for that.
It will inconvenience me and the four other people in the world who care enough about their extension configurations to version them. Boo-hoo, but several people have pointed out that git has an answer to this. I had actually made up my mind to write a script that would transparently encode my JSON files as a database, and whenever an extension writes to the database, I get a (JSON) pull request by email which I can accept or not. But several commenters ruined my fun by pointing out that such a tool already exists.
I do this with git fairly frequently. For years I had maintained a script which automated the process of binary-searching a sequence of commits to find the one that introduced a bug. It started off as a shell script, then I rewrote it in ruby, then I rewrote it in python when I forgot ruby. Then somebody told me about git bisect. I should skim every single git man page at some point, I bet there are more gems.
(Speaking of which. April Fools' Day approaches. I'll leave this Markov-chain based git man page generator here so that people can torment their SVN-using friends: https://git-man-page-generator.lokaltog.net/)
Layers and abstractions
Posted Mar 22, 2019 14:21 UTC (Fri) by perennialmind (guest, #45817)In reply to: Layers and abstractions by zlynx
Parent article: Layers and abstractions
A workable encapsulation strategy looks like a tunnel in that you have a layer 4 protocol over another layer 4 protocol. However, a tunnel abstraction usually implies a virtual interface for each "link". For an overlay network, while you can pretend the substrate is a link layer rather than another routing layer, at that point you are fighting your abstraction rather than fixing the discordance. In an more ideal world, abstractions evolve the way a model evolves to better fit the reality it describes.
Look at filesystems. Filesystems take a block device and provide files and directories. Except maybe they sit atop RAM, like tmpfs. Or other filesystems, like overlayfs or nfs. Or maybe they sit atop a single file... except they don't unless you construct an illusory loopback block device. That is, until Dave Chinner's new mapping layer teases apart the block address space concept from the block device layer. That is exactly the kind of well-defined "leak" we want between layers.
But I don't think that IPng-to-IPng-over-IPv4 should have used encapsulation. I think translation is a better approach. I think that using the extension facility built in to IPv4 should have been used. I think that new options fields should have been blessed as backwards-compatible first-class headers and a new minor version, IPv4.1 created. If IPng had benefits other than bigger addresses, then perhaps it could creep in from the edge. But if not, that's fine too.
There are other options, but the key enabler is the co-rooted address space. 6to4 worked great, except for the anycast bit, which was god-awful, a black hole of failure. If the new address space had embedded IPv4 near the top and refused to hand out anything not under it, we'd still have needed all of the host-side software changes, DNS, and routing protocol upgrades, etc, but the parties with no incentive to make costly changes would not have had to make costly changes.
To your last point: I am very glad that the entire operation of the internet does not depend on an IPSec substrate.
Security quotes of the week
Posted Mar 22, 2019 14:06 UTC (Fri) by karkhaz (subscriber, #99844)In reply to: Security quotes of the week by kmweber
Parent article: Security quotes of the week
Sure, but given that the hardware and software are open, there are ways of avoiding the need for so much trust:
- Order more voting machines than you need. 1% of randomly chosen voting machines get opened and compared with the schematics.
- But in swing states, even having one in a thousand biased voting machines might be enough to influence the election, with a low probability of being caught. So in those states, maybe disassemble 50% of the machines after the election.
- Build the firmware and software yourself, and reflash every single voting machine.
- Take a selection of voting machines, connect them up to a fake version of the server where they send their results, with an NTPd that reports that today is election day, etc. Press buttons on the voting machine, intercept the results, see if they match. Do the same thing with vanilla unflashed voting machines and see if their behaviour is any different.
etc. You raise a good point about trust being a component even of paper voting. But I wouldn't be so dismissive of quantitative changes in trust; if people really care about this, we can easily get to a situation where electronic voting requires less trust than paper, even if there is still some trust necessary. I doubt people will care until somebody demonstrably sabotages an election, though. Even then, probably only the saboteur's opponents will care, supporters will convince themselves that it's a ploy.
Building header files into the kernel
Posted Mar 22, 2019 12:33 UTC (Fri) by excors (subscriber, #95769)In reply to: Building header files into the kernel by neilbrown
Parent article: Building header files into the kernel
I think most Android devices don't have swap. They prefer to just kill background apps whenever RAM gets low.
Building header files into the kernel
Posted Mar 22, 2019 12:29 UTC (Fri) by excors (subscriber, #95769)In reply to: Building header files into the kernel by IanKelling
Parent article: Building header files into the kernel
Building header files into the kernel
Posted Mar 22, 2019 12:21 UTC (Fri) by adirat (subscriber, #86623)In reply to: Building header files into the kernel by wahern
Parent article: Building header files into the kernel
https://facebookmicrosites.github.io/bpf/blog/2018/11/14/...
Firefox 66 released
Posted Mar 22, 2019 10:57 UTC (Fri) by nilsmeyer (guest, #122604)In reply to: Firefox 66 released by flussence
Parent article: Firefox 66 released
This would be even more useful for mobile devices where data transfer is ridiculously expensive.
Security quotes of the week
Posted Mar 22, 2019 10:47 UTC (Fri) by kmweber (guest, #114635)Parent article: Security quotes of the week
At some level, elections have always relied on trust--with paper ballots, for example, you have to trust that the people doing the counting are doing so honestly (and even that doesn't account for the possibility of honest mistakes in counting). Multipartisan observer teams are a good way to combat that, of course, but still not literally impossible to corrupt.
My point isn't that we should make the perfect the enemy of the good; rather, at some point, unless we do away with ballot secrecy and start assembling in public and raising our hands, so everyone can count for themselves how many hands were raised and be satisfied that the announced total is correct (which is not feasible in a modern society), we're going to have to accept that there's a degree of "trust us" inherent in every system.
Firefox 66 released
Posted Mar 22, 2019 10:10 UTC (Fri) by mjthayer (guest, #39183)Parent article: Firefox 66 released
If someone is thinking that it is good to see the URL to check that it is what it should be, I would say that those checks can possibly be done better by algorithms.
Building header files into the kernel
Posted Mar 22, 2019 10:02 UTC (Fri) by mjthayer (guest, #39183)In reply to: Building header files into the kernel by neilbrown
Parent article: Building header files into the kernel
> Store the compressed image in the __init section (which is discarded somewhere in the boot sequence) and have code to copy it into a tmpfs filesystem (which can be paged out).
> Maybe put /proc/config.gz there too.
Glad to see someone else had the same idea. Might it make sense to reduce the in-kernel policy a bit by letting user-space handle the tmpfs? One possible (!) implementation would be to have a device which a) lets you read out the archive and b) lets you free the in-kernel memory holding the archive after you have done with it. (Maybe that could mean putting it into __init first and copying it from there to free-able kernel memory.)
Then again, perhaps the same thing could be achieved without it ever being in kernel memory. Tagged onto the end of the kernel binary? Something similar to initramfs? I was going to write "put into initramfs", which would avoid kernel changes altogether, but the thought of bloating that even more is not appealing.
Firefox 66 released
Posted Mar 22, 2019 9:40 UTC (Fri) by leromarinvit (subscriber, #56850)In reply to: Firefox 66 released by flussence
Parent article: Firefox 66 released
image.animation_mode=none should prevent animated GIFs from playing, though I haven't tried it. No idea about CSS animations.
Firefox 66 released
Posted Mar 22, 2019 9:30 UTC (Fri) by leromarinvit (subscriber, #56850)In reply to: Firefox 66 released by roc
Parent article: Firefox 66 released
KNOPPIX 8.5.0 released
Posted Mar 22, 2019 8:48 UTC (Fri) by Zenith (guest, #24899)In reply to: KNOPPIX 8.5.0 released by jschrod
Parent article: KNOPPIX 8.5.0 released
I did not in any way or form intend to slight the work done by ADRIANE and KNOPPIX - and for what it's worth, I am not a web developer so I may be talking out my arse.
Having said that, I did write "not very accessibility enhanced" - what I meant by this is that it is *my* impression that websites that use responsive design often do so via libraries like bootstrap etc, that - again, my impression - support a11y better than what random web developers may be inclined to support by themselves.
They support screen and braille readers via CSS and what not - at least that is my impression.
So in my mind 'responsive ~= a11y'
With all that said, it would be fairly comical if the documentation sites for said responsive design templates themselves are not a11y-enhanced.
