Recently posted comments
GMP and assert()
Posted Feb 28, 2019 15:28 UTC (Thu) by NAR (subscriber, #1313)In reply to: GMP and assert() by pizza
Parent article: GMP and assert()
Revisiting PEP 394
Posted Feb 28, 2019 15:24 UTC (Thu) by lkundrak (subscriber, #43452)In reply to: Revisiting PEP 394 by Kalenx
Parent article: Revisiting PEP 394
...of something else
Patent exhaustion and open source
Posted Feb 28, 2019 15:07 UTC (Thu) by Wol (subscriber, #4433)In reply to: Patent exhaustion and open source by anselm
Parent article: Patent exhaustion and open source
Those that have bought the agri-business kool-aid. I remember someone on Groklaw (that dates it) saying that his seed, that his family had kept and re-sown for generations, yielded maybe 20% more than his neighbours buying in high-yield seed. Thing is, the commercial seed does well in the conditions it's bred. It doesn't necessarily do well in different conditions elsewhere, while seed that's been kept and re-sown adapts to the local conditions.
Cheers,
Wol
GMP and assert()
Posted Feb 28, 2019 14:59 UTC (Thu) by pizza (subscriber, #46)In reply to: GMP and assert() by devkev
Parent article: GMP and assert()
We both know that "can" actually means "will ignore completely" 99.7% of the time.
New
Posted Feb 28, 2019 14:26 UTC (Thu) by remi.chateauneu (subscriber, #51826)In reply to: New by eythian
Parent article: Approaching the kernel year-2038 end game
Cartagena in Spain: "Possessing one of the best harbors in the Western Mediterranean, it was re-founded by the Carthaginian general Hasdrubal in 228 BC as Qart Hadasht ("New City"), a name identical to Carthage, for the purpose of serving as a stepping-off point for the conquest of Spain. The Roman general Scipio Africanus conquered it in 209 BC and renamed it as Carthago Nova (literally "New New City") to distinguish it from the mother city."
GMP and assert()
Posted Feb 28, 2019 14:00 UTC (Thu) by devkev (subscriber, #74096)Parent article: GMP and assert()
The whole point of a library is to be embedded inside some larger process. When you create a process, it's not by running a library, it's by running a program. So it should be the program that decides when that process ends. The lifecycle of that process is none of the library's business, and the library should not do anything to interfere with it. It is entirely inappropriate for a library to unilaterally pull the rug out from under the entire process by early terminating it.
If the library has entered a state where it can no longer perform useful work, then it can just tell the application that. It can return a special "fatal" error response, and if it's completely hosed, then it could set a flag so that all other library calls immediately return the same fatal error. This flag would only be cleared when the problematic state has been fixed (eg. by a special function call which re-inits the entire library, clearing out all its internal state).
For example, the program might be using the library for some optional functionality. In this case, the program could be happy to continue on without the library, using some fallback/alternate instead. Only the program can make that decision, and the library should not even try to second-guess it.
It is completely reasonable for developers to expect that libraries won't go and call exit(), or kill(getpid(), SIGKILL), or similar. Just like I expect random root daemons won't go and reboot my whole system just because they've encountered some problem that they consider severe.
Whatever happened to the "catch low, handle high" error handling philosophy? Libraries have no knowledge of the surrounding context in which they are running - ie, the rest of the program. But this is precisely why they should not be handling such errors, only reporting them. The caller can bubble the error up to a level that is best placed to handle it appropriately.
Revisiting PEP 394
Posted Feb 28, 2019 13:51 UTC (Thu) by NRArnot (subscriber, #3033)Parent article: Revisiting PEP 394
1. Output a warning message to stderr that the un-versioned python command is strongly deprecated.
2. Scan the script to identify any hints as to which python version is required. For example, a print statement without brackets requires python 2, an f-string requires python 3, any type hint strongly implies python 3, ...
3. Output another warning saying what it's going to try next
4. Dispatch the script to python3, unless python2 was clearly required, in which case...
5. Dispatch to python2 if it exists on the system or explain the problem if it does not.
This will work most of the time, and the warning messages (whether or not it does work) ought to nag the script maintainers to fix their shebangs.
If invoked without a script (interactive), tell the user to choose between python2 and python3 and quit.
This isn't something that has to be perfect. A 90% solution is better than a 0% non-solution.
Revisiting PEP 394
Posted Feb 28, 2019 10:31 UTC (Thu) by moltonel (subscriber, #45207)In reply to: Revisiting PEP 394 by karkhaz
Parent article: Revisiting PEP 394
Fixing banglines is trivial, only the diagnostic-to-bugreport-to-new-package bureaucracy takes a bit of time. After so many years, I'd expect that most packaged python2-only scripts have been fixed, and only in-house packages remain. It shouldn't be that hard to write a script to find and report/fix such scripts.
I'm unsympathetic to the "it'll break my setup" argument when the fix is so simple and has been needed for so many years. The python community has been doing extra work to support a legacy version, waiting for people to switch for surprisingly many years. It's time to give them a rest.
Revisiting PEP 394
Posted Feb 28, 2019 9:57 UTC (Thu) by mcharsley (subscriber, #112617)Parent article: Revisiting PEP 394
GMP and assert()
Posted Feb 28, 2019 9:51 UTC (Thu) by smurf (subscriber, #17840)Parent article: GMP and assert()
Revisiting PEP 394
Posted Feb 28, 2019 9:43 UTC (Thu) by Cyberax (✭ supporter ✭, #52523)In reply to: Revisiting PEP 394 by mjthayer
Parent article: Revisiting PEP 394
This is pretty much THE worst possible solution.
Containers as kernel objects — again
Posted Feb 28, 2019 9:23 UTC (Thu) by mezcalero (subscriber, #45103)Parent article: Containers as kernel objects — again
Besides that upcalls are also slow, and hence had to be replaced in many cases with something more performant anyway (think: hotplug upcalls, cgroup agent upcalls, and that stuff). Or think of core_pattern handling: let's say you make firefox crash, now the kernel does an upcall for processing that coredump, which is quite often very CPU and IO sensitive, to the point of slowing down the system drastically. But of course, since the thing runs as upcall it will be outside of the resource mgmt of the rest of the system and unrestricted in lifecycle and resoruce usage, unless it decides to manage itself. In systemd we thus had to replace the core_pattern by a binary that takes the stdin pipe and sends it to a properly managed daemon via AF_UNIX fd passing, and exits quickly, to minimize the unmanaged codepaths. This way the bulk of the core dump processing can be nicely sandboxed, lifecycled and resource managed. But yuck! Why is that even necessary? Why can the kernel just notify userspace in a friendly way without forking of nutty stub processes?
Please, let's just forget about upcalls: provide proper APIs right from the beginning that userspace can subscribe to and then handle without a process being spawned.
(or at least add a generic upcall logic that allows userspace to handle the upcalls instead of the kernel doing the fork()+execve() on its own)
Seriously, fuck upcalls!
Lennart
Revisiting PEP 394
Posted Feb 28, 2019 9:18 UTC (Thu) by lobachevsky (subscriber, #121871)Parent article: Revisiting PEP 394
I agree that it's a disservice to have no unversioned python available and think that the stance to never point the symlink away from python2 quite backwards.
Revisiting PEP 394
Posted Feb 28, 2019 9:11 UTC (Thu) by karkhaz (subscriber, #99844)Parent article: Revisiting PEP 394
IMO these are two separate questions, and I don't see that acknowledged in the PEP. This is because the implications of the default behaviour are different in each case. When typing 'python' at the command line, you're immediately greeted with the version number that's running, and you can just <Ctrl-D> if it's not the one you expected. Scripts, on the other hand, can be executed non-interactively in the background and might thus break people's setups in non-obvious ways if they fail.
So it seems to me that the sensible behavior is to make python point to the latest version of python when invoked on the command line, but python in shebang lines should continue to point to python2 forever. And I say this as an Arch Linux user, whose python has pointed to python3 since the beginning, and I'm perfectly happy with this---but acknowledge that it's untenable for the more mainstream distros.
Development statistics for the 5.0 kernel
Posted Feb 28, 2019 8:22 UTC (Thu) by arnd (subscriber, #8866)In reply to: Development statistics for the 5.0 kernel by GustavoARSilva
Parent article: Development statistics for the 5.0 kernel
$ git rev-list --grep="Fixes:\s\+[0-9a-f]\{6,\}" v4.20..v5.0-rc8 | xargs git show --format=%an -s | sort | uniq -c | sort -rn | head -n 23
46 Dan Carpenter
38 Geert Uytterhoeven
30 Colin Ian King
25 Arnd Bergmann
19 Chris Wilson
18 Florian Westphal
17 Jens Axboe
15 Ville Syrjälä
15 Martin Blumenstingl
15 Linus Walleij
15 Gustavo A. R. Silva
15 Christoph Hellwig
14 Wei Yongjun
14 Sinan Kaya
14 Paolo Abeni
14 Eric Biggers
13 Arnaldo Carvalho de Melo
12 Willem de Bruijn
11 Yonghong Song
11 Nicholas Mc Guire
11 Lorenzo Bianconi
11 Ido Schimmel
11 Andrew Lunn
Revisiting PEP 394
Posted Feb 28, 2019 8:10 UTC (Thu) by mjthayer (guest, #39183)In reply to: Revisiting PEP 394 by Cyberax
Parent article: Revisiting PEP 394
'python' should be for interactive use
Posted Feb 28, 2019 7:55 UTC (Thu) by marcel.oliver (subscriber, #5441)Parent article: Revisiting PEP 394
I can't wait until my distro (Fedora) points python to python3. It's a constant annoyance to get the wrong Python, or wrong ipython via tab completion in the shell (if only they had named it 3python), then it would be half a problem. Scripts can be fixed, and presumably one should use explicit versioning anyway.
Yes, I could define my own alias, but I am also teaching various Scientific Computing classes, so changing defaults would seriously confuse students.
Unfortunately, for students on Linux, I must still check which version of Python they are actually running, which is erratic in practice, and if it's 2.7, debug their scripts for floored-division errors. Just happened two days ago, again.
I will probably have 2.7 around for as long as that's just a dnf install away, due to long-forgotten legacy scripts, but having the default invocation point to a dying version is a very poor user interface. I notice that Matplotlib in its latest version is Python 3 only, which tells me that it's really time to get off Python 2 in my domain.
Revisiting PEP 394
Posted Feb 28, 2019 7:34 UTC (Thu) by Cyberax (✭ supporter ✭, #52523)In reply to: Revisiting PEP 394 by mjthayer
Parent article: Revisiting PEP 394
GMP and assert()
Posted Feb 28, 2019 7:33 UTC (Thu) by mjthayer (guest, #39183)In reply to: GMP and assert() by gdt
Parent article: GMP and assert()
That is an interesting new twist in the display-password-or-display-dots question. Accessing graphics memory is probably more of a threat than shoulder surfing these days. (I would be interested to know if it really is a realistic threat, as in worth the effort for an attacker.) A flag marking a graphics surface as sensitive or something on those lines might help.
Avoiding the coming IoT dystopia
Posted Feb 28, 2019 7:24 UTC (Thu) by omgold (guest, #109541)In reply to: Avoiding the coming IoT dystopia by nybble41
Parent article: Avoiding the coming IoT dystopia
About printing the default key on separate paper, sure it has both advantages and drawbacks.
Advantage: visitors with temporary physical access cannot reflash the device unnoticed
Disadvantage: the paper may be lost
In case that default password is just used for flashing firmware, with a separate password for management of the device (the latter would be set to empty on factory reset), it seems it would be okay. The former use case is rare enough for not causing the vendor much extra work, or customers losing much for being unable to to that (Anyone wanting to mess with the firmware should make sure to obtain and not lose the password). The latter case would just be protected against by making the device lose the wifi pw on factory reset, so it won't go unnoticed.
Also I believe that obtaining a PK certificate from the vendor on request would not protect from the "visitor attack" scenario, as the visitor might just do that for his own pubkey. How would the vendor determine whether the request comes from the rightful owner, when the only proof is physical access?
Revisiting PEP 394
Posted Feb 28, 2019 7:23 UTC (Thu) by mjthayer (guest, #39183)Parent article: Revisiting PEP 394
Revisiting PEP 394
Posted Feb 28, 2019 7:06 UTC (Thu) by Cyberax (✭ supporter ✭, #52523)In reply to: Revisiting PEP 394 by johnramsden
Parent article: Revisiting PEP 394
All major distros are going to HAVE to support Py2 way past 2020. Ubuntu Server will support it until 2023 at least, so will SuSE and others.
> The problem is what happens when python2 it's no more and python no longer points anywher
Once this happens (maybe around 2034) then these scripts can just fail.
GMP and assert()
Posted Feb 28, 2019 6:14 UTC (Thu) by NYKevin (subscriber, #129325)In reply to: GMP and assert() by gdt
Parent article: GMP and assert()
Revisiting PEP 394
Posted Feb 28, 2019 4:41 UTC (Thu) by johnramsden (guest, #113890)In reply to: Revisiting PEP 394 by Cyberax
Parent article: Revisiting PEP 394
GMP and assert()
Posted Feb 28, 2019 3:59 UTC (Thu) by mm7323 (subscriber, #87386)Parent article: GMP and assert()
As already said, applications can use prctl() if too sensitive to core-dump, and that covers all cases not just abort () triggers
Revisiting PEP 394
Posted Feb 28, 2019 2:52 UTC (Thu) by JdGordy (subscriber, #70103)In reply to: Revisiting PEP 394 by Cyberax
Parent article: Revisiting PEP 394
Revisiting PEP 394
Posted Feb 28, 2019 2:01 UTC (Thu) by Cyberax (✭ supporter ✭, #52523)In reply to: Revisiting PEP 394 by NYKevin
Parent article: Revisiting PEP 394
But why? There's no reason whatsoever for this change other than vanity. Just stick with python2 and python3 - easy and unambiguous.
Revisiting PEP 394
Posted Feb 28, 2019 1:23 UTC (Thu) by NYKevin (subscriber, #129325)In reply to: Revisiting PEP 394 by Cyberax
Parent article: Revisiting PEP 394
Revisiting PEP 394
Posted Feb 28, 2019 1:20 UTC (Thu) by Cyberax (✭ supporter ✭, #52523)In reply to: Revisiting PEP 394 by NYKevin
Parent article: Revisiting PEP 394
Don't care about them. There are many in-house applications that are written in Py2 and that are not migrating any time soon.
Revisiting PEP 394
Posted Feb 28, 2019 1:15 UTC (Thu) by NYKevin (subscriber, #129325)In reply to: Revisiting PEP 394 by Cyberax
Parent article: Revisiting PEP 394
Not if all the libraries jump ship. A ton have already pledged to do so in 2020: https://python3statement.org/
(Moreover, if a given library has *not* published plans to transition to Python 3 in the very near future, I would tend to wonder whether it is actually receiving upstream support in the first place. I'm sure some are, but there's a lot of bit rot out there.)
Revisiting PEP 394
Posted Feb 27, 2019 23:55 UTC (Wed) by Kalenx (subscriber, #120295)In reply to: Revisiting PEP 394 by Cyberax
Parent article: Revisiting PEP 394
GMP and assert()
Posted Feb 27, 2019 23:44 UTC (Wed) by gdt (subscriber, #6284)In reply to: GMP and assert() by roc
Parent article: GMP and assert()
Even if the secret is protected with both MADV_DONTDUMP and mlock() the library may copy that memory. That copying might not be unreasonable -- to access data in modern CPUs is to copy it, at the very least into CPU caches and registers.
We saw the same thing recently with password databases, where graphics libraries retained the contents of previously-displayed text and so passwords were still in RAM even if the password database had erased its own storage. In turn those graphics libraries may feel that free()ing data means it has passed from their responsibility.
Revisiting PEP 394
Posted Feb 27, 2019 22:55 UTC (Wed) by Cyberax (✭ supporter ✭, #52523)In reply to: Revisiting PEP 394 by Kalenx
Parent article: Revisiting PEP 394
Py2 will be supported at least until 2027 (the EOL for RHEL7) and realistically it'll be around for longer (see: Perl5).
So fuck you Python developers. You're creating needless work for everybody to reassure your sense of self-importance ("See! We did it! Py3 is now mandatory!").
Revisiting PEP 394
Posted Feb 27, 2019 22:52 UTC (Wed) by Kalenx (subscriber, #120295)In reply to: Revisiting PEP 394 by Cyberax
Parent article: Revisiting PEP 394
Avoiding the coming IoT dystopia
Posted Feb 27, 2019 22:33 UTC (Wed) by andresfreund (subscriber, #69562)In reply to: Avoiding the coming IoT dystopia by excors
Parent article: Avoiding the coming IoT dystopia
For a lot of devices having the default PW printed onto the device itself is viable...
Reimplementing printk()
Posted Feb 27, 2019 22:15 UTC (Wed) by Cyberax (✭ supporter ✭, #52523)In reply to: Reimplementing printk() by vadim
Parent article: Reimplementing printk()
GMP and assert()
Posted Feb 27, 2019 22:14 UTC (Wed) by roc (subscriber, #30627)In reply to: GMP and assert() by BenHutchings
Parent article: GMP and assert()
GMP and assert()
Posted Feb 27, 2019 22:04 UTC (Wed) by BenHutchings (subscriber, #37955)Parent article: GMP and assert()
Revisiting PEP 394
Posted Feb 27, 2019 21:40 UTC (Wed) by moltonel (subscriber, #45207)Parent article: Revisiting PEP 394
Reimplementing printk()
Posted Feb 27, 2019 21:00 UTC (Wed) by claytonc (guest, #98599)In reply to: Reimplementing printk() by vadim
Parent article: Reimplementing printk()
Reimplementing printk()
Posted Feb 27, 2019 20:54 UTC (Wed) by rweikusat2 (subscriber, #117920)In reply to: Reimplementing printk() by NAR
Parent article: Reimplementing printk()
There's nothing "controversial" here, just lack of understanding.
Revisiting PEP 394
Posted Feb 27, 2019 20:44 UTC (Wed) by Cyberax (✭ supporter ✭, #52523)Parent article: Revisiting PEP 394
Avoiding the coming IoT dystopia
Posted Feb 27, 2019 18:19 UTC (Wed) by nybble41 (subscriber, #55106)In reply to: Avoiding the coming IoT dystopia by excors
Parent article: Avoiding the coming IoT dystopia
Reimplementing printk()
Posted Feb 27, 2019 16:44 UTC (Wed) by vadim (subscriber, #35271)In reply to: Reimplementing printk() by Cyberax
Parent article: Reimplementing printk()
Avoiding the coming IoT dystopia
Posted Feb 27, 2019 13:07 UTC (Wed) by excors (subscriber, #95769)In reply to: Avoiding the coming IoT dystopia by omgold
Parent article: Avoiding the coming IoT dystopia
I guess that's okay for ISP-provided routers - the customer has a contract with the ISP, so customer support has enough information to verify the identity of the caller then tell them the original password. And the ISP already provides customer support in the user's language, and is being paid like $50/month, so it's relatively cheap to deal with the occasional lost password.
But that solution doesn't scale to many IoT devices. Maybe you're buying the device for $10 from a small Chinese manufacturer. They can't afford to provide that level of individual customer support. And you're definitely going to lose track of all these password sheets if you have one per lightbulb. The manufacturer might still care about security, so they'd like a cleverer technical solution that provides a decent level of security without those support costs.
Reimplementing printk()
Posted Feb 27, 2019 11:10 UTC (Wed) by jogness (subscriber, #49775)In reply to: Reimplementing printk() by Cyberax
Parent article: Reimplementing printk()
Print less
Posted Feb 27, 2019 10:39 UTC (Wed) by LtWorf (subscriber, #124958)In reply to: Print less by shemminger
Parent article: Reimplementing printk()
Reimplementing printk()
Posted Feb 27, 2019 9:45 UTC (Wed) by Cyberax (✭ supporter ✭, #52523)In reply to: Reimplementing printk() by jogness
Parent article: Reimplementing printk()
Reimplementing printk()
Posted Feb 27, 2019 9:42 UTC (Wed) by jani (subscriber, #74547)In reply to: Reimplementing printk() by NAR
Parent article: Reimplementing printk()
That part would be https://lwn.net/Articles/464276/
Producing an application for both desktop and mobile
Posted Feb 27, 2019 9:37 UTC (Wed) by cagrazia (guest, #124754)Parent article: Producing an application for both desktop and mobile
Reimplementing printk()
Posted Feb 27, 2019 9:24 UTC (Wed) by NAR (subscriber, #1313)In reply to: Reimplementing printk() by jogness
Parent article: Reimplementing printk()
If logs are parsed by software, what about using a more structured log format like logmft? I guess this idea could be as controversial as systemd :-)
Yaghmour: gitgeist: a git-based social network proof of concept
Posted Feb 27, 2019 9:15 UTC (Wed) by jezuch (subscriber, #52988)In reply to: Yaghmour: gitgeist: a git-based social network proof of concept by anselm
Parent article: Yaghmour: gitgeist: a git-based social network proof of concept
The real solution, of course, is federation. But good luck getting the big players to open their silos.
Reimplementing printk()
Posted Feb 27, 2019 8:49 UTC (Wed) by jogness (subscriber, #49775)In reply to: Reimplementing printk() by gdt
Parent article: Reimplementing printk()
"Right now the emergency messages are set apart from the non-emergency messages using '\n'. There have been requests that some special markers could be specifiable to make it easier for parsers."
Reimplementing printk()
Posted Feb 27, 2019 8:45 UTC (Wed) by jogness (subscriber, #49775)In reply to: Reimplementing printk() by Cyberax
Parent article: Reimplementing printk()
Avoiding the coming IoT dystopia
Posted Feb 27, 2019 7:28 UTC (Wed) by omgold (guest, #109541)In reply to: Avoiding the coming IoT dystopia by nybble41
Parent article: Avoiding the coming IoT dystopia
My reasoning about having the first is that it protects dumb users (who never change the password) from fun guys coming to visit, who want to reflash the firmware unnoticed. It is simply prevented by the owner storing the sheet with the preconfigured pw somewhere unknown to the attacker (which is likely).
About pubkey, it should be enough for the new owner to change the password, no? Not pubkey needed:
- previous owner provides current password, or just the vendor preconfigured-one (the latter would need a factory reset)
- new owner types in current password, which allows him to set his own one
Reimplementing printk()
Posted Feb 27, 2019 7:06 UTC (Wed) by Cyberax (✭ supporter ✭, #52523)In reply to: Reimplementing printk() by smurf
Parent article: Reimplementing printk()
Multiple entries with the same timestamp are treated just fine (de-duped), the problem is timestamps going backwards.
I guess I'll have to add more complicated logic to detect unsynchronized messages.
Print less
Posted Feb 27, 2019 6:06 UTC (Wed) by shemminger (subscriber, #5739)Parent article: Reimplementing printk()
99% of what is in the kernel log is leftovers that some developer was too timid or vain to remove.
Reimplementing printk()
Posted Feb 27, 2019 3:40 UTC (Wed) by smurf (subscriber, #17840)In reply to: Reimplementing printk() by Cyberax
Parent article: Reimplementing printk()
In any case, if I were you I'd add my own timestamp (time when the message was read from the kernel).
Reimplementing printk()
Posted Feb 27, 2019 1:23 UTC (Wed) by Cyberax (✭ supporter ✭, #52523)Parent article: Reimplementing printk()
Containers as kernel objects — again
Posted Feb 27, 2019 1:06 UTC (Wed) by andresfreund (subscriber, #69562)In reply to: Containers as kernel objects — again by gdt
Parent article: Containers as kernel objects — again
Containers as kernel objects — again
Posted Feb 27, 2019 1:02 UTC (Wed) by gdt (subscriber, #6284)Parent article: Containers as kernel objects — again
A general question. Why is the function(…, flags) model so dominant when we know that flags often gets out of control? The socket design pattern for setting options — socket(), bind(), setsockopt()..., connect() — seems to age better. To save people referring to a manual: socket() creates an instance, bind() sets mandatory parameters, setsockopt() sets each optional parameter, connect() runs the instance. Of course there are cases when the number of system calls do matter greatly to performance, but I wouldn't have thought that this would be one of them. I'm seeking insight for the unpopularity of this design pattern, not making a comment on the patch.
Reimplementing printk()
Posted Feb 27, 2019 0:43 UTC (Wed) by gdt (subscriber, #6284)Parent article: Reimplementing printk()
Patent exhaustion and open source
Posted Feb 26, 2019 22:37 UTC (Tue) by derobert (subscriber, #89569)In reply to: Patent exhaustion and open source by nowster
Parent article: Patent exhaustion and open source
Go 1.12 released
Posted Feb 26, 2019 19:49 UTC (Tue) by Cyberax (✭ supporter ✭, #52523)In reply to: Go 1.12 released by brouhaha
Parent article: Go 1.12 released
Go 1.12 released
Posted Feb 26, 2019 17:47 UTC (Tue) by brouhaha (subscriber, #1698)Parent article: Go 1.12 released
Memory-mapped I/O without mysterious macros
Posted Feb 26, 2019 17:42 UTC (Tue) by iabervon (subscriber, #722)In reply to: Memory-mapped I/O without mysterious macros by corbet
Parent article: Memory-mapped I/O without mysterious macros
But now I'm unsure why we need to track nesting_count at all, and clear mmiowb_pending at the start of an unnested spinlock. Surely nesting_count could only be 0 if either the CPU has never had a spinlock or it released a spinlock since it last did mmio?
Memory-mapped I/O without mysterious macros
Posted Feb 26, 2019 17:12 UTC (Tue) by corbet (editor, #1)In reply to: Memory-mapped I/O without mysterious macros by iabervon
Parent article: Memory-mapped I/O without mysterious macros
It might cause an extra mmiowb() if more MMIO is done after the inner spinlock is released, but the results should be correct in all cases if I understand things correctly.
Memory-mapped I/O without mysterious macros
Posted Feb 26, 2019 17:09 UTC (Tue) by iabervon (subscriber, #722)Parent article: Memory-mapped I/O without mysterious macros
Avoiding the coming IoT dystopia
Posted Feb 26, 2019 15:56 UTC (Tue) by nybble41 (subscriber, #55106)In reply to: Avoiding the coming IoT dystopia by omgold
Parent article: Avoiding the coming IoT dystopia
If it's acceptable to reset the device back to a blank factory-default state prior to the sale (or after, assuming physical access is sufficient proof of ownership) then the new owner can program in their own secret when they receive the device. If not, the existing owner needs to transfer control to the new owner prior to the sale, and doing that without letting the existing owner know the new owner's secret requires a public-key authentication system. Reasons not to perform a factory reset include deterring theft or tampering while the device is in transit and/or wanting to preserve any data already on the device.
Avoiding the coming IoT dystopia
Posted Feb 26, 2019 14:06 UTC (Tue) by omgold (guest, #109541)In reply to: Avoiding the coming IoT dystopia by nybble41
Parent article: Avoiding the coming IoT dystopia
They could just do the same as router vendors currently do with Wifi-Passwords.
- store a random (per-device) key/password in the device memory
- print the key/password on a sheet of paper which is delived to the customer together with the device.
Yaghmour: gitgeist: a git-based social network proof of concept
Posted Feb 26, 2019 13:30 UTC (Tue) by jani (subscriber, #74547)In reply to: Yaghmour: gitgeist: a git-based social network proof of concept by intgr
Parent article: Yaghmour: gitgeist: a git-based social network proof of concept
Which I like to paraphrase as, "If all you have is Excel, everything looks like a spreadsheet."
Producing an application for both desktop and mobile
Posted Feb 26, 2019 12:47 UTC (Tue) by lpechacek (subscriber, #41796)Parent article: Producing an application for both desktop and mobile
As far as I can tell, Subsurface build target set is very similar to OpenOrienteering Mapper one.
https://github.com/OpenOrienteering/mapper/releases
https://github.com/OpenOrienteering/mapper/wiki/Target-sy...
Yaghmour: gitgeist: a git-based social network proof of concept
Posted Feb 26, 2019 12:31 UTC (Tue) by intgr (subscriber, #39733)In reply to: Yaghmour: gitgeist: a git-based social network proof of concept by h2
Parent article: Yaghmour: gitgeist: a git-based social network proof of concept
Sounds terribly like web browsers of today. Not sure that replacing web apps with git apps would be such a bad thing. :)
Yaghmour: gitgeist: a git-based social network proof of concept
Posted Feb 26, 2019 9:34 UTC (Tue) by jani (subscriber, #74547)In reply to: Yaghmour: gitgeist: a git-based social network proof of concept by karim
Parent article: Yaghmour: gitgeist: a git-based social network proof of concept
> 5. Better to make a few users love you than a lot ambivalent.
>
> Ideally you want to make large numbers of users love you, but you
> can't expect to hit that right away. Initially you have to choose
> between satisfying all the needs of a subset of potential users,
> or satisfying a subset of the needs of all potential users. Take
> the first. It's easier to expand userwise than
> satisfactionwise. And perhaps more importantly, it's harder to
> lie to yourself. If you think you're 85% of the way to a great
> product, how do you know it's not 70%? Or 10%? Whereas it's easy
> to know how many users you have.
http://www.paulgraham.com/13sentences.html
Distribution quotes of the week
Posted Feb 26, 2019 9:30 UTC (Tue) by jezuch (subscriber, #52988)In reply to: Distribution quotes of the week by iabervon
Parent article: Distribution quotes of the week
Yaghmour: gitgeist: a git-based social network proof of concept
Posted Feb 26, 2019 7:16 UTC (Tue) by karim (subscriber, #114)In reply to: Yaghmour: gitgeist: a git-based social network proof of concept by rgmoore
Parent article: Yaghmour: gitgeist: a git-based social network proof of concept
Memory-mapped I/O without mysterious macros
Posted Feb 26, 2019 5:16 UTC (Tue) by ejr (subscriber, #51652)Parent article: Memory-mapped I/O without mysterious macros
Yaghmour: gitgeist: a git-based social network proof of concept
Posted Feb 26, 2019 2:17 UTC (Tue) by rgmoore (✭ supporter ✭, #75)In reply to: Yaghmour: gitgeist: a git-based social network proof of concept by anselm
Parent article: Yaghmour: gitgeist: a git-based social network proof of concept
ou could make available the greatest social network ever – free, stuffed with useful and convenient features, privacy-conscious to a fault, etc. – but require people to go out of their way just a little bit to get access to it (especially when it's not obvious they'll have anyone to network with once they're there) and they're not going to be interested.
I think you're wrong about this. Inconvenience lowers the number of people potentially interested, but it doesn't make the project completely untenable. What it needs is a core group of users who understand the advantages and are interested in socializing with each other. If you have those two things, you can have a social network that is capable of surviving. It may not thrive, but so long as the users can support the network by themselves, it doesn't need to be able to beat Facebook to survive.
It seems to me that what it really needs is a use case that can bring in enough user/developers to get it off the ground, and that the most likely use case is a replacement for email lists as a way for developers to communicate with each other. Developers who already use git will have a lower activation energy to get involved, since they already have key enabling technology handy. And as articles here on LWN keep pointing out, there are serious ongoing problems with email lists as a way of handling development. So what it really needs is a customizable back-end that lets it substitute for LKML as a development discussion platform, and it has both an application and a group of interested users together.
What about async metadata
Posted Feb 26, 2019 1:53 UTC (Tue) by josh (subscriber, #17465)In reply to: What about async metadata by epa
Parent article: Ringing in a new asynchronous I/O API
The readahead system call does that.
Shrinking the kernel with link-time optimization
Posted Feb 25, 2019 20:05 UTC (Mon) by praveenv98 (guest, #116175)Parent article: Shrinking the kernel with link-time optimization
In this passage :
"When CONFIG_HIGHMEM is not defined, is_highmem_idx() (and PageHighMem() derived from it) return zero unconditionally. Any code within functions that follows the "if (PageHighMem(page))" pattern will be automatically optimized away as dead code.
But this works only because is_highmem_idx() is marked static; ".
Why this works only for static functions ? Static keyword implies only about the internal linkage right?
Thanks
The Linux Foundation Launches ELISA Project Enabling Linux In Safety-Critical Systems
Posted Feb 25, 2019 19:47 UTC (Mon) by rahvin (guest, #16953)In reply to: The Linux Foundation Launches ELISA Project Enabling Linux In Safety-Critical Systems by darwish
Parent article: The Linux Foundation Launches ELISA Project Enabling Linux In Safety-Critical Systems
Avoiding the coming IoT dystopia
Posted Feb 25, 2019 16:23 UTC (Mon) by Wol (subscriber, #4433)In reply to: Avoiding the coming IoT dystopia by mjthayer
Parent article: Avoiding the coming IoT dystopia
European legislation on the other hand, as someone else pointed out, is more interested in outcomes. So you should legislate that "businesses must be able to demonstrate robust, working procedures for dealing with the bugs in the code in their products". In other words, if your reaction to a bug report is to sweep it under the carpet, or if it's a serious bug to run around like a headless chicken, then you're in breach of the legislation and liable for the consequences.
If, on the other hand, you have a mechanism for creating, and rolling out, bugfixes to your products to deal with problems then it's much easier to show compliance with the legislation - you just point to your security team and say "watch them triage bugs, create fixes, and roll them out". The system is there, it can be watched in action, and while it may not (indeed, pretty definitely won't) fix all the problems it will result in far fewer of them.
Cheers,
Wol
Distribution quotes of the week
Posted Feb 25, 2019 14:18 UTC (Mon) by make (subscriber, #62794)In reply to: Distribution quotes of the week by pizza
Parent article: Distribution quotes of the week
Most likely not at all. There's so much superstition among audiophiles; this used to entertain me, but it got boring after a while.
A low-latency kernel can help, but this is very very unlikely. It will only help if the audio chip's buffer drains empty ("xrun") before the player software can refill it, because the CPU is hogged by other processes. A properly configured real-time kernel will try harder to give the player software a share of the CPU before the buffer drains empty.
An xrun is a very audible thing. If you don't hear it, it doesn't happen, and if it doesn't happen, a real-time kernel has no effect at all. Same goes for any other choice made by this distribution.
Of course, it's a good thing to be "free of unnecessary daemons and services", but that has nothing to do with audio quality.
There are choice which can affect audio quality, for example if the player software (for some reason) decides to resample, or convert to a different sample format. There are ways to avoid it or at least reduce the degradation.
As MPD developer (the player software chosen by Audiophile Linux), I spent a lot of time trying to avoid lossy audio format conversions during playback whenever possible. Even though I'm confident that many such optimizations cannot be possibly distinguished by even the best human ears on earth.
Yaghmour: gitgeist: a git-based social network proof of concept
Posted Feb 25, 2019 12:29 UTC (Mon) by anselm (subscriber, #2796)In reply to: Yaghmour: gitgeist: a git-based social network proof of concept by flussence
Parent article: Yaghmour: gitgeist: a git-based social network proof of concept
The problem is that in this area (as in many), the mediocre-but-easily-available is the enemy of the good-but-a-hassle-to-access. Right now everybody and their dog either has a Facebook account, or is two minutes of filling in a web form and checking some boxes away from one – and chances are that almost everyone they know is already on the service. What are a few pesky privacy scandals compared to that kind of convenience?
You could make available the greatest social network ever – free, stuffed with useful and convenient features, privacy-conscious to a fault, etc. – but require people to go out of their way just a little bit to get access to it (especially when it's not obvious they'll have anyone to network with once they're there) and they're not going to be interested.
Right now, if you want to be the next Facebook, or even a noticeable blip on the radar in the general area of Facebook, you have to be significantly and obviously better than Facebook for people to even take a second look – and since, privacy issues aside, Facebook is actually pretty good at what it does these days, that's not a trivial bar to clear.
Yaghmour: gitgeist: a git-based social network proof of concept
Posted Feb 25, 2019 10:46 UTC (Mon) by dunlapg (guest, #57764)In reply to: Yaghmour: gitgeist: a git-based social network proof of concept by Wol
Parent article: Yaghmour: gitgeist: a git-based social network proof of concept
Something that the GDPR's detractors repeatedly "forget" - the GDPR does NOT NOT NOT apply to original material. It only applies to search engines and indexes.
This is absolutely false. Shortly after it was passed, a European court ruled that it applied to hand-written personal notes taken by Jehovah's Witnesses about their door-to-door visits -- notes that are not collected or shared anywhere, but only used by the person who wrote them to refresh their memory on follow-up visits.
Containers as kernel objects — again
Posted Feb 25, 2019 8:18 UTC (Mon) by smcv (subscriber, #53363)In reply to: Containers as kernel objects — again by NYKevin
Parent article: Containers as kernel objects — again
The actual reaper process is very simple: it just calls wait() in a loop. The complicated parts of something like systemd (or even sysvinit) are the parts that set up and run all the services, not the part that reaps processes.
Yaghmour: gitgeist: a git-based social network proof of concept
Posted Feb 25, 2019 7:56 UTC (Mon) by joncb (guest, #128491)In reply to: Yaghmour: gitgeist: a git-based social network proof of concept by Wol
Parent article: Yaghmour: gitgeist: a git-based social network proof of concept
It may have some difficulty applying generally but if a gitgeist poster :-
a) Doxxed someone
b) Posted pictures of them
Then almost certainly. There's a "journalistic, artistic, or literary exception" (Article 85) but it seems like that could be a legal nightmare of the "just cheaper to delete your account" kind.
Avoiding the coming IoT dystopia
Posted Feb 25, 2019 7:28 UTC (Mon) by smurf (subscriber, #17840)In reply to: Avoiding the coming IoT dystopia by nybble41
Parent article: Avoiding the coming IoT dystopia
I've got a more tangible harm of not doing that for you: the same people who are unlikely to buy safe food are also unlikely to voluntarily buy health insurance, therefore (when the unsafe food bites them or the unsafe drugs don't cure their disease) they end up as non-paying customers of the hospital's ER, thus forcing increased healthcare costs on the rest of us.
This is not hypothetical. In countries with mandatory insurance, going to a hospital costs an order of magnitude less than in the US.
Avoiding the coming IoT dystopia
Posted Feb 25, 2019 2:52 UTC (Mon) by nybble41 (subscriber, #55106)In reply to: Avoiding the coming IoT dystopia by sfeam
Parent article: Avoiding the coming IoT dystopia
Not true. *All else being equal*, safe food and medicine are obviously preferable to unsafe food and medicine. However, that condition almost never holds. Safe food and medicine cost more—and given the choice, quite a few people would choose slightly more risky products over safe ones with higher prices. The FDA makes people safer (by some metrics) by forcing them to either pay the higher price or go without, thus trading one highly visible form of harm for another, more subtle kind.
Yaghmour: gitgeist: a git-based social network proof of concept
Posted Feb 25, 2019 1:50 UTC (Mon) by develop7 (guest, #75021)Parent article: Yaghmour: gitgeist: a git-based social network proof of concept
To paraphrase, "everything is better with BluetoothGit"
