nous

joined 2 years ago
[–] nous@programming.dev 14 points 12 hours ago* (last edited 12 hours ago) (1 children)

The indicator being stuck is a recently fixed issue:

Fixed a case where the battery level indicator could become stuck

https://store.steampowered.com/news/app/1675200?emclan=103582791470414830&emgid=529850584204838038

[–] nous@programming.dev 1 points 12 hours ago

YAML is not a good format for this. But any line based or steamable format would be good enough for log data like this. Really easy to parse with any language or even directly with shell scripts. No need to even know SQL, any text processing would work fine.

[–] nous@programming.dev 2 points 12 hours ago

CSV would be fine. The big problem with the data as presented is it is a YAML list, so needs the whole file to be read into memory and decoded before you get and values out of it. Any line based encoding would be vastly better and allow line based processing to be done. CSV, json objects encoded into a single line, some other streaming binary format. Does not make much difference overall as long as it is line based or at least streamable.

[–] nous@programming.dev 1 points 13 hours ago

Never said it had to be a text file. There are many binary serialization formats that could be used. But is a lot of situations the overhead you save is not worth the debugging effort of working with binary data. For something like this that is likely not going to be more then a GB or so, probably much less it really does not matter that much if you use binary or text formats. This is an export format that will likely just have one batch processing layer on. This type of thing is generally easiest for more people to work with in a plain text format. If you really need efficient querying of the data then it is trivial and quick to load it into a DB of your choice rather then being stuck with sqlite.

[–] nous@programming.dev 1 points 13 hours ago

export tracking data to analyze later on

That is essentially log data or essentially equivalent. Log data does not have to be human readable, it is just a series of events that happen over time. Most log data, even what you would think of as traditional messages from a program, is not parsed by humans manually but analyzed by code later on. It is really not that hard to slow to process log data line by line. I have done this with TB of data before which does require a lot more effort to do. A simple file like this would take seconds to process at most, even if you were not very efficient about it. I also never said it needed to be stored as text, just a simple file is enough - no need for a full database. That file could be binary if you really need it to be but text serialization would also be good enough. Most of the web world is processed via text serialization.

The biggest problem with yaml like in OP is the need to decode the whole file at once since it is a single list. Line by line processing would be a lot easier to work with. But even then if it is only a few 100 MBs loading it all in memory once and analyzing it all in memory would not take long at all - it just does not scale very well.

[–] nous@programming.dev 8 points 21 hours ago (12 children)

What is wrong with a file for this? Sounds more like a local log or debug output that a single thread in a single process would be creating. A file is fine for high volume append only data like this. The only big issue is the format of that data.

What benefit would a database bring here?

[–] nous@programming.dev 27 points 4 days ago* (last edited 4 days ago) (2 children)

There is in this case, and why Linus did accept the patch in the end. Previous cases less so though which is why Linus is so pissed at this one.

The reason for this new feature is to help fix data loss on users systems - which is a fine line between a bug and a new feature really. There is precedent for this type on thing in RC releases from other filesystems as well. So the issue in this instance is a lot less black and white.

That doesn't excuse previous behaviour though.

[–] nous@programming.dev 33 points 4 days ago (2 children)

Only 40%? Would have thought it would be much higher. Don't more projects generally fail then that without being in a bubble?

[–] nous@programming.dev 4 points 5 days ago

The attack is known as the evil maid attack. It requires repeated access to the device. Basically if you can compromise the bootloader you can inject a keylogger to sniff out the encryption key the next time someone unlocks the device. This is what secure boot is meant to help protect against (though I believe that has also been compromised as well).

But realistically very few people need to worry about that type of attack. Encryption is good enough for most people. And if you don't have your system encrypted then it does not matter what bootloader you use as anyone can boot any live usb to read your data.

[–] nous@programming.dev 6 points 1 week ago (1 children)

I don't agree go is simpler to read. It is simpler to learn the syntax but the syntax is only part of what makes a language. Having learnt both, and having spent more time actually writing go I still prefer writing rust and finding it far easier to work with then go. Go has too many hidden gotchas that you need to trip up on to learn and then remember forever or else trip up on them again.

[–] nous@programming.dev 6 points 1 week ago (1 children)

On their readme

Harper currently only supports English, but the core is extensible to support other languages, so we welcome contributions that allow for other language support.

[–] nous@programming.dev 2 points 1 week ago

Well, that is the first option they suggest:

Option 1: Give Linux Mint a try

view more: next ›