Guild icon
DDraceNetwork
Development / developer
Development discussion. Logged to https://ddnet.tw/irclogs/ Connected with DDNet's IRC channel, Matrix room and GitHub repositories — IRC: #ddnet on Quakenet | Matrix: #ddnet-developer:matrix.org GitHub: https://github.com/ddnet
Between 2022-02-17 00:00:00Z and 2022-02-18 00:00:00Z
07:24
i found the bug
07:29
disabling vaapi fixes it
07:29
sad
Avatar
Well, this is unfortunate. It turns out Apple's custom NVMe drives are amazingly fast - if you don't care about data integrity. If you do, they drop down to HDD performance. Thread.
07:43
(this is the spanish reverse engineer guy i mentioned, porting linux to m1)
07:43
monkalaugh
07:43
As it turns out, macOS cheats. On Linux, fsync() will both flush writes to the drive, and ask it to flush its write cache to stable storage.
>
But on macOS, fsync() only flushes writes to the drive. Instead, they provide an F_FULLSYNC operation to do what fsync() does on Linux.
07:44
Macbook Air M1 (macOS): - flushing: 46 IOPS - not: 40000 IOPS
>
x86 iMac + WD SN550 1TB NVMe (Linux): - flushing: 2000 IOPS - not: 20000 IOPS
>
x86 laptop + Samsung SSD 860 EVO 500GB SATA: - flushing: 143 IOPS - not: 5000 IOPS
07:44
monkalaugh
Avatar
я Руслан 2022-02-17 09:18:03Z
@bencie Hey bencie , can you give me your steam profile?
Avatar
[quakenet] deen BOT 2022-02-17 09:20:33Z
fstd: Certificate for paste.pr0.tips expired
Avatar
Avatar
я Руслан
@bencie Hey bencie , can you give me your steam profile?
it's on my discord profile (edited)
09:42
but id/benciee
Avatar
Avatar
bencie
it's on my discord profile (edited)
я Руслан 2022-02-17 10:38:21Z
Okay, thanks, I’ll look now. My nickname is Ruslan (or Руслан)
Avatar
14e5222 Better fix for sqlite3_expanded_sql - def- c8363bc Merge #4719 - bors[bot]
Avatar
Avatar
Ryozuki
As it turns out, macOS cheats. On Linux, fsync() will both flush writes to the drive, and ask it to flush its write cache to stable storage.
>
But on macOS, fsync() only flushes writes to the drive. Instead, they provide an F_FULLSYNC operation to do what fsync() does on Linux.
so not surprised, changing the definition to score better on tests is what profit driven entities do best
Avatar
It's not exactly news though: https://github.com/etcd-io/etcd/issues/5029
I was talking with Mikeal Rogers who used to work on couchdb and one thing he learned is that sync on OSX lies and that you need to use F_FULLSYNC instead: https://developer.apple.com/library/mac/d...
11:34
otherwise why would they have F_FULLSYNC if fsync already did that
Avatar
chillerdragon BOT 2022-02-17 11:35:20Z
How do you know? Do you use it? (<@749222324980416602_=5bquakenet=5d=20deen>)
fstd: Certificate for paste.pr0.tips expired
Avatar
even the manpage of fsync says so:
Note that while fsync() will flush all data from the host to the drive (i.e. the "permanent storage device"), the drive itself may not physically write the data to the platters for quite some time and it may be written in an out-of-order sequence.
11:37
Specifically, if the drive loses power or the OS crashes, the application may find that only some or none of their data was written. The disk drive may also re-order the data so that later writes may be present, while earlier writes are not.
>
This is not a theoretical edge case. This scenario is easily reproduced with real world workloads and drive power failures.
>
For applications that require tighter guarantees about the integrity of their data, Mac OS X provides the F_FULLFSYNC fcntl. The F_FULLFSYNC fcntl asks the drive to flush all buffered data to permanent storage. Applications, such as databases, that require a strict ordering of writes should use F_FULLFSYNC to ensure that their data is written in the order they expect. Please see fcntl(2) for more detail.
Avatar
Well the news is that fsync on macOS doesn't satisfy atleast the POSIX rationale and when you do use the provided equivalent you end up with performance far below what is expected of an nvme ssd
Avatar
But still thanks @Ryozuki for bringing this up, something I can use for my job 😄
Avatar
the question is, did apple advertise their speed? ofc they pick the best case 😄
11:45
but i can also use a RAM fs and claim it to be faster than any other fs xD
Avatar
when nearly no software does F_FULLSYNC, then you won't notice any problems in benchmarks
Avatar
but a good example on why we need well written intuitive standards
11:47
bcs what programmer would think about this while not reading the manpage for all OS 😄
Avatar
I would read the POSIX manpage and learn that "The fsync() function is intended to force a physical write of data from the buffer cache, and to assure that after a system crash or other failure that all data up to the time of the fsync() call is recorded on the disk."
Avatar
I wanted to make a small contribution to SQLite, but first you have to sign an affidavit and send it by letter to the U.S. Sounds a bit annoying for a small comment fix 😄
Avatar
Avatar
deen
I wanted to make a small contribution to SQLite, but first you have to sign an affidavit and send it by letter to the U.S. Sounds a bit annoying for a small comment fix 😄
lolwat?
Avatar
https://www.sqlite.org/copyright.html
SQLite is open-source, meaning that you can make as many copies of it as you want and do whatever you want with those copies, without limitation. But SQLite is not open-contribution. In order to keep SQLite in the public domain and ensure that the code does not become contaminated with proprietary or licensed content, the project does not accept patches from people who have not submitted an affidavit dedicating their contribution into the public domain.
12:07
An older version of that page had "Only 27 individuals have ever contributed any code to SQLite, and of those only 16 still have traces in the latest release."
12:11
(Yugabyte also requires such a Contributor License Agreement, but you can just do it online in a few seconds, funnily enough with a service by SAP: https://cla-assistant.io/)
Avatar
And some large projects ran into huge trouble by not having a CLA when they wanted to relicense: https://blog.llvm.org/posts/2021-11-18-relicensing-update/ LLVM has to reach every single contributor to get approval from them
In this blog post, I’d like to summarize the main points I talked about in the relicensing update presentation at the 2021 LLVM Developer’s meeting. The very short summary is that we are currently in the long tail phase of collecting relicensing agreements of past contributors.
Avatar
Avatar
chillerdragon
How do you know? Do you use it? (<@749222324980416602_=5bquakenet=5d=20deen>)
We use it for the discord bot: https://github.com/ddnet/ddnet-discordbot
Contribute to ddnet/ddnet-discordbot development by creating an account on GitHub.
12:19
so our moderators are not happy when it fails 😄
12:20
but it's run by Learath2 anyway, so ping was useless
Avatar
People in #bugs report this on Windows, I can't reproduce in Wine.
Avatar
я Руслан 2022-02-17 13:03:25Z
@bencie I'm sorry, but how can I create my own models? (Hooks, skins)
Avatar
well, creating your own is way harder than editing one, but you can draw your own models onto a template, and then delete the template at the end so only your visuals remain. https://skins.tw/gridTemplates
Download and share many Teeworlds grid templates. Create your own teeworlds assets with these templates. Templates show you the positioning and borders, which you have to consider so that they are compatible with teeworlds
Avatar
Avatar
bencie
well, creating your own is way harder than editing one, but you can draw your own models onto a template, and then delete the template at the end so only your visuals remain. https://skins.tw/gridTemplates
я Руслан 2022-02-17 13:44:54Z
Sorry for taking so long to reply, got out of the house. I'm reading it now, thank you, thank you!
peepoLove 1
13:45
heartw
Avatar
055c739 Update ddnet-setup.sh - def- a46d11e Add steam images - def-
15:37
Avatar
[quakenet] breton BOT 2022-02-17 16:43:56Z
hi! How can we get infclass maps hosted on maps2.ddnet.tw?
16:48
it would actually be nice to allow the servers communicate the full url to the map
Avatar
Hi breton. Yes, would be nice. So we used to scan servers for all maps and used to host them
17:27
But Teeworlds servers used short hashes which were easy to cause collisions
17:27
and people abused this, so we stopped. Since then only the official DDNet maps are available there.
justatest 2
Avatar
@Jupstar ✪ tomorrow ill install the gpu
17:29
i noticed i can enable amd SAM
17:30
and i have a pcie 4.0 motherboard
17:30
PepeA
Avatar
Crash on CHN8, log is already deleted: `` Core was generated by ./DDRace64-Server_sql -f servers/8321.cfg'. Program terminated with signal SIGILL, Illegal instruction. #0 dbg_break () at /home/teeworlds/src/master/src/base/system.cpp:168 168 /home/teeworlds/src/master/src/base/system.cpp: No such file or directory. --Type for more, q to quit, c to continue without paging-- [Current thread is 1 (Thread 0x7f15b1137b80 (LWP 2691))] (gdb) bt #0 dbg_break () at /home/teeworlds/src/ma...
Avatar
Avatar
Ryozuki
@Jupstar ✪ tomorrow ill install the gpu
you are so patient xd
Avatar
Avatar
Jupstar ✪
you are so patient xd
well i needed a new monitor xd
17:45
cuz my 144hz monitor doesnt have display port
17:45
its from 2015
17:46
i coudl use hdmi but its locked to 60hz
17:47
and i cant bear it
17:47
BASED
Avatar
what will your new monitor have, 360hz? xd
Avatar
nah 144hz xd
Avatar
@def- i think while you added a proper super prediction (which would have been better possible with DDNetCharacter::m_Super) you forgot to not set TEAM_SUPER players into team 64, lol. Why didnt you update your commit using the DDNetCharacter's m_Super, then there would also not be any issue with team highlighting, since I said that before on Discord.
Avatar
No idea what happened with the other commit

Checklist

  • [ ] Tested the change ingame
  • [ ] Provided screenshots if it is a visual change
  • [ ] Tested in combination with possibly related configuration options
  • [ ] Written a unit test if it works standalone, system.c especially
  • [ ] Considered possible null pointers and out of bounds array indexing
  • [ ] Changed no physics that affect existing maps
  • [ ] Tested the change with [ASan+UBSan or valgrind's memcheck](https://github...
20:18
this website looks like it has rly good resources to learn
20:19
looking at this i already discovered something new
20:20
20:20
constexpr double pow(double x, long long n) noexcept { if (n > 0) [[likely]] return x * pow(x, n - 1); else [[unlikely]] return 1; }
20:20
enhanced pow poggers
Avatar
ᶰ°Konͧsti 2022-02-17 21:22:23Z
Why are teleports and switches etc still limited to 255? I think we start getting maps that will blow up those limits
Avatar
Cellegen RiH BOT 2022-02-17 21:22:29Z
testing 👀
Avatar
Cellegen | HU 2022-02-17 21:22:36Z
nice it works
21:22
think_bot
Avatar
Avatar
Ryozuki
Click to see attachment 🖼️
Probably [[fallthrough]] is more useful than [[likely]] . Nowadays CPUs have pretty evolved branch prediction units
Avatar
this is c++ 20 though
21:54
and programmers are known to not know how their own program behaves, so i wouldn't abuse it
Avatar
did something get changed or am i tripping? game feels so much smoother for me for some reason
Avatar
ᶰ°Konͧsti 2022-02-17 22:28:16Z
heinrich asleep pepe
Avatar
instead of showing the number 64 Alternative to https://github.com/ddnet/ddnet/pull/4725

Checklist

  • [ ] Tested the change ingame
  • [ ] Provided screenshots if it is a visual change
  • [ ] Tested in combination with possibly related configuration options
  • [ ] Written a unit test if it works standalone, system.c especially
  • [ ] Considered possible null pointers and out of bounds array indexing
  • [ ] Changed no physics that affect existing maps
  • [ ] Tested the change wit...
Avatar
Not sure I like it, otherwise we have to edit Game City. Maybe we should fail this in map editor already instead of allowing to create a map which requires > MAX_IDS

Checklist

  • [x] Tested the change ingame
  • [ ] Provided screenshots if it is a visual change
  • [ ] Tested in combination with possibly related configuration options
  • [ ] Written a unit test if it works standalone, system.c especially
  • [ ] Considered possible null pointers and out of bounds array indexing
-...
Avatar
Thanks to Cellegen for graphics. Functionality works, still a bit buggy sprite display (see screenshot), maybe someone can quickly spot what I'm doing wrong

Checklist

  • [x] Tested the change ingame
  • [x] Provided screenshots if it is a visual change
  • [ ] Tested in combination with possibly related configuration options
  • [ ] Written a unit test if it works standalone, system.c especially
  • [ ] Considered possible null pointers and out of bounds array indexing
  • [ ] Chan...
feelsamazingman 1
heartw 1
deen 1
Exported 92 message(s)