|
|
Subscribe / Log in / New account

Recently posted comments

Fixing programmers

Posted Mar 19, 2019 14:43 UTC (Tue) by NAR (subscriber, #1313)
In reply to: Fixing programmers by farnz
Parent article: Cook: security things in Linux v5.0

"why haven't we changed the way we work so that buffer overflows don't happen? "

According to this study, checks for buffer overflows in C can lead to 0-7% percent performance loss. Checking for integer overflow could lead to 50% slowdown. I guess those who still want to work in C don't want to accept this performance degradation.


Fixing programmers

Posted Mar 19, 2019 14:43 UTC (Tue) by mathstuf (subscriber, #69389)
In reply to: Fixing programmers by NAR
Parent article: Cook: security things in Linux v5.0

For zero-day hacking, the intent doesn't matter. All that matters is that you can thread your special arguments through to some internal state that allows you access to something else that you normally wouldn't be able to access. In *fixing* the issue, intent again enters the picture since just closing the hole naïvely can block some use case that is supposed to be intended (or break some subtle backwards compatibility). Static analysis is similar. It's goal is to detect what the actual code does, match it against code smells and flag such code. Intent then comes in when you either suppress the notice or change the code to make the code not wrong.


Fixing programmers

Posted Mar 19, 2019 14:31 UTC (Tue) by NAR (subscriber, #1313)
In reply to: Fixing programmers by mathstuf
Parent article: Cook: security things in Linux v5.0

what the intent was actually doesn't matter and correctness is all that counts.

How can you check correctness when you don't know what that code is supposed to do?


Fixing programmers

Posted Mar 19, 2019 14:14 UTC (Tue) by mathstuf (subscriber, #69389)
In reply to: Fixing programmers by anselm
Parent article: Cook: security things in Linux v5.0

There are a few fields where I can see the actual behavior of the code is of utmost importance, damn the intent. Static analysis and zero day hunting to name a few. In these cases, what the intent was actually doesn't matter and correctness is all that counts. However, these fields usually result in changes to the analyzed code when something "interesting" is found, so intent can matter again at that point.


5.1 Merge window part 1

Posted Mar 19, 2019 13:39 UTC (Tue) by nilsmeyer (guest, #122604)
In reply to: 5.1 Merge window part 1 by anton
Parent article: 5.1 Merge window part 1

You're the one who expects others to maintain your pet feature for free, indefinitely. I find that unreasonable.


The Thunderclap vulnerabilities

Posted Mar 19, 2019 13:31 UTC (Tue) by nix (subscriber, #2304)
In reply to: The Thunderclap vulnerabilities by westeri
Parent article: The Thunderclap vulnerabilities

It feels to me like a pooled allocator is what you want: each DMA-capable device gets a separate pool, and memory the allocator gives back to a given pool uses pages distinct from that used by all other pools; memory is zeroed before being placed in the pool. That way, a hostile device can only spy on memory it itself has populated (assuming that page-level protection still functions properly: so even this still needs a working IOMMU).


5.1 Merge window part 1

Posted Mar 19, 2019 12:44 UTC (Tue) by anton (subscriber, #25547)
In reply to: 5.1 Merge window part 1 by edeloget
Parent article: 5.1 Merge window part 1

I am not an expert on the business of VMs, but I imagine that, just like some here don't consider it the purpose of the kernel to run old binaries, VM maintainers might also consider it not their purpose to run old OSs: They could (and probably do) decide to emulate hardware that is too recent for OSs above a certain age.


Fixing programmers

Posted Mar 19, 2019 12:24 UTC (Tue) by anselm (subscriber, #2796)
In reply to: Fixing programmers by rweikusat2
Parent article: Cook: security things in Linux v5.0

The goal of computer programming is to write code that does what it is supposed to be doing. You can use the code itself to figure out what it does, but you can't use the code itself to figure out whether it does what it is supposed to be doing.

It's very easy to write code that does something. Writing code that does what it it supposed to do is a lot harder, and requires outside context so you can determine when you're done. This is why in Real Life™ we have comments, specifications, unit tests, and so on – all to be able to figure out whether code does what it is supposed to do.


Fixing programmers

Posted Mar 19, 2019 10:37 UTC (Tue) by HelloWorld (guest, #56129)
In reply to: Fixing programmers by rweikusat2
Parent article: Cook: security things in Linux v5.0

> There's no more reason to assume that two cases with fallthrough are correct or incorrect than two cases seprated by a break;. I've actually written code where I forgot to omit the break in the past :-).
There are actually two reasons:
– the case where you want to use break is vastly more common than the case where you want to fall through
– it's easier to forget adding the break keyword than it is to accidentally add the fall-through attribute

> I've actually written code where I forgot to omit the break in the past :-).
The article mentions 20 cases of missing break statements that were uncovered by this work, while it doesn't mention any cases like the one you describe. It's safe to say that missing break statements are a much more frequent occurrence.


home server prohibition matters i think

Posted Mar 19, 2019 10:30 UTC (Tue) by nix (subscriber, #2304)
In reply to: home server prohibition matters i think by Garak
Parent article: Rosenzweig: The federation fallacy

Yeah right. You can tell because nobody uses Google in the UK, or Facebook. The UK has *more stringent* rules than you propose (or, in fact, it has rules that produce extensive ISP competition, and some of those ISPs not only allow but encourage you to run home servers), but I'm writing this on Chromium and I use Google for searching almost to the exclusion of all else: indeed Google has more of a stranglehold here than in the US.

I am in favour of home servers -- I run quite a lot of them -- but all your harping on the subject is doing here is proving your parochialism. Your proposed solution has been tried and it *does not work*. It does not do what you repeatedly say it will do. I wish it did, but it turns out that allowing home servers is not a panacea. It doesn't cure disease or old age either, imagine that.


Rosenzweig: The federation fallacy

Posted Mar 19, 2019 10:22 UTC (Tue) by nix (subscriber, #2304)
In reply to: Rosenzweig: The federation fallacy by Wol
Parent article: Rosenzweig: The federation fallacy

Most countries that like to call themselves "democracies" are actually nothing of the sort, they are "representative governments" - we call ourselves a "parliamentary democracy" but, seeing as we vote representatives into parliament who then mostly vote as their party leaders tell them to, that's hardly democratic *or* representative.
Well, this is what you get when things are going as planned, or when it is clear that whatever happens things will mostly still kinda work, or when there is one obvious answer and everyone agrees (e.g. often in wartime, but also most of the time in peacetime too). We are observing at present in the UK what happens when that machinery breaks down because the people in power are inflexible or manipulable enough that they are listening to only small interest groups who are trying to drive everything off a cliff for their own reasons (Rees-Mogg has personally made £7m from Brexit so far: why's he in favour of it? I can't imagine: he doesn't care if it hurts the mostly poor people he represents, since he thinks they're *meant* to be poor and he's their manor lord, yes, seriously). What's happening? Suddenly Parliament has grown teeth and is biting back, and oh look even though rarely used those teeth do in fact appear to be quite sharp still.


Fixing programmers

Posted Mar 19, 2019 10:02 UTC (Tue) by NAR (subscriber, #1313)
In reply to: Fixing programmers by rweikusat2
Parent article: Cook: security things in Linux v5.0

Intent doesn't matter. Correctness does.

Let's say I have this code snippet: a = b + c; Is it correct?


5.1 Merge window part 1

Posted Mar 19, 2019 10:00 UTC (Tue) by edeloget (subscriber, #88392)
In reply to: 5.1 Merge window part 1 by anton
Parent article: 5.1 Merge window part 1

> But why should VM maintainers support old Linux kernels?
> Do you guarantee that they won't change their VM a few years
> down the road in a way that supports only modern kernels
> that don't have a.out support if you get your way?

Wouldn't that be antithetical to the purpose of a virtual machine, which is to provide a kind of emulation layer for the hardware? A VM that can only run a selected list of OS is of no use, and they cannot assume what you'll feed to them.


KNOPPIX 8.5.0 released

Posted Mar 19, 2019 9:35 UTC (Tue) by flussence (guest, #85566)
Parent article: KNOPPIX 8.5.0 released

KNOPPIX was the first Linux experience I had, 17 years ago. Glad to see it's still alive and well.


5.1 Merge window part 1

Posted Mar 19, 2019 9:32 UTC (Tue) by anton (subscriber, #25547)
In reply to: 5.1 Merge window part 1 by dvdeug
Parent article: 5.1 Merge window part 1

32-bit Windows programs were supported since Windows NT (release 1993), and Win32s for Windows 3.1 (beta 1992). And Windows 10 (the most modern Windows) actually does support 16-bit applications in its 32-bit variant. Anyway, the issue is about running 32-bit binaries, just a different format.

I have 5 OMAGIC, 9 ZMAGIC, and 14 QMAGIC binaries in my /usr/local/bin. One of the QMAGIC binaries is from a program that I have in source but that does not compile with current gcc (unfortunately, gcc maintainers like to break existing programs in newer gcc versions; of course they justify it by claiming that the programs were broken before, but that does not change the fact that they don't compile programs that they used to compile in earlier versions). I have not checked the others whether they can be compiled.

So what do I gain? I can run old binaries, without needing to recompile them, which may not be possible, and in any case, requires some effort.

There is value in being able to run old software: We can better study and compare it if we can run it. And the basis of all that is a willingness to support it.

If the Linux kernel maintainers retract their support for old software, why should those who you point to as alternative not retract support, too. E.g., you claim we can run old Linux kernels in a VM, and old binaries in that. But why should VM maintainers support old Linux kernels? Do you guarantee that they won't change their VM a few years down the road in a way that supports only modern kernels that don't have a.out support if you get your way?


5.1 Merge window part 1

Posted Mar 19, 2019 8:54 UTC (Tue) by anton (subscriber, #25547)
In reply to: 5.1 Merge window part 1 by nilsmeyer
Parent article: 5.1 Merge window part 1

Looks to me like you want to insult the Linux kernel maintainers by insinuating that their guarantee has no value.


5.1 Merge window part 1

Posted Mar 19, 2019 8:33 UTC (Tue) by dvdeug (guest, #10998)
In reply to: 5.1 Merge window part 1 by deater
Parent article: 5.1 Merge window part 1

Wow, https://www.amb.org/xmcd/ is still up and that page is a blast from the past. Last change was in 2004, so you might be able to compile a new version, but I don't know how well it would work with PulseAudio.

Hopefully current virtual machines would handle the need for running Motif-linked binaries. It seems unlikely a GUI program would need the blistering speed of native hardware, and the more complex library-wise you get, the more headaches you get trying to install that on a modern system.


Leaderless Debian

Posted Mar 18, 2019 23:57 UTC (Mon) by a9db0 (subscriber, #2181)
In reply to: Leaderless Debian by edomaur
Parent article: Leaderless Debian

Great line Jon! Really did laugh out loud.


Fixing programmers

Posted Mar 18, 2019 22:39 UTC (Mon) by sfeam (subscriber, #2841)
In reply to: Fixing programmers by rweikusat2
Parent article: Cook: security things in Linux v5.0

I believe you have this backwards. What the code does can be determined in the absence of comments. The intent, not so much. That is why comments are valuable for bug-finding. Any place where the documented intent does not match the observed actual behavior is candidate for causing problems.


Fixing programmers

Posted Mar 18, 2019 22:33 UTC (Mon) by Cyberax (✭ supporter ✭, #52523)
In reply to: Fixing programmers by rweikusat2
Parent article: Cook: security things in Linux v5.0

> I need to know what the code does, not what someone believed it should be doing.
So you need to know the intent. Duh. You're just deluding yourself at this point.

Correctness checking is TRIVIAL, it's not even worthy of mentioning. Checking of intent is anything but. And that's exactly why modern computer languages try to make it easier for developers to express their intent through code.


Fixing programmers

Posted Mar 18, 2019 22:29 UTC (Mon) by rweikusat2 (subscriber, #117920)
In reply to: Fixing programmers by Cyberax
Parent article: Cook: security things in Linux v5.0

If you think so, that's your opinion and not mine.

As person who spends a seriously lot of time working with other people's code (and has done so for about 15 years), I can assure you that I don't give $random_small_quantity_of_money for documentation of "programmer intent", especially not in form of otherwise uninformative comments. I need to know what the code does, not what someone believed it should be doing.


Fixing programmers

Posted Mar 18, 2019 22:11 UTC (Mon) by Cyberax (✭ supporter ✭, #52523)
In reply to: Fixing programmers by rweikusat2
Parent article: Cook: security things in Linux v5.0

Actually you got it wrong. Correctness doesn’t matter. The intent does.


Two topics in user-space access

Posted Mar 18, 2019 21:51 UTC (Mon) by valarauca (guest, #109490)
In reply to: Two topics in user-space access by klossner
Parent article: Two topics in user-space access

>Those of us who are really long-term developers expect this thanks to our experience with 16-bit machines. On a PDP-11/45 running Unix, there was no way that kernel and userspace could have shared a 64KB address space.

They actually did. This is where `setbrk` came from, as it described where your program ended, and where the kernel started.

It should also be noted that there was no memory protection, so when tasks were switched, the whole "userland" address space (south of setbrk) was written to disk, and another chunk of memory was loaded and jumped too.

IBM's System360 was the first computer to do virtual memory in hardware.


Fixing programmers

Posted Mar 18, 2019 21:46 UTC (Mon) by rweikusat2 (subscriber, #117920)
In reply to: Fixing programmers by mathstuf
Parent article: Cook: security things in Linux v5.0

As I've already explained: Intent doesn't matter. Correctness does. YMMV.


Turris: secure open-source routers

Posted Mar 18, 2019 21:14 UTC (Mon) by Cyberax (✭ supporter ✭, #52523)
In reply to: Turris: secure open-source routers by diederich
Parent article: Turris: secure open-source routers

I needed a package that was not available in Turris. Something to do with the cellular modem, as far as I remember.


Federated blogging with WriteFreely

Posted Mar 18, 2019 20:47 UTC (Mon) by cdarroch (subscriber, #26812)
In reply to: Federated blogging with WriteFreely by songmaster
Parent article: Federated blogging with WriteFreely

Indeed, and there's at least one reference in the Linux kernel source to a lengthy Google+ comment thread on one of Linus's posts there, regarding the magic behind the implementation of the 32-bit and 64-bit variants of the count_masked_bytes() function used in the little-endian implementation of find_zero(), which is called, I believe, when hashing and comparing dentry names while walking file paths.

One hopes this and similar historical conversations on Google+ can be preserved somewhere for posterity, with the comments intact. My quick glance through the Internet Archive snapshot of the thread mentioned above suggests the archive copy lacks most of the 124 comments, where the meat of the discussion took place, but I may be mistaken (and I certainly hope so!)


KNOPPIX 8.5.0 released

Posted Mar 18, 2019 20:23 UTC (Mon) by Zenith (guest, #24899)
In reply to: KNOPPIX 8.5.0 released by atai
Parent article: KNOPPIX 8.5.0 released

I was just trying to highlight that the accessibility of a website about software enabling accessibility is seemingly - not very accessibility enhanced.


KNOPPIX 8.5.0 released

Posted Mar 18, 2019 20:07 UTC (Mon) by atai (subscriber, #10977)
In reply to: KNOPPIX 8.5.0 released by Zenith
Parent article: KNOPPIX 8.5.0 released

software developers may not be good web developers; good web site is not a criteria for the goodness of software (unless the software is web site related)


Turris: secure open-source routers

Posted Mar 18, 2019 20:00 UTC (Mon) by diederich (subscriber, #26007)
In reply to: Turris: secure open-source routers by Cyberax
Parent article: Turris: secure open-source routers

> I have tried to use Turris software but ended up migrating to vanilla OpenWRT

May I ask: why did you migrate back? Thanks.


Fixing programmers

Posted Mar 18, 2019 19:53 UTC (Mon) by mathstuf (subscriber, #69389)
In reply to: Fixing programmers by rweikusat2
Parent article: Cook: security things in Linux v5.0

As a reviewer, I would want a positive indication of intent for either behavior. A lack of either break or a fallthrough comment/attribute is an automatic request for "please clarify". The goal isn't to make code writer's jobs easier, but those who have yet to come and read the code.


Fixing programmers

Posted Mar 18, 2019 19:40 UTC (Mon) by rweikusat2 (subscriber, #117920)
In reply to: Fixing programmers by mathstuf
Parent article: Cook: security things in Linux v5.0

I don't understand what that's supposed to mean in the given context.

I was trying to express two things:

1) Noting that a break is absent isn't sufficient grounds to assume that this must have been an oversight unless there's an a priori conviction that this is a very likely cause for an absent break. Considering the "99% false positives", such a conviction doesn't seem sensible to me.

2) Computers execute code as it was written, not as it was intended to be written. An absent break which was an oversight isn't necessarily an error. And neither is a conscious omission or a present break necessarily correct.


5.1 Merge window part 1

Posted Mar 18, 2019 19:40 UTC (Mon) by jg (guest, #17537)
In reply to: 5.1 Merge window part 1 by johill
Parent article: 5.1 Merge window part 1

The MAC 802.11 airtime fairness work is important for people to pick up on. Drivers need to be updated to use it, so initially, it depends what wifi chip you have as to whether you will see benefit.

The feature not only ensures that you get a "fair share" of available WiFi bandwidth, but this also has the effect of using the available bandwidth much more efficiently (multiple stations end up able to get more total bandwidth), so it helps busy networks.

See:
https://www.usenix.org/system/files/conference/atc17/atc1...


Fixing programmers

Posted Mar 18, 2019 19:09 UTC (Mon) by farnz (subscriber, #17727)
In reply to: Fixing programmers by pizza
Parent article: Cook: security things in Linux v5.0

I don't disagree that a lot of the issues are down to maritime law - but that's precisely the sort of thing that needs to be fixed if maritime is to catch up on aviation w.r.t. safety errors. And (to circle back round) both aviation law and maritime law are government regulations on the way their respective industries are run, complete with liability control; however, one has a strong record of ratcheting up safety over time, and the other continues to blame individuals rather than address the many ways in which changes to the law would result in better safety for all.

Hence my belief that regulation, in itself, is not sufficient to improve software - it needs to be good regulation like aviation, where the emphasis is on changing the regulation to prevent repeats, not like maritime law where flag administrators are slow to change regulations in response to known deficiencies.


Fixing programmers

Posted Mar 18, 2019 17:20 UTC (Mon) by pizza (subscriber, #46)
In reply to: Fixing programmers by farnz
Parent article: Cook: security things in Linux v5.0

Unfortunately, many of the answers to your questions are "because maritime law."

BTW, here is the 181-page official investigation report:

http://3kbo302xo3lg2i1rj8450xje-wpengine.netdna-ssl.com/w...


5.1 Merge window part 1

Posted Mar 18, 2019 16:55 UTC (Mon) by deater (subscriber, #11746)
In reply to: 5.1 Merge window part 1 by dvdeug
Parent article: 5.1 Merge window part 1

> In any case, proprietary code has been rare on Linux, and
> definitely pre-1995.

Not necessarily true. A lot of software back then depended on the Motif gui library, so even nominally free software ended up being statically linked against that.

I know I had an a.out "xmcd" binary that I used for many many years after the ELF transition, though I do admit I no longer run a.out files on a regular basis (though I do regularly run binary-only software written in the 1980s, just not on Linux).


Fixing programmers

Posted Mar 18, 2019 16:50 UTC (Mon) by farnz (subscriber, #17727)
In reply to: Fixing programmers by pizza
Parent article: Cook: security things in Linux v5.0

Exactly my point - there are two things that matter and are different in aviation as opposed to maritime regulation:

  1. Overriding the captain when they are making a mistake is expected in aviation, and praised; it is punished in maritime regulation.
  2. The questions being asked of the captain are not "what could we have changed to stop this from happening", but "why did you not do the right things".

It's that blame culture that prevents maritime rules from moving on - we have a scapegoat for the incident, we don't need to consider anything other than Captain Schettino's bad behaviour. In the aviation world, there would be more significant changes expected; why does Captain Schettino claim he was asked to do a sail-past salute? Why can't a more junior officer order preparations to abandon ship? Why couldn't Captain De Falco hand command of the ship over to Mr Bosio when Captain Schettino refused to return onboard? Why is it possible for the alarm system to be off on captain's orders alone?

And I'm not a professional investigator - those are just four things raised by the public record on the disaster that should be understood and should lead to changes to the way ships are run, if it's managed the way aviation is. Human error happens, and the rates at which it happens are well understood, so why do we accept that the disaster was Captain Schettino's fault, and leave it at that, when we should be trying to ensure that the next Captain Schettino cannot make the same set of mistakes?


Fixing programmers

Posted Mar 18, 2019 16:14 UTC (Mon) by jezuch (subscriber, #52988)
In reply to: Fixing programmers by mathstuf
Parent article: Cook: security things in Linux v5.0

I do that too, *and* I do the initial commit using git commit -p as a kind of self-review. Catches plenty of stuff I wanted to do or did temporarily but forgot etc.


magic words

Posted Mar 18, 2019 16:06 UTC (Mon) by nix (subscriber, #2304)
In reply to: magic words by Garak
Parent article: Rosenzweig: The federation fallacy

So... you think everyone should be free to respond to whatever comments they like and have unbridled free speech except when *you* disagree with them? You're even using inappropriate legal terminology ("cease and desist") to try to cast a pall of theoretical legalese over the thread-branch you dislike.

This seems like a rather inconsistent worldview (though a common one). Freedom, freedom for everyone who agrees with me! But everyone else can go hang.


Fixing programmers

Posted Mar 18, 2019 15:56 UTC (Mon) by pizza (subscriber, #46)
In reply to: Fixing programmers by farnz
Parent article: Cook: security things in Linux v5.0

> In an aviation equivalent, the setup would allow any bridge officer to override the captain on a risky manoeuvre like this; it simply wouldn't be just the captain's fault as the Concordia was suggested to be.

(FYI, under maritime law, "overriding the captain" is called mutiny, something that tends to go quite badly for all involved..)

Meanwhile, the book wasn't thrown at the captain (and his senior staff) for merely running aground. Instead, it was for grossly mismanaging what happened next. To top it all off, the captain *abandoned his post* well before evacuation was complete.


The creation of the io.latency block I/O controller

Posted Mar 18, 2019 15:37 UTC (Mon) by josefbacik (subscriber, #90083)
In reply to: The creation of the io.latency block I/O controller by juril
Parent article: The creation of the io.latency block I/O controller

At the time I was doing io.latency bfq wasn't mature enough to use. bfq is more akin to our current io.weight work, however we have found in testing that the latency induced by bfq is way more than we are willing to pay for. The io scheduler infrastructure currently only operates on requests, which means they get a request and that request is holding resources up for the entirety of its lifetime. This is why io.latency/wbt operate above the io scheduler, we can throttle all we want and not affect other workloads. Throttling at the io scheduler level means we're still holding on to that extra resource and punishing all the other workloads because of this lack of resource.

This isn't an impossible problem to solve by any means, and is not a complaint against bfq itself. We just know this method works, and it works extremely well, and then allows us to run whatever io scheduler we want underneath it, wether it's kyber or mq-deadline or whatever.


'killers' he called them on his 15 season NBC show

Posted Mar 18, 2019 14:59 UTC (Mon) by nix (subscriber, #2304)
In reply to: 'killers' he called them on his 15 season NBC show by Garak
Parent article: Rosenzweig: The federation fallacy

I think ale2018's complaint may have been that the *businesspeople* too frequently consider their relationship with their customers to be a predator's with its prey, rather than, perhaps, trying to make money by doing things that would help their customers. Parasitism is a common lifestyle, but it's not one that anyone other than the parasites much likes.


Fixing programmers

Posted Mar 18, 2019 13:49 UTC (Mon) by mathstuf (subscriber, #69389)
In reply to: Fixing programmers by rweikusat2
Parent article: Cook: security things in Linux v5.0

Depends. Sometimes "uninteresting" parts of a patch are done at a late (or early) hour and is just more prone to typos and errors. Reviews are invaluable to every coder, from those learning anew all the way up to Linus. One of the first things I do after opening a merge request is do another look over the code. I've lost count of how many 5-minute-later pushes I've made because of that. Or if I find a bigger issue, I at least leave a comment that something looks weird and might need more thought.


SUSE completes its management transition

Posted Mar 18, 2019 13:45 UTC (Mon) by mathstuf (subscriber, #69389)
In reply to: SUSE completes its management transition by em-bee
Parent article: SUSE completes its management transition

I don't know about that. Nokia got sold around a couple of times. Granted, it doesn't seem like the buyers are parasitizing the profitable parts and regurgitating the remnants onto the next sucker, but I wouldn't use it as a universal indicator of success.


The creation of the io.latency block I/O controller

Posted Mar 18, 2019 13:30 UTC (Mon) by juril (guest, #111960)
Parent article: The creation of the io.latency block I/O controller

Hi Josef. I was wondering how your work relates to BFQ (https://lwn.net/Articles/601799/).
Could you comment on differences?
Thanks!


Fixing programmers

Posted Mar 18, 2019 13:20 UTC (Mon) by farnz (subscriber, #17727)
In reply to: Fixing programmers by pizza
Parent article: Cook: security things in Linux v5.0

The Costa Concordia is a good example, because it had a near-miss doing a similar manoevure at company request under the same captain a few months earlier, but no formal investigation happened - it was just one of those things - and even now, the effort is to claim that the captain was at fault.

In an aviation equivalent, the setup would allow any bridge officer to override the captain on a risky manoevure like this; it simply wouldn't be just the captain's fault as the Concordia was suggested to be.

Plus, there are plenty of design issues with the cruise ships in general, which are being completely ignored in favour of minor tweaks to the way they operate - despite knowing that the requirement for active stability assist to stay upright is part of what caused the Concordia to crash.


Fixing programmers

Posted Mar 18, 2019 12:46 UTC (Mon) by pizza (subscriber, #46)
In reply to: Fixing programmers by farnz
Parent article: Cook: security things in Linux v5.0

I'm not sure that the Costa Concordia is a good example here, as the company was based in Italy, the ship flew an Italian flag, and the accident happened in Italian waters -- it's rare for two to be true, much less the trifecta! -- and its Captain demonstrated astonishing (not to mention criminal) levels of gross incompetence.

That said, the cruise industry as a whole also made changes (notably requiring safety drills prior to leaving port instead of "within 24 hours" as the governing treaties require) and much stricter rules about non-essential personnel on the bridge -- eg if you're going to sneak your mistress on board without a ticket, at least keep her off the bridge during offshore manoeuvres.

I might postulate that the "maritime industry" is learning the lesson that poor safety practices will severely hurt them in the market -- both in lower passenger booking and drastically higher insurance premiums. (Indeed, insurance company requirements probably do more to effect industry-wide changes than governments ever do..)


Fixing programmers

Posted Mar 18, 2019 11:43 UTC (Mon) by farnz (subscriber, #17727)
In reply to: Fixing programmers by pizza
Parent article: Cook: security things in Linux v5.0

That's not sufficient - maritime transport is regulated in the same way as aviation, and yet is as generally disasterous as programming. In particular, maritime accidents can be blamed on human error and the captain or their crew prosecuted in a way that does not happen in aviation - see the Costa Concordia disaster for example, where no lessons are being learnt by the industry because they can push the blame onto the captain.


Fixing programmers

Posted Mar 18, 2019 11:18 UTC (Mon) by pizza (subscriber, #46)
In reply to: Fixing programmers by farnz
Parent article: Cook: security things in Linux v5.0

> In contrast, in software, we had the Morris Worm of 1988 (over 30 years ago), which exploited buffer overflows in C code. 30 years later, we're still seeing new buffer overflow attacks on maintained software written in C; why haven't we changed the way we work so that buffer overflows don't happen?

Because, unlike both Surgery and Aviation, "programming" (C or otherwise) as a profession has little to no formal quality, training or certification requirements, and zero government oversight. Which is just they way the industry likes it.

You want this to change? Make software vendors directly liable (civilly and/or criminally) for software defects -- no more hiding behind "the software is provided with no warranty; not even implied merchantability or fitness for a particular purpose" disclaimers.


Fixing programmers

Posted Mar 18, 2019 10:18 UTC (Mon) by farnz (subscriber, #17727)
In reply to: Fixing programmers by Cyberax
Parent article: Cook: security things in Linux v5.0

The thing that really changed both aviation and surgery is not checklists themselves, but three shifts in attitude that result in changes (including checklists) that improve on today's situation.

Change 1 is the idea that unforced human error is not an explanation - it's just a way of shifting blame onto the operator. All incidents have to be investigated, and at each point where a reasonable change to procedure or device implementation could have prevented an incident, that change should be identified. Once you have a list of changes that could have prevented this incident, then you do a risk/benefit assessment of each change and decide which ones are worth having, and which ones just add complexity for complexity's sake.

Change 2 is that there's no such thing as a lucky near miss - instead, there are near misses that . Whenever someone has a "lucky near miss", record what happened, and classify it with other lucky near misses. Someone looks for patterns of lucky near misses, and anything that recurs is treated as an incident and investigated with a view to stopping it happening again.

Finally, change 3 is the idea that seniority should not imply deference. The world's greatest experts all make mistakes, and when a junior calls you out on a possible error, you either fix it and graciously acknowledge their input (if they've called you on a real error like operating on the wrong limb), or you treat it as a teachable moment if they've misunderstood something (e.g. if they're asking you why you put the nose down and cut the throttle when trying to descend).

None of this is a panacea - mistakes still get made - but it means that you don't repeatedly make the same class of error, nor do you depend on "experience" and "expertise" to remove classes of mistake, because the changes you make (be it checklists, talking to the patient before operating, gauges rotated so that "perfect" is straight up, sign in/out sheets for everything that's used in an operation, making it normal for juniors to critique seniors) all change the working environment such that fewer mistakes are made.

In contrast, in software, we had the Morris Worm of 1988 (over 30 years ago), which exploited buffer overflows in C code. 30 years later, we're still seeing new buffer overflow attacks on maintained software written in C; why haven't we changed the way we work so that buffer overflows don't happen?


GNOME 3.32 released

Posted Mar 18, 2019 10:17 UTC (Mon) by epa (subscriber, #39769)
In reply to: GNOME 3.32 released by quotemstr
Parent article: GNOME 3.32 released

I believe Mac OS X uses a similar trick, for example the 15" laptop renders at 3840x2400 with 200% scaling and then scales by 0.75 in hardware.


KNOPPIX 8.5.0 released

Posted Mar 18, 2019 10:16 UTC (Mon) by philh (subscriber, #14797)
In reply to: KNOPPIX 8.5.0 released by Zenith
Parent article: KNOPPIX 8.5.0 released

Looking at W3C's Web Content Accessibility Guidelines (WCAG) 2.1 <https://www.w3.org/TR/WCAG/> I note that the only mention of "responsive" is in this note:

> New A full page includes each variation of the page that is automatically presented by the page for various screen sizes (e.g. variations in a responsive Web page). Each of these variations needs to conform (or needs to have a conforming alternate version) in order for the entire page to conform.

which suggests that one needs to work rather harder at accessibility when doing a responsive design.

So, the page isn't great if you are sighted, and are using a phone to look at it, but that's not really the target audience for the page.

If one assumes that the page was authored by Adriane Knopper herself, it doesn't strike me as particularly shocking that the visual aspects of the presentation have not received a lot of attention.

I'd imagine that constrictive criticism would be welcome, but I'm guessing that devoting effort to making it look good on a mobile phone is not going to happen, particularly not if that might result in even the slightest degradation of the user experience for those using screen readers.


Federated blogging with WriteFreely

Posted Mar 18, 2019 8:05 UTC (Mon) by elboulangero (subscriber, #81193)
Parent article: Federated blogging with WriteFreely

If you're interested in having a web user interface that allows you to write your posts in a web browser (which is apparently what WriteFreely offers), then there is also Ghost to consider. I used it for a while for a small personal blog, I found it quite good. Maybe this article can give you a quick insight in the project: https://blog.ghost.org/5/

In the end, I found it overkill for my needs, and I prefer the workflow offered by static sites generator (ie. terminal+editor+git). So I switched to Pelican and I'm super happy with it, I give it a 5 stars.


SUSE completes its management transition

Posted Mar 18, 2019 7:38 UTC (Mon) by em-bee (guest, #117037)
In reply to: SUSE completes its management transition by alison
Parent article: SUSE completes its management transition

suse has survived several sales of the company or parent companies. that is usually a sign of a good and stable revenue. i expect they will survive quite a while longer...

greetings, eMBee.


5.1 Merge window part 1

Posted Mar 18, 2019 4:37 UTC (Mon) by dvdeug (guest, #10998)
In reply to: 5.1 Merge window part 1 by anton
Parent article: 5.1 Merge window part 1

ELF support came to Linux in 1995 (e.g. Slackware 3.0), the same year as Windows 95 (the first 32-bit consumer Windows) was released. And modern Windows doesn't support 16-bit programs, so Linux without a.out support offers support as far back as Windows does, about 24 years. It's a lot easier to run an old Linux in a VM, but there's more support for emulating old Windows programs.

In any case, proprietary code has been rare on Linux, and definitely pre-1995. Besides bragging rights, what do you gain from having a.out support in Linux?


GNOME 3.32 released

Posted Mar 18, 2019 2:42 UTC (Mon) by whot (subscriber, #50317)
In reply to: GNOME 3.32 released by mathstuf
Parent article: GNOME 3.32 released

> Why is it required for Wayland specifically? Or is it just that X has had it "forever" anyways?

Under X, any client can enquire about the location of the cursor, the current button state and the current keyboard state. So it's trivial to write something that can do pointer highlighting.

Under Wayland (the protocol), the pointer location and state is not available to a client unless it is focused. And even then the location is window-relative as opposed to screen relative. The only process to have access to all the information is the compositor, so whatever highlights the pointer needs to request the data from the compositor and/or get the compositor to render it in the correct place.


The art of checklists

Posted Mar 18, 2019 0:58 UTC (Mon) by rickmoen (subscriber, #6943)
In reply to: Fixing programmers by Cyberax
Parent article: Cook: security things in Linux v5.0

Cyberax wrote:

Aviation? The same issue. Solved by checklists that HAVE to be followed.

Sadly, there have been some painful (and fatal) lessons in effective use of checklists in the airline industry, as also in other industries where they're critical (marine transportation. weapons systems, spaceflight, medical care, etc.) Making a long story short, checklist design and implementation has had subtle aspects that are difficult to get right, and just saying they HAVE to be followed isn't nearly enough.

What happens when airlines get it wrong is what happened to my father, Pan Am Captain Arthur Moen, and his crew. (Upon finally reading the NTSB report, I was obliged to change my saying 'A checklist will have your life' to 'A well-debugged checklist will save your life'.)

Rick Moen
rick@linuxmafia.com


KNOPPIX 8.5.0 released

Posted Mar 17, 2019 22:36 UTC (Sun) by Zenith (guest, #24899)
In reply to: KNOPPIX 8.5.0 released by jrigg
Parent article: KNOPPIX 8.5.0 released

Not entirely sure about this, but my impression is that the fancier it is, the more likely it is that it supports screen readers by correctly marking up buttons and links for the screen reader to work with.
But responsive designs are the norm and a website that doesn't scale to mobile is a bit weird in this day and age.


KNOPPIX 8.5.0 released

Posted Mar 17, 2019 22:04 UTC (Sun) by jrigg (guest, #30848)
In reply to: KNOPPIX 8.5.0 released by zdzichu
Parent article: KNOPPIX 8.5.0 released

> https://en.wikipedia.org/wiki/Responsive_web_design

Thanks for the link. I was unaware of that use of the term. FWIW, the fancier and more JS-reliant a software project's web site is, the less likely I am to use the software.


Fixing programmers

Posted Mar 17, 2019 20:29 UTC (Sun) by rweikusat2 (subscriber, #117920)
In reply to: Fixing programmers by madscientist
Parent article: Cook: security things in Linux v5.0

> A fallthrough comment is not trying to tell you whether or not the code will fall through. Obviously it will, there's no break! The
> comment is telling you that someone thought about it and INTENDED the fallthrough to happen.

It's usually safe to assume that code came to be in a certain form because someone was convinced it would be the right way to solve a particular problem. But that's not particularly interesting. Interestsing is "is it the right way".


SUSE completes its management transition

Posted Mar 17, 2019 20:00 UTC (Sun) by darwish (guest, #102479)
In reply to: SUSE completes its management transition by Cyberax
Parent article: SUSE completes its management transition

Of course, I won't recommend "Amazon Linux" to anyone; I'm just talking about _facts on the ground_ here:

https://thecloudmarket.com/stats

SUSE's marketshare on the cloud is almost Nil. So my original question still holds: how will SUSE make money in a cloud-native world? This is IMHO a make-or-break question.


SUSE completes its management transition

Posted Mar 17, 2019 19:46 UTC (Sun) by Cyberax (✭ supporter ✭, #52523)
In reply to: SUSE completes its management transition by darwish
Parent article: SUSE completes its management transition

Ubuntu is quite popular on various cloud providers. And Amazon Linux might not work best if you want a cross-provider application (like AWS+Azure+GCE).


KNOPPIX 8.5.0 released

Posted Mar 17, 2019 15:55 UTC (Sun) by zdzichu (subscriber, #17118)
In reply to: KNOPPIX 8.5.0 released by jrigg
Parent article: KNOPPIX 8.5.0 released

Sorry, responsive is not about loading speed: https://en.wikipedia.org/wiki/Responsive_web_design


SUSE completes its management transition

Posted Mar 17, 2019 15:39 UTC (Sun) by darwish (guest, #102479)
Parent article: SUSE completes its management transition

SUSE's future is worrisome (I guess, but I hope not): how will they make money when every one is moving to the cloud? "Amazon Linux" and other cloud-provider-native distributions are much more common...


KNOPPIX 8.5.0 released

Posted Mar 17, 2019 15:31 UTC (Sun) by jrigg (guest, #30848)
In reply to: KNOPPIX 8.5.0 released by Zenith
Parent article: KNOPPIX 8.5.0 released

> the ADRIANE website is not really optimized for modern browsers or responsive design.

It seems quite responsive here (ie. it loads almost instantly) in Firefox.


Federated blogging with WriteFreely

Posted Mar 17, 2019 12:32 UTC (Sun) by Yorhel (subscriber, #91403)
Parent article: Federated blogging with WriteFreely

So I'm trying to follow @corbet@kernelpage.com from Mastodon, but I'm not sure how to go about doing that. Normally pasting an address into the search field does the trick, but it's not showing any results now. Has anyone succeeded at it yet?


Fixing programmers

Posted Mar 17, 2019 12:30 UTC (Sun) by madscientist (subscriber, #16861)
In reply to: Fixing programmers by zlynx
Parent article: Cook: security things in Linux v5.0

GCC provides options that allow the preprocessor to leave comments in its output files.

However, using attributes is probably a better way to go in general.


Federated blogging with WriteFreely

Posted Mar 17, 2019 12:28 UTC (Sun) by madscientist (subscriber, #16861)
In reply to: Federated blogging with WriteFreely by songmaster
Parent article: Federated blogging with WriteFreely

Me too. Maybe worth a LWN article (once things settle down).


Python dictionary "addition" and "subtraction"

Posted Mar 17, 2019 11:35 UTC (Sun) by jani (subscriber, #74547)
In reply to: Python dictionary "addition" and "subtraction" by quietbritishjim
Parent article: Python dictionary "addition" and "subtraction"

Given two dictionaries mapping string keys to list values, how do you actually use Counter to concatenate the lists (list + operation) for keys that exist in both dictionaries?


Fixing programmers

Posted Mar 17, 2019 10:49 UTC (Sun) by HelloWorld (guest, #56129)
In reply to: Fixing programmers by zlynx
Parent article: Cook: security things in Linux v5.0

gcc also supports using an attribute instead of a comment, that will not be removed by the preprocessor.


Fixing programmers

Posted Mar 17, 2019 9:11 UTC (Sun) by farnz (subscriber, #17727)
In reply to: Fixing programmers by jem
Parent article: Cook: security things in Linux v5.0

It was formalised in IBM's CUA guidelines in 1987, which was adopted by Motif. I can't find references for where IBM took that behaviour from, but the fact it was adopted as part of CUA suggests it was in use before 1987.


Five new stable kernels

Posted Mar 17, 2019 8:10 UTC (Sun) by Wol (subscriber, #4433)
In reply to: Five new stable kernels by alanjwylie
Parent article: Five new stable kernels

ie standard fare for gentoo users and similar distros. Who are probably a sizeable minority.

Just because it's not your use case doesn't mean it won't affect a lot of people - me for example except I haven't rebuilt the distro in a long while. Hopefully I'll be rebuilding my system soon, and a rebuilt distro will come as part of that :-)

Cheers,
Wol


Federated blogging with WriteFreely

Posted Mar 17, 2019 5:06 UTC (Sun) by songmaster (subscriber, #1748)
Parent article: Federated blogging with WriteFreely

Jon, as a long-time follower of your posts on G+ I hope you will continue to post such ramblings. I just subscribed to the RSS feed you posted above, the output from WriteFreely looks good in Feedly.

I have been following several other kernel dev’s on G+ too, it would be nice to know where they’re going if anywhere — Linus, Alan Cox, etc.


Federated blogging with WriteFreely

Posted Mar 17, 2019 4:32 UTC (Sun) by karim (subscriber, #114)
Parent article: Federated blogging with WriteFreely

I have to admit that I stopped reading at "Affero".


GNOME 3.32 released

Posted Mar 17, 2019 3:46 UTC (Sun) by pabs (subscriber, #43278)
In reply to: GNOME 3.32 released by zlynx
Parent article: GNOME 3.32 released

GNOME shell's extension system means that it is always going to be crashy in the face of buggy extensions. Personally I've decided I cannot use GNOME with Wayland and will be sticking with Xorg until the architecture gets fixed. Eventually I might just switch to something that is resilient to restarting and crashes, like Arcan plus Durden.

https://arcan-fe.com/2017/12/24/crash-resilient-wayland-c...


Fixing programmers

Posted Mar 17, 2019 0:28 UTC (Sun) by ABCD (subscriber, #53650)
In reply to: Fixing programmers by Wol
Parent article: Cook: security things in Linux v5.0

Among possibly other languages, Java allows this:

labela:
for (int i = 1; i <= 10; i++) {
    labelb:
    for (int j = 10; j >= 1; j--) {
        do_something(i, j);
        if (x) continue labela;
    }
}


Fixing programmers

Posted Mar 17, 2019 0:04 UTC (Sun) by Wol (subscriber, #4433)
In reply to: Fixing programmers by jem
Parent article: Cook: security things in Linux v5.0

Well, the convention that "return" should terminate the current FIELD and move to the next one was the norm for me when I started programming at the start of the 80s, so that goes back a long long way too - earlier than MS-DOS I think ...

(I was programming using text terminals on a mini ...)

Cheers,
Wol


Fixing programmers

Posted Mar 16, 2019 23:58 UTC (Sat) by Wol (subscriber, #4433)
In reply to: Fixing programmers by nilsmeyer
Parent article: Cook: security things in Linux v5.0

What's wrong with the carbs? Or have you been drinking the diet kool-aid?

SUGAR can be very bad for you. But one of the biggest problems with carbs is the modern tendency to snack, leading to elevated blood sugar over a long period of time. Our body is designed for sugar levels to sawtooth - high after a meal and then low between meals. Snacking means it never gets a chance to drop, and that does a HELL of a lot of damage.

Cheers,
Wol


Fixing programmers

Posted Mar 16, 2019 23:53 UTC (Sat) by Wol (subscriber, #4433)
In reply to: Fixing programmers by madscientist
Parent article: Cook: security things in Linux v5.0

Maybe we could add an optional keyword?

switch nofallthrough {
case a:
case b:
}

As for break being overloaded, can't remember the language but it was something like

labela: for i = 1 to 10
labelb: for j = 10 to 1 step -1
do something
if x continue labela
next
next

so break or continue could take labels to indicate which construct they were meant to break out of.

Cheers,
Wol


KNOPPIX 8.5.0 released

Posted Mar 16, 2019 22:19 UTC (Sat) by ccchips (subscriber, #3222)
Parent article: KNOPPIX 8.5.0 released

Hopefully it will appear sometime on knopper.net; they seem to be at version 8.2.


Why CLAs aren't good for open source (Opensource.com)

Posted Mar 16, 2019 21:51 UTC (Sat) by gps (subscriber, #45638)
In reply to: Why CLAs aren't good for open source (Opensource.com) by Conan_Kudo
Parent article: Why CLAs aren't good for open source (Opensource.com)

It may well be impossible to contact all of the stakeholders let alone even know who they are when a project never enforced a CLA before accepting submissions. Thus lack of a CLA becomes a virus preventing all future change. Exactly what copyleft zealots love. :/


GNOME 3.32 released

Posted Mar 16, 2019 21:38 UTC (Sat) by zlynx (guest, #2285)
In reply to: GNOME 3.32 released by DOT
Parent article: GNOME 3.32 released

Because gnome-shell takes the place of the X server in a Wayland session. It talks to the hardware device and manages the file descriptors from the applications.

If they cared enough about it, they could implement a crash-catcher which would checkpoint the server state and restore it on restart. That's pretty difficult though and runs the risk that the crash corrupted some of the state. The usual argument is that it's a better use of time to fix the crash bugs.

The reason it can just restart and continue under X is because the X server is maintaining all of the connections and application state. If there was a bug in X (and there have been) then a crash could not restart cleanly either.


Fixing programmers

Posted Mar 16, 2019 21:32 UTC (Sat) by zlynx (guest, #2285)
In reply to: Fixing programmers by HelloWorld
Parent article: Cook: security things in Linux v5.0

If I remember correctly (it's been many years since I last used distcc), distcc sends each compiler a preprocessed source file. It does this to avoid the need to send every include file along with the source file.

Preprocessed files do not include comments.

To fix this, you can of course use whatever compiler flag disables this switch case check.


Static site generators

Posted Mar 16, 2019 20:18 UTC (Sat) by gdiscry (subscriber, #91125)
In reply to: Static site generators by edgewood
Parent article: Federated blogging with WriteFreely

Lektor has not been mentioned yet. It provides a web interface to edit the content and there is a clear separation between the structure of a site and its content.


KNOPPIX 8.5.0 released

Posted Mar 16, 2019 17:52 UTC (Sat) by Zenith (guest, #24899)
Parent article: KNOPPIX 8.5.0 released

In a tragic/comedic twist, the ADRIANE website is not really optimized for modern browsers or responsive design.


Five new stable kernels

Posted Mar 16, 2019 17:41 UTC (Sat) by tsdgeos (guest, #69685)
In reply to: Five new stable kernels by zdzichu
Parent article: Five new stable kernels

No because kernel 4.20.13 worked fine here


Static site generators

Posted Mar 16, 2019 17:24 UTC (Sat) by edgewood (subscriber, #1123)
In reply to: Static site generators by smurf
Parent article: Federated blogging with WriteFreely

Any you could recommend? I support the web site of an organization I'm involved with, and they went with WordPress a few years ago to allow it to be updated by nontechnical users. I think I've finally got it locked down mostly satisfactorily, but it would be nice to test a more secure but still friendly alternative.


Fixing programmers

Posted Mar 16, 2019 17:20 UTC (Sat) by jezuch (subscriber, #52988)
In reply to: Fixing programmers by Wol
Parent article: Cook: security things in Linux v5.0

Well, I more or less agree, and the fact that the syntax and semantics of the switch statement is massively inconsistent with the rest of the language doesn't help at all. So you could say that people are trained to use the C syntax for all statements - except this one which has completely different rules. But it is used rarely enough that peple reflexively try to apply the mental model of the rest of the language to this one statement as well.

I know I do. I still have to basically relearn switch every time I encounter it. And it took me a lot of time and much mental effort to get it the first time. It's just so freakin' odd.

Anyway, fixing people in face of obviously broken tools (instead of fixing the tools) is never the right answer. It's elitist, condescending, and thinking about it, it could also have a component of Stockholm syndrome.


GNOME 3.32 released

Posted Mar 16, 2019 16:56 UTC (Sat) by DOT (subscriber, #58786)
In reply to: GNOME 3.32 released by sbakker
Parent article: GNOME 3.32 released

Why does the session depend on the Shell, actually? Couldn't it simply restart and continue compositing?

The one thing I miss from X is the ability to reconfigure monitors programmatically with a tool like xrandr.


Downloading packages

Posted Mar 16, 2019 14:25 UTC (Sat) by ms (subscriber, #41272)
In reply to: Downloading packages by corbet
Parent article: Federated blogging with WriteFreely

No problem. Glad I could help!


Downloading packages

Posted Mar 16, 2019 14:23 UTC (Sat) by corbet (editor, #1)
In reply to: Downloading packages by ms
Parent article: Federated blogging with WriteFreely

OK, clearly I'm pretty ignorant about how Go packaging works, and it's not as bad as I had feared. Thanks for enlightening me.



Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds