HNHacker News
TopNewBestAskShowJobs

MaXtreeM

172 karma · joined July 9, 2019

submissionscomments
MaXtreeM··on Syncthing – a continuous file synchronization program
The Nextcloud Windows desktop client is very poorly written. We needed an in-house file hosting solution to replace really old Samba shares and Nextcloud seemed like a great option because we also were looking for a non-Google alternative to Google Docs/Drive (one of our clients has anti-Google policy).

After moving all files to Nextcloud server everyone (company of 20+ people) installed Nextcloud Windows Desktop client and connected to it with only virtual files option set (nothing is transfered until opened/edited). The initial "sync" after first seup took about 2-3 days to complete for everyone. Reason? Probably too many small files. The share contained about 300+GB of data in around 500k files (not sure about that number only a guess). Nextcloud checks every single file with server which computes hash for it which is stored locally. You can find threads on their community forum or reddit by people experiencing same slow behavior when they have a lot of small files. There were some promises from devs to resolve it with the latest client update but we didn't verify it yet.

MaXtreeM··on Asynchronous Programming in C#
Always using async/await is recommended to avoid _surprising_ behavior. If a method with a signature

Task<Bar> Foo();

and it is not declared with async and it throws an exception, the exception is propagated directly to the call site. Think of this usage:

var getBarTask = Foo();

// do some other stuff

try { var bar = await getBarTask; }

catch (Exception ex) { handle exceptions }

Then if the Foo is not async the exception is thrown at 'var getBarTask = Foo();'. If it is declared with async the exception is wrapped inside of the Task object and thrown at the 'var bar = await getBarTask;'

Yes there is obviously a small performance cost. My guideline would be "always use async/await unless you call the method hunders or more times a second and the small performace cost becomes neglible. And always measure before you optimise.

edit: formating

MaXtreeM··on C# for Systems Programming
I think all of the issues in #2 might have been resolved with changes to ref keyword and ref-structs added, both in C# 7.
MaXtreeM··on Book Exploring Async Basics
If author is here, I just read the first chapter and it seems well written. Thank you, I will definitely read through the rest.
MaXtreeM··on Video Game Pricing [video]
> it is quite obvious that comedic, meme-packed ...

I don't understand why comedy and memes should be a problem if the overall content is trying to communicate some thought.

> ... popular culture nostalgia driven YouTube videos ...

What you call nostalgia I see as a history reference for comparison to today.

Your comments give me an impression that you have a problem with YouTube videos. There are blog posts filled with jokes, memes and "popular culture nostalgia" which get to the top of HN every day. As I said videogamedunkey's videos are mostly humorous but from time to time he makes an essay with suprisingly good observations about video game industry. You don't have to like his way of humour as a lot of people don't but at least he has been consistent and not afraid to call out some people for their bullshit.

MaXtreeM··on Video Game Pricing [video]
I never thought I would see videogamedunkey in top hot posts on HN but here we go. As others have already pointed out, he usually makes silly videos but has been consistent for many years if you like his kind of humour. From time to time he makes a video-essay which are usually great, I would recommend a "Game Critics"[0] and part two if you liked the first one.

[0]: https://www.youtube.com/watch?v=lG2dXobAXLI

MaXtreeM··on Trying to extract Widewine key: A journey to failure
Linux is not the issue here but ARM processor as OP said. First DRM library for ARM came only earlier this year so finally I am able to play DRM content on Raspberry Pi 4 in Chromium but I am not going to because chromium is painfully slow and plugin maintainers have figured out how to play Netflix in Kodi.

edit: DRM library still doesn't get to "fully FLOSSed"

MaXtreeM··on JavaScript Is Weird
Based on the comments half of the people didn't read the introduction.
MaXtreeM··on OpenHistoricalMap
I am sorry, I managed to find it but for some reason it dissapears after year 1818!
MaXtreeM··on OpenHistoricalMap
I am quite bad at history but quickly looking at central Europe this project seems to have some inaccuracies.

- I couldn't find any mention of Prussia [0]

- during years 1920-1938 the borders between Czechoslovakia and Poland are messing so it looks like it is a single country

I am sure anyone can find what is missing/wrong with the history of their country. This is a community project after all so I am not surprised but based on Wayback machine this project started at least 7 years ago.

[0]: https://en.wikipedia.org/wiki/Prussia

MaXtreeM··on Show HN: Video Game in a Font
I beat it but at the end it said that I got the "bad ending". Is there really a good ending?

Amazing project BTW, had a lot of fun!

MaXtreeM··on A curated list of .NET performance resources
If this is what you mean by "proper value types" then I think that the "value type" term is bloated. For me value types mean value semantics and what you describe are mostly optimizations. I like the point of Eric Lippert, that value types is not the same as "should live on stack" as a lot of people think.

I would agree that things like

> - using without IDispose for structs without implicit boxing

and

> - generics for blittable types

would make value types more "proper" in the C# language.

MaXtreeM··on A curated list of .NET performance resources
Please can you specify what "proper" value types mean? C# structs already provide value semantics but what is missing?
MaXtreeM··on Netflix and Spotify on a Raspberry Pi 4 with Chromium and Widevine
For Spotify I use Raspotify[1] which uses librespot library. It works flawlessly, controlling what to play from any smartphone on same local network. After last update finally podcasts work too.

Netflix I watch in Kodi Netflix Addon. Worked great so far with no screen tearing.

[1]: https://github.com/dtcooper/raspotify

MaXtreeM··on Eric Engstrom, co-creator of DirectX, has died
> So I used ildasm and found out the year was hardcoded.

Deliberate time bomb or honest mistake?

MaXtreeM··on Error Handling Is Hard
In my job I am developing an app in C#. When I joined the team, there was already a Result library which is just a wrapper for return types with predefined set of result codes and a field for error message. It was first used for our bridge with JavaScript code, now it is used (and abused) everywhere in the app. I though it was a big PITA when I joined the team but I see the value now and I think the .NET ecosystem is lacking some standart way of doing this. Yes, there are exceptions, but we have a some states which are not "failured" per se and the Result library fits this well. The system is not perfect because the set of predefined result codes cannot be used everywhere and I am constantly thinking about how it could be improved. Does anyone have a clean way to do error handling in C#?
MaXtreeM··on An Introduction to ZFS
Has anyone tried to do a home NAS server with ZFS on Raspberry Pi 4?
MaXtreeM··on Fasting 3 days each quarter
Of course everyone's body is different so you may be fine but 5~8 l for an average person migt be too much. For me personally it might seem crazy looking back to my high school years where I reguralry drank less than 1 litre on days with no physical activities, but I know I was fine back then and was not thirsty.

General advice I have seen is to drink when thirsty and more on hot days, or drink so much that your urine is slightly yellow but not all transparent. Drinking too much water flushes out more minerals from your body. A woman have died after drinking too much water for a contest [0], but that is of course an extremen example. It can happend though.

[0] https://www.theglobeandmail.com/news/world/drank-too-much-wa...

MaXtreeM··on What is a photon? (2017)
For others who like to learn from video, here is lenghtier explanation of quantum fields, discrete energies, plane waves, etc. from Sean Carroll: https://www.youtube.com/watch?v=Dy1LNk_B6IE
MaXtreeM··on Clang-11.0.0 Miscompiled SQLite
I always thought that big compilers (clang/gcc/msvc) have some degree of non-determinism due to myriad of optimization passes in combination with heuristics deciding when and where to use certain kind of optimization. Is that true or not?

And certainly if you define deterministic compilation as always producing the same binary, this is already broken by compiler macros like "__DATE__" and randomly generated names during link-time optimization. [1]

[1] https://blog.conan.io/2019/09/02/Deterministic-builds-with-C...

MaXtreeM··on Cooling off your Raspberry Pi 4
The article is basically just a list of some options. Even for the most advanced option the author writes just about temperautures in "mostly idle" setup. Anyone has a link to an article with actual measurements?
MaXtreeM··on ShadowFox – Dark Theme for Firefox
Has anyone found working full dark theme for Firefox mobile on Android? I've tried several available through the standard addons page but they all seem to just change the top bar to some grayish background. I guess the API for change the Side Drop-Down Menu and Settings are not exposed?
← PreviousPage 2 of 2