|
|
Subscribe / Log in / New account

Recently posted comments

Building header files into the kernel

Posted Mar 22, 2019 3:54 UTC (Fri) by wahern (subscriber, #37304)
Parent article: Building header files into the kernel

Sun invented a minimalist debug symbol format for use by DTrace called CTF (Compact C Type Format). It's also been adopted by FreeBSD. You can read more about it here: http://www.smnd.sk/lovasko/paper.pdf

CTF is lightweight enough (cf DWARF) that GCC and clang could emit CTF data by default without too much hemming and hawing; we could rely on its presence and enjoy a world where we could not only statically analyze compiled objects, but also generate FFI accessors dynamically at runtime with strong type safety.


Building header files into the kernel

Posted Mar 22, 2019 3:05 UTC (Fri) by ndesaulniers (subscriber, #110768)
In reply to: Building header files into the kernel by IanKelling
Parent article: Building header files into the kernel

You can't stop vendors from putting whatever in Android; you can make it so their additions go in their own partition.


Security quotes of the week

Posted Mar 22, 2019 2:21 UTC (Fri) by nwrk (guest, #75242)
Parent article: Security quotes of the week

is there a paper somewhere demonstrating that voting machines will always be more vulnerable than the paper process? Sounds a lot like "we have 1 case where a human driver could have avoided an accident so let's not use the thing that has 10x less accidents".


Building header files into the kernel

Posted Mar 22, 2019 2:07 UTC (Fri) by neilbrown (subscriber, #359)
Parent article: Building header files into the kernel

Why not move it to swapable memory?
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.
(and maybe a "cowsay" binary too, just it case it is ever needed).


Allow me to add to the bike-shedding...

Posted Mar 22, 2019 1:55 UTC (Fri) by pr1268 (guest, #24648)
In reply to: Compression formats by Sesse
Parent article: Building header files into the kernel

I guess you could also remove all whitespace and comments…

You'd probably want to keep the comments. After all, there's a wealth of information in what the *human* programmer wanted when writing the header file that's not usually obvious in the code itself. I mean, if we're going to shove all this extra data into a kernel module anyway...

As for the various compression formats, why not give users a choice? I propose gzip, bz2, lzma, xz, and lzma at a minimum. After all, open source is all about choice, right?

</sarcastic humor>

Seriously, though, if this whole feature is limited to a loadable module, and optional at build time, then perhaps this isn't a bad idea. If this [grows] into a mandatory role over time, then perhaps its use (or over-use) is a sign that this is a badly needed feature that should remain.


Building header files into the kernel

Posted Mar 22, 2019 1:42 UTC (Fri) by IanKelling (subscriber, #89418)
Parent article: Building header files into the kernel

"This vendor image is not provided by Google for non-Pixel devices. So we have no control over what goes there."
...
"Android can, though, mandate that specific kernel configuration options must be set"

So, they have no control over what goes there, except they control the modules that go there, which means they do control what goes there.

"In a system whose functionality requires multiple *independent* parties to work together."

Except one party forces the others to build their kernels in a certain way through some contract, so they aren't independent.

What is going on with these unexplained contradictions?


KNOPPIX 8.5.0 released

Posted Mar 22, 2019 1:38 UTC (Fri) by jschrod (subscriber, #1646)
In reply to: KNOPPIX 8.5.0 released by mpr22
Parent article: KNOPPIX 8.5.0 released

Me too -- that's why I was so suprised that Zenith made that connotation of "accessibility" with "responsive Web design".

First, I wanted to write a flame about the disregard of the difficulties of disabled persons to create a "website [that] is not really optimized for modern browsers or responsive design" [Zenith, start of this thread]. Having disabled firiends, this really irked me.

On 2nd thought, I realized that being able to read a Web site on small-form systems is a kind of accessibility in our world of today -- where many people don't have desktop systems any more, especially in 3rd world countries where people only have smartphones and have no chance at all to use a "real" computer.

So I realized it's really the question who you target with your Web site: as many people as possible (then RWD is a must), or a smaller group (IOW, a minority) where data is much more important than representation.

That question is not easy to answer and depends very much on the situation of the project and the person who's creating the Web site.

Of course, in the best of all worlds, we would have the means for disabled persons to easily create Web sites with a RWD. But -- as an example, go to https://getbootstrap.com/ and try to gather an idea how to create a site design *without being able to see* the information there. IMHO, that's near to impossible. The result of that non-availability are Web sites like ADRIANE that feature data above ease of accessibility for the masses.


KNOPPIX 8.5.0 released

Posted Mar 22, 2019 1:20 UTC (Fri) by mpr22 (subscriber, #60784)
In reply to: KNOPPIX 8.5.0 released by jschrod
Parent article: KNOPPIX 8.5.0 released

I've always interpreted "accessibility" in computer interface technology as meaning "providing means for people who have sensory/motor/cognitive impairments to use their computers more readily (or at all)".

I don't think I've ever heard the unqualified term "accessibility" used to refer to "it works well on small touchscreens".


5.1 Merge window part 1

Posted Mar 22, 2019 0:42 UTC (Fri) by dvdeug (guest, #10998)
In reply to: 5.1 Merge window part 1 by anton
Parent article: 5.1 Merge window part 1

Then Windows is moot? Cross-Linux compatibility versus Windows was certainly was part of the original discussion.

At this point, I question the relevance of any numbers you get comparing these a.out binaries to modern systems. You're comparing a program compiled for the original Pentium with GCC 2.7 (at the latest) and libc4 to a different program natively running on a recent version of AMD64 using modern versions of GCC and GNU libc. Where the faults lay for speedups and slowdowns is going to be very hard to tell. In any case, for the near future, you can run a Linux 5.0 kernel in an virtual machine if you want to compare things.

I'm not Linus, but I'm certainly more worried about some of the lost filesystem support making file recovery quite complex than I am about forcing a.out binaries to be run via qemu or a userspace loader, if anyone cares to write one. Supporting ancient binaries is much better and easier handled by emulators than trying to maintain a 25-year old environment mixed in with a modern one.


error codes and asserts have different purposes.

Posted Mar 22, 2019 0:40 UTC (Fri) by mcortese (guest, #52099)
In reply to: error codes and asserts have different purposes. by john.carter
Parent article: GMP and assert()

> Divide by zero, dereference null.... do you want the CPU to ignore those errors and just womble on doing stupider and stupider things.... sometimes working, sometimes doing rubbish, sometimes dying?

Ideally I'd like the application to degrade in a localized and controlled way. For example, if the battery applet on my panel, which calculates the % of charge dividing the current charge by the max capacity, faces a divide-by-zero for whatever reason (say, a hardware failure of the battery control), it could simply show 0% or 100% or even a meaningless value, and yet this would be ways better than killing the whole panel[1].

So yes, sometimes wombling on doing stupider and stupider things is the desirable approach.

[1] In fact, this is not a made-up example but a real case with LXDE panel.


Building header files into the kernel

Posted Mar 22, 2019 0:37 UTC (Fri) by Tov (subscriber, #61080)
In reply to: Building header files into the kernel by xorbe
Parent article: Building header files into the kernel

Maybe using a SquashFS file instead of a tar file would be beneficial?
Squashfs supports several compression formats and can be mounted in-place.


KNOPPIX 8.5.0 released

Posted Mar 21, 2019 23:58 UTC (Thu) by jschrod (subscriber, #1646)
In reply to: KNOPPIX 8.5.0 released by Zenith
Parent article: KNOPPIX 8.5.0 released

That only proves that the term "accessibility" may be interpreted very differently, depending on one's need and focus.

For you, "accessibility" is the ability to read the Web site on a mobile device.
For Adriane, "accessibility" is the ability to read the Web site as a blind person.

I.e., you care primarily for smartphone users, she cares primarily for blind persons.

It is an interesting question which interpretation is more important. While your concern affects more users over all, but they are users who have means to get the information; her concern is about a minority that is much more severly encumbered than your target audience. So, is an inconvenience for a large audience important enough to promote it against the convenience of a disabled minority? Reader's choice.


Debian project leader candidates emerge

Posted Mar 21, 2019 23:44 UTC (Thu) by jschrod (subscriber, #1646)
In reply to: Debian project leader candidates emerge by mgb
Parent article: Debian project leader candidates emerge

Please go to Slashdot.

Trolls are not welcome here around.


Compression formats

Posted Mar 21, 2019 23:34 UTC (Thu) by Sesse (subscriber, #53779)
In reply to: Compression formats by corbet
Parent article: Building header files into the kernel

If the size is the core of the issue, I guess you could also remove all whitespace and comments…


Compression formats

Posted Mar 21, 2019 23:28 UTC (Thu) by corbet (editor, #1)
In reply to: Building header files into the kernel by xorbe
Parent article: Building header files into the kernel

There were a couple of side discussions on the best compression format; I'll freely admit to having mostly glossed over them as being a secondary issue.


Building header files into the kernel

Posted Mar 21, 2019 22:26 UTC (Thu) by xorbe (guest, #3165)
Parent article: Building header files into the kernel

Wouldn't xz be far preferable for this use case? I've seen some impressive gains on text files. I suppose that requires an xz binary though ... but it's on storage not memory.


Firefox 66 released

Posted Mar 21, 2019 21:52 UTC (Thu) by mathstuf (subscriber, #69389)
In reply to: Firefox 66 released by sionescu
Parent article: Firefox 66 released

Git has smudge filters to extract the relevant information for efficient storage in Git's object store. I assume someone has done something like that for sqlite databases somewhere. Not saying that it'd be easy since I assume there's one extension database, not one per extension.


5.1 Merge window part 1

Posted Mar 21, 2019 21:47 UTC (Thu) by mathstuf (subscriber, #69389)
In reply to: 5.1 Merge window part 1 by Cyberax
Parent article: 5.1 Merge window part 1

I feel like options such as ENT (executable notation table) or HOBBIT (handy object bundles built in tandem) would be better.


5.1 Merge window part 1

Posted Mar 21, 2019 19:53 UTC (Thu) by excors (subscriber, #95769)
In reply to: 5.1 Merge window part 1 by anton
Parent article: 5.1 Merge window part 1

> Someone reported running an ARM binary of Gforth on an Intel-based Android tablet; and I expect that Android also has emulation the other way round.

Intel developed an ARM-to-x86 binary translator (Houdini) for their Android BSP, for compatibility with popular apps that contain ARM-only native code; I suspect that's why it worked. I doubt anyone has done it the other way round, because there are approximately zero Android apps with Intel-only native code.


Layers and abstractions

Posted Mar 21, 2019 19:13 UTC (Thu) by zlynx (guest, #2285)
In reply to: Layers and abstractions by perennialmind
Parent article: Layers and abstractions

You know that using IPv4 as a compatibility layer for IPv6 is just tunneling, right?

There have been tunnel solutions ever since IPv6 started. 6to4, Teredo, 6rd. And NAT64, 646XLAT, etc.

There's just not much advantage to it unless it's used natively and that's the hold-up.

Really, there's a ton of slow and stupid solutions if all we wanted were more IP addresses. My favorite proposal I heard someone make was automatic IPSEC tunnels and new DNS records to get the second layer of IP once you had a tunnel up. Because that way you got the encryption *and* the tunnel.


Layers and abstractions

Posted Mar 21, 2019 18:59 UTC (Thu) by Cyberax (✭ supporter ✭, #52523)
In reply to: Layers and abstractions by perennialmind
Parent article: Layers and abstractions

I'm sorry, but DJB has no idea what he's speaking about. There's no way to create a backwards-compatible IPv6, attempting to do automatic V4-to-V6 translation (that he's promoting) makes migration even worse.


Problems with the "restaurant-style" sustainability

Posted Mar 21, 2019 18:28 UTC (Thu) by gfernandes (subscriber, #119910)
In reply to: Problems with the "restaurant-style" sustainability by dunlapg
Parent article: Defining "sustainable" for an open-source project

A docker, or a Kubernetes with the right license (GPLv2+) will always attract improvements back into it. These components need to be distributed (for various reasons, including prototyping on-prem) and therefore, can't escape the GPL terms.

So you'll inevitably also be able to roll your own, and $BIGCORP would necessarily have to sell a service (not a product).

With regards to the on-ramp, it's very project dependent, I guess. And FLOSS always starts with "scratching an itch". So market research is irrelevant. And time usually tells whether the itch has wider appeal or not.

Finally, factionalisation is simply the same as "standing on the shoulders of giants".

No project does everything from scratch. Almost all software projects require intensive work up front, with the intensity and frequency going down quite rapidly after a certain level of function is reached.

Funding therefore may not be able to follow that pattern anyway. Who will fund $MYFANTASTICNEWVIDEOEDITOR before it exists?
I will have to show a functional *and reasonably superior* Video Editor _before_ I can expect any funding at all. We're back to scratching itches!

Bottom line: sustainability is certainly achievable (as others have pointed out). We wouldn't be here if not.


Defining "sustainable" for an open-source project

Posted Mar 21, 2019 18:22 UTC (Thu) by kpfleming (subscriber, #23250)
Parent article: Defining "sustainable" for an open-source project

As someone who was directly involved in the most prominent organization founded in response to Heartbleed, I can state unequivocally that at no time did the members of the organization ever talk about 'controlling' any open source projects. It is absolutely true that funding offers had strings attached, but those strings were focused on helping the project produce better software (e.g. fewer released bugs, better test coverage, predictable release cycles with changelogs/release notes) so that the project's community (including the corporate funders) would benefit. Most of the projects actually wanted this type of assistance and did not perceive any of these requirements as burdens.


Layers and abstractions

Posted Mar 21, 2019 18:04 UTC (Thu) by perennialmind (guest, #45817)
In reply to: Layers and abstractions by mm7323
Parent article: Layers and abstractions

One quibble: I don't think it was the network-layer-scope limitation that hamstrung IPv6. I was just re-reading DJB's old take. He did an excellent job calling out the problems with attempting to institute a replacement without making compatibility a top priority. QUIC, soon to be HTTP3, works so well because it works with the existing infrastructure instead of taking a hostile "We will bury you!" attitude. Imaging an alternative history in which the IETF adopted TUBA and kept the IPv4 address space at the root makes for a fun exercise.


5.1 Merge window part 1

Posted Mar 21, 2019 17:57 UTC (Thu) by anton (subscriber, #25547)
In reply to: 5.1 Merge window part 1 by dvdeug
Parent article: 5.1 Merge window part 1

Most versions of Linux can't run ix86 binaries; only those compiled for ix86 or AMD64 can.
That's beside the point. This is not about running binaries for one architecture on other architectures, this is about removing support for a binary format, i.e., a pure software issue.

[But anyway, the statement is wrong. IA-32 binaries could be run on Linux-Alpha. Someone reported running an ARM binary of Gforth on an Intel-based Android tablet; and I expect that Android also has emulation the other way round.]

We can better study something in its home environment, not by running it on a modern system where various things might not work (audio, modern resolutions, USB).
I study and compare things in many different environments. One thing that I study is how the various versions of the software perform on hardware, both on old hardware and new hardware. And to do that, I need to run the old software on new hardware, with (necessarily) new kernels. Retropie won't help me with that. And fortunately, audio, resolutions, and USB are no problems for the stuff I do.
You're demanding that Linux accept your solution for your obscure problem
I just object to removing a feature from the kernel that I use.
If you were volunteering as a maintainer, you'd have more say in if this feature stays
Did anybody ask for a maintainer? In any case, are you suggesting that, when Linus Torvalds says "Breaking user programs simply isn't acceptable", he means "Breaking maintainer programs simply is not acceptable, but breaking non-maintainer programs is"?
But to demand that a feature that doesn't fully work (i.e. core dumps were broken) be the only possible solution to your problem isn't helpful.
The feature works better now than with the proposed change; that's why I object to the change.

Someone suggested a userspace loader for a.out binaries. When that works with little overhead, it will be acceptable for me, too, but somebody has to write it, while the kernel support exists, and works better than the current state (non-existence) of the userspace loader.


Firefox 66 released

Posted Mar 21, 2019 15:02 UTC (Thu) by nybble41 (subscriber, #55106)
In reply to: Firefox 66 released by ptman
Parent article: Firefox 66 released

This process can be automated with Git filters; for example:

http://share.find.coop/doc/tutorial_git.html#tutorial_git...


Problems with the "restaurant-style" sustainability

Posted Mar 21, 2019 14:50 UTC (Thu) by dunlapg (guest, #57764)
Parent article: Defining "sustainable" for an open-source project

"Restaurant-style" sustainability is great when it works, but there are a couple of issues I see at the moment with "restaurant-style" sustainability.

First, there's sometimes a fairness issue. Imagine you and your small band of people were the ones who wrote docker / kubernetes / mongodb, and $BIGCORP came along, sold it in a cloud offering, made billions of dollars and didn't pay you a penny. I mean, sure, at some level you're making the world a better place; but someone else is getting quite rich from your effort.

Secondly, there's the on-ramp: How do we get developers onto a "restaurant-style" payroll? At the moment it seems like someone either starts a project in their free time and slowly starts accepting more donations, or makes a "leap" to code full-time for a period, hoping that eventually it will be profitable. They're probably not in a position to do market research to determine whether it will or won't be; and they may not be in a position to invest money and time and career in the risk that it won't be. Working for someone else externalizes those risks. If we really want to see a world full of individuals / small organizations doing their little bit of sustainable open-source, we need a way to make that on-ramp easier and less risky.

Finally, there's factionalization (<- wrong word; can't think of the right one). I'd be happy to pay $50/month to someone to make sure that all the FOSS software I used kept running, and invest in new projects and new development. But I've got 3000 Debian packages installed on my dev box at work; there's no way I'm going to try to figure out how to donate money individually to all of the people or projects that maintain that software. Inkscape or phpMyAdmin are the kinds of projects that stand out enough to their users to attract a critical mass of monetary contributions; but what about all the tiny libraries or tools in there?


Firefox 66 released

Posted Mar 21, 2019 14:08 UTC (Thu) by ptman (subscriber, #57271)
In reply to: Firefox 66 released by karkhaz
Parent article: Firefox 66 released

Maybe you can still dump the (sqlite?) database to a file and version control that dump?


5.1 Merge window part 1

Posted Mar 21, 2019 12:56 UTC (Thu) by wojtekka (guest, #131045)
In reply to: 5.1 Merge window part 1 by anton
Parent article: 5.1 Merge window part 1

If Wine can load and run binaries built for a completely different operating system, how hard can it be to create an application that loads and runs a.out binaries in user-space? This and binfmt_misc should make things completely transparent.


Haller: WireGuard in NetworkManager

Posted Mar 21, 2019 12:46 UTC (Thu) by zx2c4 (subscriber, #82519)
In reply to: Haller: WireGuard in NetworkManager by georgm
Parent article: Haller: WireGuard in NetworkManager

Don't worry; we're working on it, and still have the same upstreaming plans.


LLVM 8.0.0 released

Posted Mar 21, 2019 12:42 UTC (Thu) by ncultra (✭ supporter ✭, #121511)
In reply to: LLVM 8.0.0 released by wahern
Parent article: LLVM 8.0.0 released

It's a C project, using GCC function and variable attributes, X86_64 built-ins, intel intrinsics, and a lot of extended asm. Nested functions is a feature that would help with some of the re-factoring of messy code that the project needs. In summary, none of these dependencies are without equivalents in clang, but the porting effort is not insignificant. I would like to do it myself and can hopefully justify it using the additional code analysis and security features.


Layers and abstractions

Posted Mar 21, 2019 11:47 UTC (Thu) by mm7323 (subscriber, #87386)
Parent article: Layers and abstractions

QUIC was bound by history and the fact that TCP/IP and UDP/IP are still the only real choices for Internet spanning protocols - IPv6 uptake being a demonstration of the difficulties and slow progress in trying to change the network layer alone.


SUSE completes its management transition

Posted Mar 21, 2019 11:10 UTC (Thu) by smoogen (subscriber, #97)
In reply to: SUSE completes its management transition by darwish
Parent article: SUSE completes its management transition

Those stats seem to talk about the number of published images... not the number of images in use. A lot of those images are going to be rolling snapshots and things like that. So SuSE could have 10x the number of Ubuntu instances based off of 1 image.


SUSE completes its management transition

Posted Mar 21, 2019 9:36 UTC (Thu) by vmoutoussamy (subscriber, #86142)
In reply to: SUSE completes its management transition by k8to
Parent article: SUSE completes its management transition

The cloud is hype today, but a lot of money maker system are not there yet (IMHO they will remain in datacenter...) It's the same for any vendor (even Microsoft), you can sell a lot of tiny subscription/contract in the cloud and/or sell big subscription/contract for mission critical systems.


Layers and abstractions

Posted Mar 21, 2019 8:33 UTC (Thu) by nim-nim (subscriber, #34454)
Parent article: Layers and abstractions

IMHO the reality is more that humans can only cope with a fixed amount of complexity (statistically; of course you have outliers).

To do new things you need to slice up the new problem space in layers, to keep the complexity per layer to a manageable amount. But, managing layers is itself a complexity source.

So, the cost of doing new things, is to simplify the existing layer pile, to free up the complexity budget required to handle the new layers. And simplifying mostly means giving up on some layer combinations that seemed to have potential in the past but proved not worth the layering cost.

You see this a lot in human languages. All human languages are different. Pretty much any human language will be simpler and more regular than others in one aspect. But this simplification usually freed up a complexity budget, that humans used to make the language less simple than others on some other aspect.


SUSE completes its management transition

Posted Mar 21, 2019 8:24 UTC (Thu) by rbranco (subscriber, #129813)
In reply to: SUSE completes its management transition by darwish
Parent article: SUSE completes its management transition

SUSE Linux Enterprise Server is the OS of choice for SAP applications, in bare-metal and in the cloud.


Firefox 66 released

Posted Mar 21, 2019 7:56 UTC (Thu) by fredrik (subscriber, #232)
In reply to: Firefox 66 released by jeffcook
Parent article: Firefox 66 released

I apologise, my comment wasn't intended as a snide remark about karkhaz's interesting use case.

Rather I meant it as an observation about how developers never can expose any api, whether intentional or unintentional, to users without exposing their product to either ossification or disapointment when the api is modified.


Defining "sustainable" for an open-source project

Posted Mar 21, 2019 7:53 UTC (Thu) by nilsmeyer (guest, #122604)
In reply to: Defining "sustainable" for an open-source project by Karellen
Parent article: Defining "sustainable" for an open-source project

That looks great thank you for the link.


Defining "sustainable" for an open-source project

Posted Mar 21, 2019 7:53 UTC (Thu) by nilsmeyer (guest, #122604)
In reply to: Defining "sustainable" for an open-source project by bkuhn
Parent article: Defining "sustainable" for an open-source project

I gotta admit I skipped over the (c)(6) and (c)(3) parts since I'm not well versed in US tax law, nor am I subject to it. I haven't watched the talk (yet) though.


Debian project leader candidates emerge

Posted Mar 21, 2019 6:13 UTC (Thu) by smurf (subscriber, #17840)
In reply to: Debian project leader candidates emerge by corbet
Parent article: Debian project leader candidates emerge

The key is the capital D in Developer, which quite obviously refers to Debian Developer, as opposed to a "I once saw a video on how to write 'Hello World' in PHP" developer.


LLVM 8.0.0 released

Posted Mar 21, 2019 4:41 UTC (Thu) by wahern (subscriber, #37304)
In reply to: LLVM 8.0.0 released by ncultra
Parent article: LLVM 8.0.0 released

Personally I prefer GCC. But I'm curious: which GCC feature(s) are you depending on? Unless it's nested functions, I'd guess you're either using GCC plugins or doing something fancy and cutting-edge with C++. It must be something esoteric (or C++, same difference) if clang lacks functional parity.


Firefox 66 released

Posted Mar 21, 2019 3:53 UTC (Thu) by sionescu (subscriber, #59410)
In reply to: Firefox 66 released by roc
Parent article: Firefox 66 released

I don't doubt it makes things faster, only that making things somewhat faster was not worth losing the ability to manage configs through a version control system.


Python dictionary "addition" and "subtraction"

Posted Mar 21, 2019 3:08 UTC (Thu) by DHR (guest, #81356)
Parent article: Python dictionary "addition" and "subtraction"

The operator that this is most like is ";". I know that sounds weird, but think about it. Variables defined in the environment before a ; are combined with variables defined after it. If there is an overlap, the definitions after the semicolon win.

Personally, I don't see that this is a good addition to the language. It won't get a lot of use. If the operator "+" is used, I bet that more examples will be accidents rather than intentional.

Dictionaries are functions, in the mathematical sense. If they were relations, then + would make more sense.


Firefox 66 released

Posted Mar 21, 2019 1:41 UTC (Thu) by roc (subscriber, #30627)
In reply to: Firefox 66 released by jeffcook
Parent article: Firefox 66 released

If the extension has per-site settings then it's entirely believable files would be re-read on each page load.

But honestly, if Mozilla engineers make a change and claim it's because it makes things measurably faster, why wouldn't you give them the benefit of the doubt? Or at least go look in the relevant Bugzilla bugs to see what they say they did and measured, before casting doubt on it?


Defining "sustainable" for an open-source project

Posted Mar 21, 2019 0:11 UTC (Thu) by bkuhn (subscriber, #58642)
In reply to: Defining "sustainable" for an open-source project by nilsmeyer
Parent article: Defining "sustainable" for an open-source project

> if I give money to a foundation it's very hard to see where the money goes and very often it's not development but other things like marketing

I probably should have noted at the start of my talk that I was somewhat assuming folks hearing it knew the basics of how fiscal sponsorship is generally set up in the FOSS world right now. Different organizations have different structures that's orthogonal to the (c)(6) vs. (c)(3) issue (which I covered). For example, Apache Software Foundation is also a (c)(3), but they do *not* accept earmarked donations for specific Apache projects. Conservancy, SPI, GNOME Foundation *do* accept earmarked donations.

So, in the latter case, you can donate specifically to the project rather than generally to the organization. In fact, in my slides during the talk, the numbers I showed for phpMyAdmin were *specific* to phpMyAdmin (donations that Conservancy received specifically earmarked for phpMyAdmin).


Python dictionary "addition" and "subtraction"

Posted Mar 20, 2019 20:48 UTC (Wed) by quietbritishjim (subscriber, #114117)
In reply to: Python dictionary "addition" and "subtraction" by jani
Parent article: Python dictionary "addition" and "subtraction"

Hmm, it turns out it doesn't work. The obvious thing is to use +:

Counter({'a': [1], 'b': [1, 2]}) + Counter({'a': [2, 3], 'b': [3]})

This fails for two reasons:

  • The + operator is guaranteed to include only positive results even if summing the values is negative, so it includes the comparison <0 for each element, which fails for lists.
  • If the set of keys is different on the two sides then it does an addition with 0 (this only applies to keys missing in the left hand list, but that is presumably an implementation detail).

An alternative is to use the update() method, which doesn't have a restriction to positive values so doesn't compare against zero:

c = Counter({'a': [1], 'b': [1, 2]})
c.update(Counter({'a': [2, 3], 'b': [3]}))

But this doesn't work either:

  • As with the + operator, missing keys are interpreted as having value 0.
  • The values are passed to + in the opposite order than you would expect, so the above example results in c['a'] == [2,3,1]! This is true in Python 3.7 but not Python 2.7.

I think this is a bug in the documentation, which seems to say that these should be possible (at least for update()), or even a straight up bug in the code. But in fairness it is an unusual use of the class.


LLVM 8.0.0 released

Posted Mar 20, 2019 20:29 UTC (Wed) by nathanchance (subscriber, #118533)
In reply to: LLVM 8.0.0 released by mchehab
Parent article: LLVM 8.0.0 released

We can build arm{32,64} and ppc{32,64le} defconfig without any out of tree patches as of 5.1-rc1 and LLVM 8.0.0.

arm64 allyesconfig needs this series: https://lore.kernel.org/lkml/20190318025411.98014-1-trong...

asm goto is still a WIP in clang so a set of reverts is needed for x86 (otherwise, defconfig and allyesconfig build without any issues).

https://travis-ci.com/ClangBuiltLinux/continuous-integration


Firefox 66 released

Posted Mar 20, 2019 20:21 UTC (Wed) by k8to (guest, #15413)
In reply to: Firefox 66 released by jeffcook
Parent article: Firefox 66 released

I think this is because we designed extensions as loading javascript in the page content, and the page renderer needs to be isolated. Thus I'd assume we start with a fresh context for each page for security reasons, and thus we launch the extension anew and it reads the data (via firefox interfaces) directly.

It's certainly true that the data could be read via some shared firefox mechanism from a config cacher or whatever to the renderer process, skipping the need to have a specialized datastore, but maybe this was easier to do?


LLVM 8.0.0 released

Posted Mar 20, 2019 19:31 UTC (Wed) by rahulsundaram (subscriber, #21946)
In reply to: LLVM 8.0.0 released by mchehab
Parent article: LLVM 8.0.0 released


Firefox 66 released

Posted Mar 20, 2019 19:17 UTC (Wed) by jeffcook (guest, #119964)
In reply to: Firefox 66 released by fredrik
Parent article: Firefox 66 released

Seems a bit unfair. How much of a speed-up does the change really represent? Unless Firefox was reloading the settings from disk on each page load, it doesn't seem like keeping them in discrete files would cost much.


Firefox 66 released

Posted Mar 20, 2019 18:49 UTC (Wed) by fredrik (subscriber, #232)
In reply to: Firefox 66 released by karkhaz
Parent article: Firefox 66 released


Defining "sustainable" for an open-source project

Posted Mar 20, 2019 16:44 UTC (Wed) by pizza (subscriber, #46)
In reply to: Defining "sustainable" for an open-source project by halla
Parent article: Defining "sustainable" for an open-source project

Blender may be a deserved giant in its niche, but that niche is tiny compared with the overall "desktop user" space. And infinitesimal compared to the size of the "general computing public".

I spend my F/OSS time immersed in printing-related stuff. It's an utterly necessary requirement for most desktop users, but it's rarely given any attention unless it doesn't work. It's also something that the general public won't fund, because they already paid the printer manufacturer; why should they be expected to pay more to use it?

In this space, any distinction between "big business" and "general public" is artificial; _everyone_ benefits from printing that JustWorks(tm) while exposing the full capabilities of the printers. However, _someone_ has to do that work, and if not for "business" users, a lot less would get done, to everyone's detriment.


LLVM 8.0.0 released

Posted Mar 20, 2019 16:36 UTC (Wed) by mchehab (subscriber, #41156)
Parent article: LLVM 8.0.0 released

Anyone knows if it already builds the Kernel out of the box? Last time I checked, some OOT patches were required (both at LLVM and at Kernel sides)?


LLVM 8.0.0 released

Posted Mar 20, 2019 16:06 UTC (Wed) by ncultra (✭ supporter ✭, #121511)
In reply to: LLVM 8.0.0 released by nybble41
Parent article: LLVM 8.0.0 released

thank you, I do wish I could use clang and this feature in particular on my current project, which is not yet ready to branch away from gcc.


LLVM 8.0.0 released

Posted Mar 20, 2019 15:15 UTC (Wed) by nybble41 (subscriber, #55106)
In reply to: LLVM 8.0.0 released by ncultra
Parent article: LLVM 8.0.0 released

I think they meant that branching over the declaration of a variable and then using the uninitialized value should be a hard-error, not that Duff's device should be a hard-error in general. Keep in mind that the situations this change was meant to address already involve undefined behavior. Duff's device should be fine as long as you don't put variable declarations inside the switch statement.


LLVM 8.0.0 released

Posted Mar 20, 2019 14:51 UTC (Wed) by ncultra (✭ supporter ✭, #121511)
Parent article: LLVM 8.0.0 released

"Variables declared in unreachable code and used later aren’t initialized. This affects goto statements, Duff’s device, and other objectionable uses of switch statements. This should instead be a hard-error in any serious codebase."

Duff's device a hard-error? Heresy!


Defining "sustainable" for an open-source project

Posted Mar 20, 2019 14:31 UTC (Wed) by halla (subscriber, #14185)
In reply to: Defining "sustainable" for an open-source project by pizza
Parent article: Defining "sustainable" for an open-source project

Is it? I think people on the more system-adminny side of free software consistently underestimate how _big_ a project like Blender actually is.

Besides, projects that are useful for end-users instead of companies is exactly what Bradley was talking about: "As a community, we need to consider ways to prioritize the needs of the general public, not necessarily the needs of big business, he said. ".

And that's what I'm doing.


Defining "sustainable" for an open-source project

Posted Mar 20, 2019 13:51 UTC (Wed) by pizza (subscriber, #46)
In reply to: Defining "sustainable" for an open-source project by halla
Parent article: Defining "sustainable" for an open-source project

Unfortunately, high-profile end-user-visible software is a relatively small part of the overall ecosystem. For nearly everyone else, donations of any sort are effectively nonexistent.


Defining "sustainable" for an open-source project

Posted Mar 20, 2019 13:38 UTC (Wed) by halla (subscriber, #14185)
In reply to: Defining "sustainable" for an open-source project by hkario
Parent article: Defining "sustainable" for an open-source project

In my experience, at least when making software for end-users, even individual donations become predictable. If there's x-thousand downloads a month, a donation appeal after the download has been clicked will deliver x euros. As far as I can tell, the ratio download/donation remains more or less constant over time. In other words, when a project's popularity grows, the non-recurring donations make up a regular and growing income.


Five new stable kernels

Posted Mar 20, 2019 13:35 UTC (Wed) by NTU (guest, #131024)
In reply to: Five new stable kernels by jg71
Parent article: Five new stable kernels

You're welcome! I was afraid my report would go unnoticed.


Defining "sustainable" for an open-source project

Posted Mar 20, 2019 13:33 UTC (Wed) by Karellen (subscriber, #67644)
In reply to: Defining "sustainable" for an open-source project by nilsmeyer
Parent article: Defining "sustainable" for an open-source project

Have you looked at liberapay?


Firefox 66 released

Posted Mar 20, 2019 13:29 UTC (Wed) by lkundrak (subscriber, #43452)
In reply to: Firefox 66 released by nilsmeyer
Parent article: Firefox 66 released

Yes! This could be done via an about:config option, but there was no whitelist.


Defining "sustainable" for an open-source project

Posted Mar 20, 2019 12:34 UTC (Wed) by hkario (subscriber, #94864)
In reply to: Defining "sustainable" for an open-source project by pizza
Parent article: Defining "sustainable" for an open-source project

Donations will always start at a low level and grow from there. But if there is no mechanism to make them recurring, they will never be able to replace wage/$dayjob.


Defining "sustainable" for an open-source project

Posted Mar 20, 2019 11:56 UTC (Wed) by pizza (subscriber, #46)
In reply to: Defining "sustainable" for an open-source project by nilsmeyer
Parent article: Defining "sustainable" for an open-source project

On a project level, donations can and do help cover operating and equipment costs.

But on an individual level, donations need to hit a non-trivial threshold (on a recurring basis) before they will allow someone to quit $dayjob in favor of F/OSS. One has to keep a roof over one's head and food on one's plate, after all.


Firefox 66 released

Posted Mar 20, 2019 11:26 UTC (Wed) by zwol (guest, #126152)
In reply to: Firefox 66 released by josh
Parent article: Firefox 66 released

It's personally gratifying to see this get done. I worked for Mozilla briefly about ten years ago (2008-2010ish). On my first day I asked David Baron how hard it would be to prevent pages from jumping around when stuff loads above your scroll position, and he gently encouraged me to tackle something easier as my first project.


Defining "sustainable" for an open-source project

Posted Mar 20, 2019 10:43 UTC (Wed) by nilsmeyer (guest, #122604)
Parent article: Defining "sustainable" for an open-source project

I would like something similar to Patreon or Flattr (but not Patreon) for supporting open source development where I can spread my donations among the projects / developers that I want to support. Currently, if I give money to a foundation it's very hard to see where the money goes and very often it's not development but other things like marketing and outreach (the Linux Foundation mentions diversity efforts which I don't care about for example). Of course money going to development doesn't have to mean paying developers directly, though I'm fine with that it carries the risk of turning a labor of love into just labor, it could also be things like providing hardware and infrastructure.


Firefox 66 released

Posted Mar 20, 2019 10:28 UTC (Wed) by nilsmeyer (guest, #122604)
Parent article: Firefox 66 released

Really love the autoplay blocking, another defense against hostile webdesign.


Federated blogging with WriteFreely

Posted Mar 20, 2019 9:37 UTC (Wed) by alex (subscriber, #1355)
In reply to: Federated blogging with WriteFreely by Yorhel
Parent article: Federated blogging with WriteFreely

I suspect there is something else that needs setting up for it. It seems to be a feature of the hosted accounts but I assume there is a knob somewhere you can tweak.


GNOME 3.32 released

Posted Mar 20, 2019 5:20 UTC (Wed) by jbicha (subscriber, #75043)
In reply to: GNOME 3.32 released by yodermk
Parent article: GNOME 3.32 released

It's being worked on so maybe for GNOME 3.34.


Defining "sustainable" for an open-source project

Posted Mar 20, 2019 1:28 UTC (Wed) by KaiRo (subscriber, #1987)
In reply to: Defining "sustainable" for an open-source project by bkuhn
Parent article: Defining "sustainable" for an open-source project

I have not looked into details and IANAL but that non-profit+for-profit-for-tax-reasons thing sounds a bit familiar to me as a long-time contributor to Mozilla, which is a 501(c)(3) with a wholly-owned for-profit subsidiary that was founded for tax reasons. Mitchell [Baker, chairwoman of the board] at some point really liked talking about this "hybrid organization" model, you may want to connect with her if you are interested in more details.

All that said, thanks for all your work in this area from a happy supporter of LWN, SFC, and Mozilla. ;-)


Fixing programmers

Posted Mar 20, 2019 1:18 UTC (Wed) by Cyberax (✭ supporter ✭, #52523)
In reply to: Fixing programmers by mpr22
Parent article: Cook: security things in Linux v5.0

The Pascal dialect that I used back in 1995 definitely had it. I'm not sure about the Standard Pascal.

Ada has had integer overflow checking since forever (as you would expect).


5.1 Merge window part 1

Posted Mar 19, 2019 23:41 UTC (Tue) by mpr22 (subscriber, #60784)
In reply to: 5.1 Merge window part 1 by anton
Parent article: 5.1 Merge window part 1

Given that SIMH exists, and includes emulations for computers that are older than the first operating systems, I am not overly worried on this score :)


Firefox 66 released

Posted Mar 19, 2019 23:27 UTC (Tue) by roc (subscriber, #30627)
In reply to: Firefox 66 released by atai
Parent article: Firefox 66 released

http://www.erahm.org/2019/03/13/doubling-the-number-of-co...

> Even on our worst-case-scenario stress test — AWSY which loads 100 pages in 30 tabs, repeated 3 times — we only saw a 6% increase in memory usage when turning on 8 content processes when compared to when we started the project.


Fixing programmers

Posted Mar 19, 2019 23:24 UTC (Tue) by neilbrown (subscriber, #359)
In reply to: Fixing programmers by pizza
Parent article: Cook: security things in Linux v5.0

> By that definition, the Therac-25 "correctly" killed three people.

Sorry to correct you, but I think you mean "It is correct that 'The Therac-25 killed three people' ".

And this is the point - when people start using broad terms like "intent" and "correct" without ensuring that all corespondents are using them in the same sense, you can hardly expect a useful conversation to result.

(wouldn't it be great if people would think about what they write, instead of just writing about what they think).


Firefox 66 released

Posted Mar 19, 2019 22:30 UTC (Tue) by karkhaz (subscriber, #99844)
Parent article: Firefox 66 released

> Extensions now store their settings in a Firefox database, rather than individual JSON files, making every site you visit faster

*quietly sobs into a pint*

I keep the settings for some of my extensions under version control, and I really enjoyed being able to create a symlink from the firefox profile directory to my repo.


Firefox 66 released

Posted Mar 19, 2019 22:07 UTC (Tue) by atai (subscriber, #10977)
In reply to: Firefox 66 released by mathstuf
Parent article: Firefox 66 released

4 to 8: that can increase memory use ...


Fixing programmers

Posted Mar 19, 2019 22:03 UTC (Tue) by pizza (subscriber, #46)
In reply to: Fixing programmers by neilbrown
Parent article: Cook: security things in Linux v5.0

By that definition, the Therac-25 "correctly" killed three people.


Fixing programmers

Posted Mar 19, 2019 21:44 UTC (Tue) by neilbrown (subscriber, #359)
In reply to: Fixing programmers by NAR
Parent article: Cook: security things in Linux v5.0

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

Yes it is.
Your statement "I have this code snippet: a = b + c" is self-evidently correct.


5.1 Merge window part 1

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

I thought about Windows NT, but I forgot about Win32s. But by that standard, Linux wins hands-down; it can run applications written for Unix in 1977, provided they were written in Bourne Shell. The question is running the applications that people want to run on the modern systems they're running, and the last 16-bit Windows programs came out quite a bit after the last Linux a.out programs.

Most versions of Linux can't run ix86 binaries; only those compiled for ix86 or AMD64 can. Had Intel had their way, we'd be running Itanium without direct support for ix86 binaries. Perhaps in five or ten years, we'll be running ARM64 without direct support for ix86 or AMD64 binaries.

We can better study something in its home environment, not by running it on a modern system where various things might not work (audio, modern resolutions, USB).

Out of the box, Retropie supports the ZX-Spectrum, the TI-99, the MSX, the Atari ST, the Coco, the Colecovision, the Amstrad CPC, Amiga, SAM Coupé, the Macintosh, MS-DOS and the Commodore 64, along with dozens of other, usually more gaming focused, systems. It seems unlikely emulating x86, one of the most common computer hardware platforms of all time, will be a big problem for the foreseeable future.

You're demanding that Linux accept your solution for your obscure problem; there's not that many people who ran Linux before 1996, and many of those have given up all their old binaries from the time. If you were volunteering as a maintainer, you'd have more say in if this feature stays; if you were looking for solutions to a problem, people will be more willing to help. But to demand that a feature that doesn't fully work (i.e. core dumps were broken) be the only possible solution to your problem isn't helpful.


Firefox 66 released

Posted Mar 19, 2019 20:47 UTC (Tue) by MatejLach (guest, #84942)
In reply to: Firefox 66 released by mathstuf
Parent article: Firefox 66 released

I'd imagine because less tabs rely on one process, so when there's more processes, there's less tabs per one that could crash.


Defining "sustainable" for an open-source project

Posted Mar 19, 2019 20:33 UTC (Tue) by halla (subscriber, #14185)
In reply to: Defining "sustainable" for an open-source project by bkuhn
Parent article: Defining "sustainable" for an open-source project

It might be a pecularity of the Dutch tax system that causes this division, one my bookkeepers hadn't warned me about and which we ran into, badly, in 2017. If the same entity deploys commercial activity _and_ receives donations, the rules regarding VAT get very complex, especially if part of the development expenses are made outside the EU.

So we had to split up our activities into a non-profit that receives donations and doesn't have to pay VAT over expenses made outside the Netherlands in the Netherlands. (Basically, where Dmitry lives, there's no VAT on coding, and where Ramon lives there's no VAT on producing art.)

The commercial activity -- a little bit of sales of training materials, income from Steam and the Windows Store and the occasional project we do together with Intel, is handled through my company. When work is done on those projects, my company is billed, otherwise the Krita Foundation.

We're still running on a shoestring budget, of course, but that's fine. We probably could do more with donations, given that we have about 2000 euros a month in donation at 2,000,000 downloads a year. Our yearly fundraiser provides the other half of the donation income.


Defining "sustainable" for an open-source project

Posted Mar 19, 2019 20:03 UTC (Tue) by bkuhn (subscriber, #58642)
In reply to: Defining "sustainable" for an open-source project by halla
Parent article: Defining "sustainable" for an open-source project

Admittedly I haven't vetted your project (Krita) in the way I did my few examples in my talk, but from what you describe, this sounds like exactly the kind of "real sustainability" that I was talking about. I see Krita has a non-profit foundation with an affiliation to a for-profit company, similar to what Blender does. I'd love to see someone write more about this non-profit model, as it seems to be unique to the Netherlands and you're right that early results on these models look interesting and promising.

I'd note also that Inkscape is a member project of Conservancy. I didn't use them as an example as they are just beginning the plans (as you linked to), whereas phpMyAdmin has been executing on their plan for some time, but I would expect Inkscape will eventually do something similar.


Defining "sustainable" for an open-source project

Posted Mar 19, 2019 19:40 UTC (Tue) by halla (subscriber, #14185)
Parent article: Defining "sustainable" for an open-source project

But exactly that is happening... Software is being developed, funded by ordinary people that's not being developed as the answer to the needs of some company, but to their needs.

I've been managing to pay a full-time developer for Krita since 2013, on donations, myself since 2016 (more or less, I got through my savings during some dark periods), another person since 2017, and this month a fourth person has started. I've also funded the initial development of training materials. Nobody is earning Silicon Valley money, but on the other, we're having lots of fun.

The Blender Foundation is doing extremely well with their new development fund system, something I'm very eager to copy as well.

Even Inkscape, which long held out against funding development, seems to be considering starting to fund some development because they're recognizing that there are just things that are too hard to develop in one's spare time -- like we did when we hired Lukas Tvrdy in 2009 (https://dot.kde.org/2009/12/02/krita-team-seeking-sponsor...)

The GNOME Foundation is sponsoring development of GTK. There are quite a few other examples, each with their own particular quirks, of course.

And, yes, there are still plenty of free software organizations that aren't trying to fund development, but only collect funds for things like sprints and hardware -- which I do feel is indeed a bit of a pity.


Fixing programmers

Posted Mar 19, 2019 19:36 UTC (Tue) by mpr22 (subscriber, #60784)
In reply to: Fixing programmers by Cyberax
Parent article: Cook: security things in Linux v5.0

I ask in all sincerity: which programming languages of vaguely similar vintage to C do any significantly better a job of accommodating integer overflow than C does?


Fixing programmers

Posted Mar 19, 2019 19:13 UTC (Tue) by Cyberax (✭ supporter ✭, #52523)
In reply to: Fixing programmers by NAR
Parent article: Cook: security things in Linux v5.0

Integer overflow could easily be prevented in hardware (by causing a hardware trap). It doesn't even need any serious amount of silicon, integer overflow traps existed in lots of pre-x86 hardware.

Unfortunately, C made that useless and so it fell by the wayside.


Firefox 66 released

Posted Mar 19, 2019 19:10 UTC (Tue) by mathstuf (subscriber, #69389)
Parent article: Firefox 66 released

> Improved performance and reduced crash rates by doubling web content loading processes from 4 to 8

Interesting to read that increasing the number of threads reduced crash rates :) .


5.1 Merge window part 1

Posted Mar 19, 2019 19:08 UTC (Tue) by Cyberax (✭ supporter ✭, #52523)
In reply to: 5.1 Merge window part 1 by anton
Parent article: 5.1 Merge window part 1

Nobody stops you from using an old version of QEMU. It should be fine for the next 25-30 years or so - before Linux developers remove ELF in favor of something newer like TROLL.


Firefox 66 released

Posted Mar 19, 2019 18:38 UTC (Tue) by yodermk (subscriber, #3803)
Parent article: Firefox 66 released

Wow this looks like one of the most impactful new releases in quite some time! Long list of useful improvements there. Most releases, there's one or two things that make me go "ok, that's cool I guess."


Firefox 66 released

Posted Mar 19, 2019 18:17 UTC (Tue) by josh (subscriber, #17465)
Parent article: Firefox 66 released

"smoother scrolling" doesn't quite describe the new feature here. Firefox now avoids having the page content change position after you've scrolled down and newly loaded content appears above the viewport.


SUSE completes its management transition

Posted Mar 19, 2019 17:38 UTC (Tue) by k8to (guest, #15413)
In reply to: SUSE completes its management transition by darwish
Parent article: SUSE completes its management transition

I guess one question is how they make their money now. Maybe there's a rich vein of consulting across both cloud and datacenter?

I mean, I really don't know, but I expect most of their income hasn't been via SuSE Linux Enterprise for some time, because it isn't a growing market. The datacenter was pretty saturated with Linux a decade ago.

I do think that in around 10 years, datacenter spending will have rebounded a bit, but I expect its management will look more like the cloud than its current reality.



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