Hacker Newsnew | past | comments | ask | show | jobs | submit | more NekkoDroid's commentslogin

From my understanding this seems to include all forms of transportation (which has value on its own I guess), but it would be more interesting to see car only.


> Most people who are buying laptops, especially at Apple's price point, are replacing an existing laptop. If they bought it within the last decade, they likely already have a USB-C charger capable of charging the new laptop.

All my 3 laptops I've had since USB-C has become decently common didn't come with a USB-C charger themselves. Only the newest can actually charge via USB-C but even with my own 100W charger it is decently slow compared to the charger it came with. But then again it might have something to do with the fact I keep buying gaming laptops :)


On systemd systems you can just either set KEY=VALUE pairs in `/etc/environment` or any file in `/etc/environment.d/` (and technically a few other places [0]). In theory it should be relatively easy to write a GUI for it by manually parsing the files.

The application restarting part can't really be fixed, since environment variables aren't ever injected to a running process and can only be changed by the process itself (terms and conditions may apply) and even changes during runtime could be ignored since the program itself may have cached some already computed value based on the variable.

[0]: https://www.freedesktop.org/software/systemd/man/latest/envi...


Good info. I may write a script or tiny program to help with this.


The only real other place I would have some sort of hope for this is California, but even there I have my doubts.


Apex Legends is at 20 IIRC (My memory is from 2-3 years back on this one tho)

CSGO was at 64 for the standard servers and 128 for Faceit (IIRC CS2 is doing some dynamic tick schenanigans unless they changed back on that)

Overwatch is I think at 60


CS2 is mostly 64 tick from what I understand. The "sub-tick" stuff is timestamping actions that happen on a local frame before the next tick. So in theory the client feels perfectly responsive and the server can adjust for the delta between your frame and the tick.

In practice it seems to have been an implementation nightmare because they've regularly shipped both bugs and fixes for the "sub-tick" system.

The netcode in CS2 is generally much worse than CSGO or other source games. The game transmits way more data for each tick and they disabled snapshot buffering by default. Meaning that way more players are experiencing jank when their network inevitably drops packets.


That's very interesting. The CS2 netcode always felt a little brittle and janky to me, but I could never pin point exactly what was causing the issues. Especially since other games mostly run fine for me.

I also remember reading a few posts about their new subtick system but never put two and two together. Hopefully they keep refining it.


Worth noting that part of the packet size appears to be due to animation data, which they’ve begun the process of transitioning to a more efficient system. [0]

With that being said: totally agree on the netcode.

[0]: https://old.reddit.com/r/GlobalOffensive/comments/1fwgd59/an...


It's actually incredible how CSGO was such a great game and it's been replaced (not deprecated, replaced!) by CS2 which is still inferior over 2 years after the launch.


CS2 while still has some rough edge, i think it's fine. I don't have any complaint with it, and i has been day 1 player.(but just casual)


CS2 is 64 tick under the hood, with interpolation between the ticks. In the beta, server operators could modify the tick rate by patching the server binary, but when that revealed inconsistencies (which was meant to be avoided with the "subtick" system), they hard coded the client side tick rate to 64 [0].

[0]: https://twitter.com/thexpaw/status/1702277004656050220


Apex being 20 explains so much about that game. Half the time I would be firing right on target and watch my shots go thru


Its strange Apex is 20 ticks… it is often as fasr as FPS get. Is it because of number of players at same map that is a lot higher than in other games?


In C++ you probably could even make a templated class that implements all possible operators for any type that supports it with concepts. Then you can just `using kilometer = unique_type<uint32_t, "kilometer">` without needing to create a custom type each time.


Though if you do that km times km isn't km it is a volume - so your custom type would be wrong to have all operations. what unit km times km should be isn't clear.


These libraries already exist. God how people underestimate C++ all the time.

Of course you can use a unit type that handles conversions AND mathematical operations. Feet to meter cubed and you get m³, and the library will throw a compile error if you try to assign it to anything it doesn't work with (liters would be fine, for example)


I know of about 7 different libraries, 5 of them private to my company (of which 4 are not in use). Every one takes a fundamentally different approach to the problem.

> Feet to meter cubed and you get m³, and the library will throw a compile error if you try to assign it to anything it doesn't work with (liters would be fine, for example)

Liters would not be fine if you are using standard floating point values since you lose precision moving decimal points in some cases. Maybe for your application the values are such that this doesn't matter, but without understanding your problem in depth you cannot make the generic statement.

I could write books (I won't but I could) on all the compromises and trade offs in building a unit type library.


As a more general rant - people who have maybe used 5% of the feature set of C++ come along and explain why language X is superior because it has feature Y and Z.

News flash, C++ has every conceivable feature, it's the reason why it is so unwieldy. But you can even plug in a fucking GC if you so desire. Let alone stuff like basic meta programming.


GC was removed from the C++ standard in C++23 because all the compilers were like "hell no" and it was an optional feature so they could get away with not adding it. So this optional feature never actually existed and they removed it in later standards.


The C++ standard has never included a garbage collector. It only provided mechanisms intended to facilitate the implementation of a GC, but they were useless.


There are ways to do GC without language support. They are harder, but have been around in various forms for decades. They have never caught on though.


Do they really? Their types really have no custom constructors and you can use designated initializers for your data? I would really much like to have been underestimating C++, could you show an example of such a library?


Thankfully some folks already thought that out, one possible library,

https://mpusz.github.io/mp-units/latest/


I have seen several versions. I wrote two different ones myself - both not in use because the real world of units turned out far more complex. the multiplication thing is one simple example of the issuses but not a complete list


I guess I should have said `unique_type<uint32_t, "meter", std::ratio<1000, 1>>` then :) Then you can do the same as std::chrono::duration does.


Now write a book on the various tradeoffs from that decision. there is no perfect general answer, some domains have specific needs that are different. Depending on your domain that might be a good choice or it might be terrible


who said `operator*` needs to return the same type as its parameters?


operator* can return exactly one type. You can choose which, but metric offers many possible choices, and with floating point math on computers you will lose precision converting between them in some cases so you need to take care to get the right on for your users - which will not be the same for all users.


One return type, for any given combination of parameter types, not to mention the possibility of templating to manipulate the return type….


See, more trade offs...


honestly, I’m not seeing the problem you’re seeing


C++ really needs something like `using explicit kilometer = uint32_t;`

The 'explicit' would force you to use static_cast


Then `budget_100.csv` comes by and now you need to rename 99 files.


It’s been about two thousand years since the number of months in a year has been increased. I don’t think we’re getting 88 new ones anytime soon.


Sure, but if in this case the number would have only indicated the month you have an issue way earlier than 100 actually, you already have an issue on month 13 when you would go back got 01 and now you are overriding the old one.


Presumably there is a separate directory for every year.


And it's been about 25 years since we had to increase the number of digits for a year.

budget_97.csv, budget_98.csv, budget_99.csv, budget_2000.csv


> It’s been about two thousand years since the number of months in a year has been increased.

What? What are you thinking of? The number of months in a year is always 12 or 13 in any calendar system because they start by reflecting the moon. If you mean the Christian calendar, it was fixed at 12 months to the year well over 2000 years ago. If you mean any calendar, it's probably been more like one year since the number of months in a year has been increased. 12 lunar months falls short of a solar year by about 11 days, so any given lunar calendar will generate an extra month about every three years, and there are lots of different lunar calendars.

(For example, the Chinese calendar occasionally repeats full months in order to keep the month of the year lined up with the season. Whenever this happens, there will be 13 months in the year, of which two share the same name.)


The ancient Romans claimed to have had a 10-month calendar [1], which is what I assume the reference is. Either that, or when month 6 got renamed August in honor of Emperor Augustus

[1] https://en.wikipedia.org/wiki/Roman_calendar#Legendary_10-mo...


> The ancient Romans claimed to have had a 10-month calendar [1], which is what I assume the reference is.

Well, in the first place (as you note), there is no reason to believe that claim - the ancient Romans never made such a claim, but the classical Romans made that claim about the ancient Romans - but more importantly even if it were true the months would have been added many centuries prior to "about two thousand years" ago. Nothing related to additional months happened two thousand years ago.


Given that 09 and 10 refer to months, that wont ever gonna be a problem. And if you want to differentiate them years too, you can prefix with 2025- or put them in a 2025/, 2026/ etc folder.


> does anything actually use this field?

Systemd in a way does. One of the systemd-tmpfiles entry option is to clean up unused files after some time (it ships defaults for /tmp/ after 10 days and /var/tmp/ after 30 days) and for this it checks atime, mtime and ctime to determin if it should delete the file (I think you can also take a flock on the file to prevent it from being deleted as well)


IIRC its technically not killing sideloading, but enforcing a required signature where you need to go through google so that the software can be sideloaded... So they can say that they aren't technically killing sideloading :)


Close enough.


I recently saw an article which was talking about a study thatc concluded that if the Autobahn here in Germany had a speedlimit of 120 Kph we would save a grand total of roughtly 58 lives per year.

German article: https://www.spiegel.de/auto/tempolimit-120-koennte-58-mensch...


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: