00:01 < bridge_> phew, review time ended 00:51 < bridge_> <0xdeen> @jupeyy_keks FYI: https://github.com/libsdl-org/SDL/pull/9312 02:47 < ws-client> any C++ developer awake i need brain 02:50 < ws-client> I have a bunch of things i want to point to so I created a reference variable and reassign it but somehow it creates weird buggos 02:50 < ws-client> pointer seems to work. I thought reference and pointer is the same 02:52 < bridge_> reference is like another name for a variable 02:53 < bridge_> It behaves the same as the original one 02:54 < ws-client> yea but can i not use a reference do stuff with it and then reassign it to another value and do stuff with it again? 02:55 < ws-client> https://gist.github.com/ChillerDragon/d6c50a5680c818d3644525a487117413 this diff introduced a bug 02:55 < ws-client> eh fixed a bug* 03:01 < bridge_> :boo: 03:02 < ws-client> i just went with my old friend the pointer. fuck references. Still curious what happend tho 03:04 < bridge_> ''' 03:04 < bridge_> - if(pEditor->DoButton_Ex(&s_ButtonOff, Action.LabelShort(), Action.Active(), &Off, 0, Action.Description(), IGraphics::CORNER_L)) 03:04 < bridge_> + if(pEditor->DoButton_Ex(&s_ButtonOff, pEditor->m_QuickActionShowInfoOff.LabelShort(), pEditor->m_QuickActionShowInfoOff.Active(), &Off, 0, pEditor->m_QuickActionShowInfoOff.Description(), IGraph> 03:04 < bridge_> ''' 03:04 < bridge_> IGraphics::CORNER_L)) -> IGraph> 03:05 < bridge_> I don't quite get it 03:08 < bridge_> Reference differs from pointer in that they're constant 03:09 < bridge_> Kind of like const char* 03:09 < bridge_> So you cannot reassign to it 03:16 < bridge_> Kind of like char* const 03:28 < bridge_> Reference and pointer being the same? Huuuh 03:35 < bridge_> could i do http get request to `https://ddnet.org/players/?json2=` or `https://ddnet.org/maps/?json=` to add a feature, or would that be too heavy on the server if everyone did it, even just once 03:36 < bridge_> right now i see it does call to `https://info.ddnet.org/info?name=` but it doesnt have all info i would need 03:36 < bridge_> You can freely fetch from the json endpoint, the server shouldn't allow you to bombard them with requests anyway 03:37 < bridge_> If you want database data I recommend using ddstats json endpoint https://ddstats.tw 03:37 < bridge_> Furo structured it a little nicer IMHO :kek: 03:37 < bridge_> i mean to add the call to the ddnet client for a new feature 03:38 < bridge_> not for myself 03:38 < bridge_> Hi, can you answer one question about the mobile version of ddnet? 03:38 < bridge_> Stormax did that - yes it's fine to do si 03:38 < bridge_> Me and Stormax did that - yes it's fine to do so 03:38 < bridge_> do you remember where is it in code 03:39 < bridge_> Just use ddnets json.h to build a json parser 03:40 < bridge_> Client/components iirc 03:41 < bridge_> Just use ddnets json.h 03:42 < bridge_> So, I want to install the gunpack on the mobile version, is it possible to do this without using files, I don’t have access to them now 03:44 < bridge_> Just use ddnets http.h 03:44 < bridge_> I'm afraid not - you need to be able to access your file directory to replace the gameskin 03:46 < bridge_> OK, thank you 03:47 < bridge_> only call i can find is to https://info.ddnet.org/info so wanted to ask if its a good practice for a feature and it wont slow down the website or smth 03:47 < bridge_> only call i can find is to https://info.ddnet.org/info so wanted to ask if its a good practice for a feature pr and it wont slow down the website or smth 03:48 < bridge_> depends on the planned feature, if it's something like a stats display you wouldn't want to fetch it from the json endpoint but the db itself 03:49 < bridge_> map stars/points, player points 03:50 < bridge_> Yeah grab those from the db - the Json endpoint isn't updated in real time 03:50 < bridge_> I think it was something between 2-5hours 03:51 < bridge_> See scoreworker.cpp if you want to know how it's done 03:54 < bridge_> its server only, so i cant get these stats in serverbrowser 03:54 < bridge_> not updated real time is fine its just for map info 03:55 < bridge_> Oh now I see what you want to do - hmm 03:55 < bridge_> ChillerDragon: what you did with the reference was setting pEditor->m_QuickActionShowInfoOff := pEditor->m_QuickActionShowInfoDec and then setting pEditor->m_QuickActionShowInfoOff := pEditor->m_QuickActionShowInfoHex 03:55 < bridge_> Couldn't you grab this within the initial fetch the client does ? 03:56 < bridge_> it doesnt have much info 03:57 < bridge_> (e.g you can change a pointer to point somewhere else but you can't change a reference to reference something else) 03:57 < bridge_> a reference isnt a reference like a pointer is but it is aliasing that object by a new name 03:57 < bridge_> yes 03:57 < bridge_> Add more to it! - tbh I'm not to sure how you could do this the best way 03:58 < bridge_> Its best to open an issue for this so the maintainers can check 03:58 < bridge_> Best to discuss something on GitHub before doing it and it getting declined 03:58 < bridge_> alr ty 04:00 < bridge_> Also pointers can be null and point to nothing and references need to be referencing something valid and can't be null. Also references don't need to be dereferenced 04:00 < bridge_> How can you think they're the same chiller :pepe_ew92: 04:01 < bridge_> also i find the syntax a little bit cursed because it implies the reference is being assigned a value when really it is aliasing something until it ceases to exist 04:01 < bridge_> also passing objects into functions that take references hides that they may change your object because you may assume pass-by-value 04:02 < bridge_> Yeah it's weird 04:02 < bridge_> also i find the syntax a little bit cursed because it implies the reference is being assigned a value at declaration when really it is aliasing something until it ceases to exist 04:21 < ws-client> ah so you cant reuse references for different things 04:23 < ws-client> @meloƞ i did know about the non null thing thats why i sometimes try to use them because they seem safer. But i thought i can reference different things by reassigning it. 05:28 < ws-client> @heinrich5991 are you planning to ever unblock #7777 or do you want to stale me to death -.- There are some prs pending since a while that I am actively waiting for. 05:28 < ws-client> For example https://github.com/ddnet/ddnet/pull/7631 would be cool to use in my downstream projects 07:07 < bridge_> Morning 08:01 < ws-client> normin 0.7 enjoyers and others 10:57 < bridge_> denied 11:08 < bridge_> not a full diff? 11:42 < bridge_> no extra sausage for you. Arguably those clients have way more custom skins in common (I'd guess) of which none are 0.7 official skins. 12:10 < ws-client> Yea greyfox would also be another classic candidate. I just dont really care about other skins. If you need another one go pr :p 12:50 < bridge_> wtf chiller 12:50 < bridge_> why is dead more important than score 12:50 < bridge_> what mods do u play where this is the case 12:51 < bridge_> constant scoreboard changes/flickering sound annoying 12:55 < ws-client> @Jupstar ✪ you only get marked as dead when you can not respawn those is for the last man standing modes there is no flickering 12:55 < bridge_> yeah but i had zcatch in mind 12:55 < ws-client> you want to see who is still alive in that case 12:55 < bridge_> score is more important 12:56 < bridge_> so it's simply a flag? 12:56 < ws-client> yes in zcatch 0.6 players go to spectators and in proper 0.7 zCatch they stay in the main scoreboard as dead players 12:56 < bridge_> mh ok 12:56 < bridge_> 0.7 not designed to end again :lol: 12:57 < ws-client> the deadspec mode in 0.7 is pretty cool actually for stuff like zCatch to differentiate between spectators and dead players. 12:57 < bridge_> yea 12:57 < ws-client> One of the few things thats actually better in 0.7 lol 12:57 < bridge_> but that it changes the scoreboard order is kinda annoying 12:57 < ws-client> is it? 12:57 < bridge_> yes 12:58 < ws-client> have you played 0.7 zCatch? 12:58 < ws-client> because i have 12:58 < bridge_> if someone in zcatch has 998 points and is dead 12:58 < bridge_> 12:58 < bridge_> he should still be on top 12:58 < bridge_> and not somewhere on the bottom 12:58 < ws-client> he is top of dead 12:58 < bridge_> and if he is the only dead? 12:58 < ws-client> but not relevant right now because you want to see how many more tees you need to kill 12:58 < bridge_> that is highlighted differently already 12:58 < bridge_> e.g. less opacity 12:58 < bridge_> or other colors 12:58 < ws-client> yea but harder to count 12:59 < bridge_> jajaaj 12:59 < ws-client> isso misso 12:59 < bridge_> our brain doesnt work like that 12:59 < bridge_> we never count 12:59 < ws-client> go play some jigsaw catch and lemme know how you like it 12:59 < bridge_> alone or what? 13:00 < ws-client> rude 13:00 < bridge_> sry 13:00 < ws-client> jiggsel had prime 0.7 zCatch servers i did lots of gaming there in 2020 13:00 < bridge_> zcatch laser was nice. but sadly 8 years ago 13:00 < ws-client> laser cring 13:00 < bridge_> skillz 13:00 < ws-client> dude i have the most op laser gameplay patch ever 13:01 < ws-client> found it in some random mode that was online for a week 13:01 < ws-client> REFILL ammo on hit 13:01 < ws-client> its insanely good of instagib laser 13:01 < ws-client> for* 13:01 < bridge_> like instant refill? 13:01 < bridge_> https://youtu.be/jFrGhodqC08 13:01 < ws-client> YES! 13:01 < bridge_> that was discussed on fng many times 13:01 < bridge_> would be way too op xD 13:01 < ws-client> no 13:01 < ws-client> you need to hit 13:01 < bridge_> 100% 13:02 < ws-client> 1 miss and you go back to reload timer 13:02 < bridge_> yeah but hitting the noobs is too ez xxD 13:02 < ws-client> yay lerato poggies cloud bashing 13:02 < ws-client> @Jupstar ✪ skill issue for them then 13:03 < bridge_> rude 13:03 < ws-client> as of right now instagib laser has a skill cap in 1v10 fights 13:03 < bridge_> lmao 13:03 < bridge_> true 13:03 < ws-client> with grenade you can cover your self in an aura of spray nades and ez 1v100 13:03 < bridge_> I’m feeling the urge to try nix from watching that video 13:03 < ws-client> same in vanilla 13:03 < ws-client> but laser has slow as reload timer and can only hit one tee at a time 13:04 < ws-client> its basically turn based game and every turn kills but if you are alone vs many they turn 10 times while you turn 1 time. So its game over either way. 13:04 < ws-client> 1v1 or fair fights are boring 13:07 < bridge_> independent of cloud. we re-invent the wheel so often. 13:07 < bridge_> 13:07 < ws-client> @Jupstar ✪ this is what fng could be like https://www.youtube.com/watch?v=upwyWKzozII&t=107s 13:07 < bridge_> And i am part of that problem 😬 13:07 < bridge_> since i am ip man, it is already like that for me 13:07 < bridge_> Reinventing the wheel is cheaper than 1.16 million per year on aws 13:09 < ws-client> @Jupstar ✪ not the timestamp i sent where he fires at multiple at the same time. You can only do the slow start where they line up one by one. 13:09 < bridge_> he also dodges some hits before attacking 13:09 < bridge_> no difference to ultra instinct me 13:10 < ws-client> ye thats another issue with laser 13:10 < ws-client> you cant dodge 13:10 < ws-client> grenades you can dodge if you have multiple enemies 13:10 < bridge_> *you* cant 13:10 < bridge_> xd 13:10 < ws-client> ._. 13:11 < bridge_> you just need the correct OST 13:11 < bridge_> https://www.youtube.com/watch?v=Upsm3E2NUI8 13:11 < bridge_> here i help you 13:25 < bridge_> i am glad that ddpg solves the sorting issue 13:25 < bridge_> the superior game 13:26 < bridge_> in 20years 13:27 < bridge_> :justatest: 13:52 < bridge_> 4 months 14:09 < bridge_> actually even less now, i get back to work 14:09 < bridge_> it's 1st sep already 14:09 < bridge_> 😭 14:10 < bridge_> :KEKW: i can write you some boilerplate if you need :gigachad: 14:12 < bridge_> write the launcher 😘 14:15 < bridge_> use my go launcher 😘 14:17 < bridge_> A 14:17 < bridge_> B 14:22 < bridge_> B 14:22 < bridge_> A 14:22 < bridge_> https://tenor.com/view/abba-dancing-queen-see-that-girl-watch-that-scene-diggin-the-dancing-queen-gif-17906227 15:17 < bridge_> https://github.com/ddnet/ddnet/blob/d9b031c8877adc9f738891d2c42e67d28fcdd77c/src/game/server/gamecontext.cpp#L2089-L2099 what does this do? 15:41 < bridge_> hardcoded chillerbot check 15:41 < bridge_> :troll: 15:43 < bridge_> ⚠️ IMPORTANT DEVELOPER ANNOUNCEMENT ⚠️ 15:43 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1279798697546223710/geometry_dash_sad_backstory.png?ex=66d5c0eb&is=66d46f6b&hm=d232d358bfc4b9a4875491197c6ae182d1de058d8b0da95bb6649e4e41b837ea& 16:04 < bridge_> Its a hard coded response by chillers bot to verify it's actually chiller iirc 17:36 < bridge_> Consumes an abnormal amount of battery 17:36 < bridge_> Or is it just me? 17:37 < bridge_> Try limiting the client refresh rate in the general settings 18:22 < bridge_> пр 18:32 < bridge_> How can I download ddnet to my phone? 18:34 < bridge_> this is dev chat not #questions. please remember that next time. 18:34 < bridge_> 18:34 < bridge_> 18:34 < bridge_> Here you can find latest android news: 18:34 < bridge_> https://discord.com/channels/252358080522747904/1277345584080097320 18:34 < bridge_> iphone is not supported 18:35 < bridge_> it's a pity 18:36 < bridge_> maybe set vsync on default on android? 18:36 < bridge_> i think that also was the case back in the days 18:36 < bridge_> tho vsync sucks xd 19:44 < bridge_> russians evolved into another level, I see 19:45 < bridge_> russians moved to another level, I see 20:16 < bridge_> Can I ask you a question? 20:16 < bridge_> you can ask many #questions 20:17 < bridge_> can I ask if I can ask a question? 20:17 < bridge_> you can ask me anything honey 20:17 < bridge_> sus 20:18 < bridge_> Okay 20:18 < bridge_> im thinking about adding fixed point numbers to my lang xd 20:18 < bridge_> aimazing 20:18 < bridge_> but before that methods for structs 20:21 < bridge_> Let's see what you come up with. Very rare language feature 20:22 < bridge_> i won't add floats, and everyone will be forced to use fixed point numbers, then this feature won't be that rare :santatrollet: 20:24 < bridge_> do you like that c can upcast number types(for example that you can assign variable to type `char` to `int`) or you prefer rust way, binary expression can be performed only on operands of the same type? 20:26 < bridge_> I like the "usual arithmetic conversions" and "integer promotions" 20:26 < bridge_> But I'm an old person 20:27 < bridge_> learath may i ask your age range in hexadecimal 20:27 < bridge_> I'm simultaneously many different ages 20:28 < bridge_> But I'm mostly 0x50 and 0x0D 20:28 < bridge_> But I'm mostly 0x50 and 0x12 20:29 < bridge_> So you like this program to be valid 20:29 < bridge_> ```c 20:29 < bridge_> char foo; 20:29 < bridge_> int bar = foo + 0x45; 20:29 < bridge_> ``` 20:29 < bridge_> So you would like this program to be valid 20:29 < bridge_> ```c 20:29 < bridge_> char foo; 20:29 < bridge_> int bar = foo + 0x45; 20:29 < bridge_> ``` 20:30 < bridge_> Yes. But I'm also very used to it. Perhaps it's better if there has to be explicit casts 20:31 < bridge_> Probably easier to program too 20:34 < bridge_> My official age is 0x1A though 20:34 < bridge_> smash 20:35 < bridge_> I'm sorry I don't have the 🌈 dlc. You'll have to find someone else to smash 20:35 < bridge_> i might be a woman. 20:36 < bridge_> You are not for it'd be paradoxical. If you were a women you'd hate me 20:36 < bridge_> damn... 20:36 < bridge_> sad 20:36 < bridge_> still waiting for approval so i can visit italy 20:38 < bridge_> Pull up. I can buy you some very mediocre Italian beer and we can talk about the merits of C 20:39 < bridge_> damn i need to learn C 20:42 < bridge_> We can also talk about how cool Linus Torvalds and Linux is 20:42 < bridge_> with that i agree 20:42 < bridge_> :nervous: 20:42 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1279874148524359782/image.png?ex=66d6072f&is=66d4b5af&hm=3945e3c835ba876418062d66cf9e32476426741874a10ca21f2bec56dddc8cce& 20:43 < bridge_> Ok, you can buy your own beer 20:43 < bridge_> :OHNOOOO: 20:43 < bridge_> i'll bring bavarian beer 20:43 < bridge_> or did you plan on going to a pub 20:44 < bridge_> I was thinking of pub, but we can sit on a sidewalk too if that's more your vibe 20:44 < bridge_> :kek: - i'm down for whatever 20:45 < bridge_> god forbid you comment at the end of a line or have more than 3 tabs of indentation 20:45 < bridge_> why on gods earth would you need more than 3 tabs of indentation :angy: 20:45 < bridge_> (i use single space indentation) 20:46 < bridge_> You are no longer invited 20:46 < bridge_> 20:47 < bridge_> ```c 20:47 < bridge_> if (a > b) 20:47 < bridge_> return 0; 20:47 < bridge_> return 1; 20:47 < bridge_> ```c 20:47 < bridge_> if (a > b) 20:47 < bridge_> return 0; 20:47 < bridge_> return 1; 20:47 < bridge_> ``` 20:47 < bridge_> int main() { std::cout << "Hello, World!" << std::endl; return 0; } 20:47 < bridge_> `int main() { std::cout << "Hello, World!" << std::endl; return 0; }` 20:48 < bridge_> Go to jail, do not pass go 20:49 < bridge_> torvald's response: https://lkml.org/lkml/2012/12/23/75 20:50 < bridge_> yeah fuck Mauro fr 20:55 < bridge_> <.kurosio> hello, motd shifts text width when using custom fonts, right? DDNet support custom fonts? 21:04 < bridge_> gay couples and implicit math casts? #developer goes brr 21:04 < bridge_> ye 21:05 < bridge_> you have no way to calculate it on server side, only for default dejavusans 21:09 < bridge_> <.kurosio> it's too much work to implement freetype or something to recognize Width size from DejaVuSans font (in fact, I do not need to recognize it and I found a way out of the situation, the only thing that custom fonts can break the system) 21:10 < bridge_> <.kurosio> For some reason i couldn't find a font change on the ddnet 21:11 < bridge_> its done manually kekw 21:12 < bridge_> <.kurosio> oh lol 21:12 < bridge_> i have custom font on my setup rn, missing a lot of symbols, but it works :troll: 21:17 < bridge_> <.kurosio> do players use custom fonts a lot? (i don't know because not exist as a player in the teeworlds community) :kek: 21:17 < bridge_> custom fonts are always annoying, since it makes it harder to design UI 21:17 < bridge_> i doubt that is a very common thing generally 21:49 < bridge_> I do 21:49 < bridge_> It's pretty common 21:54 < bridge_> <01000111g> they use cactus with minecraft font 22:00 < bridge_> for example? 22:06 < bridge_> xd 22:06 < bridge_> me? idk 22:06 < bridge_> I've seen it in 4-5 other screenshots/vids on this server 22:07 < bridge_> ah i meant it more generally 22:07 < bridge_> it's not very common u can change fonts in games 22:07 < bridge_> or webapps 22:07 < bridge_> or whatever 22:09 < bridge_> uhh... u can change fonts OS-wide and apps are supposed to respect it 22:09 < bridge_> since ddnet doesn't having a custom font mechanism is the least it can do 22:09 < bridge_> even if it's a pain in the ass 22:33 < bridge_> watafak 22:33 < bridge_> ```__memcpy_avx_unaligned_erms () at ../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:265 22:33 < bridge_> 265 VMOVU (%rsi), %VMM(0)``` 22:34 < bridge_> on ddnet 18.4 22:34 < bridge_> where 22:34 < bridge_> wdym where 22:34 < bridge_> bt 22:34 < bridge_> ah 22:34 < bridge_> opengl backend... 22:34 < bridge_> crazy 22:34 < bridge_> ```#0 __memcpy_avx_unaligned_erms () at ../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:265 22:34 < bridge_> #1 0x00007fff9d8ba861 in memcpy () at /usr/include/bits/string_fortified.h:29 22:34 < bridge_> #2 _mesa_glthread_upload () at ../mesa-24.2.1/src/mesa/main/glthread_bufferobj.c:149 22:34 < bridge_> #3 0x00007fff9db1bf2d in upload_vertices () at ../mesa-24.2.1/src/mesa/main/glthread_draw.c:264 22:34 < bridge_> #4 draw_arrays () at ../mesa-24.2.1/src/mesa/main/glthread_draw.c:447 22:34 < bridge_> #5 _mesa_marshal_DrawArrays () at ../mesa-24.2.1/src/mesa/main/glthread_draw.c:1677 22:34 < bridge_> #6 0x000055555573dab9 in CCommandProcessorFragment_OpenGL2::Cmd_RenderTileLayer(CCommandBuffer::SCommand_RenderTileLayer const*) () 22:34 < bridge_> #7 0x000055555573f859 in CCommandProcessorFragment_OpenGL::RunCommand(CCommandBuffer::SCommand const*) () 22:34 < bridge_> #8 0x0000555555793316 in CCommandProcessor_SDL_GL::RunBuffer(CCommandBuffer*) () 22:34 < bridge_> #9 0x000055555578e976 in CGraphicsBackend_Threaded::ThreadFunc(void*) () 22:34 < bridge_> #10 0x0000555555719157 in thread_run(void*) () 22:35 < bridge_> #11 0x00007ffff37b439d in start_thread (arg=) at pthread_create.c:447 22:35 < bridge_> #12 0x00007ffff383949c in __GI___clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78``` 22:36 < bridge_> tja 22:36 < bridge_> why do you use opengl 2 tho? 22:36 < bridge_> looks fun to debug 22:36 < bridge_> i didn't even choose 22:36 < bridge_> vulkanh 22:36 < bridge_> what 22:36 < bridge_> u have new laptop 22:36 < bridge_> i didn't even choose it 22:36 < bridge_> it has vulkan, opengl3.3 22:36 < bridge_> everything 22:37 < bridge_> it resets gfx backend option if init for one fails 22:39 < bridge_> if u want to debug, show why the driver things we want to copy unaligned memory 22:39 < bridge_> if u want to debug, show why the driver thinks we want to copy unaligned memory 22:39 < bridge_> i didn't even choose it xd 22:39 < bridge_> it set to opengl 3.0.0 22:39 < bridge_> wdym 22:39 < bridge_> i want to know which alignment it wants 22:39 < bridge_> and why we break it 22:39 < bridge_> __memcpy_avx_unaligned_erms 22:41 < bridge_> ya 22:42 < bridge_> but be prepared to get depressed 22:43 < bridge_> how? 22:44 < bridge_> i think 9 times out of 10 this is just memory corruption 22:45 < bridge_> w/e the src ptr passed to the avx memcpy was fukd 22:45 < bridge_> i dunno, compile mesa with debug symbols? xd 22:46 < bridge_> uninitialized data 22:46 < bridge_> maybe 22:46 < bridge_> ig usan checks within ddnet code 22:46 < bridge_> ig ubsan checks within ddnet code 22:59 < bridge_> I'm such a gamer :KEKW: 22:59 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1279908553477324890/Screenshot_20240901-225908.png?ex=66d6273a&is=66d4d5ba&hm=c98d8ddda909605a9ef26a4010c2c297cf91aede9c4b8872956d32d957649147& 23:15 < bridge_> so like is it possible to make the tab function based off of the player closest to you rather than whatever random order its in 23:15 < bridge_> i think it would be more useful than just pressing tab till you find that one player whose name you can't type out 23:17 < bridge_> i assume u mean in chat 23:17 < bridge_> u can press SHIFT + TAB to reverse the order of the function 23:17 < bridge_> then u find the players with unicode chars first 23:34 < bridge_> you'll need to rebind the steam overlay if you play over steam tho 23:42 < bridge_> possible, but i think that would be too confusing if they autocompleted in seemingly random way instead of alphabetically 23:43 < bridge_> if it's a name that i can't type out in the first place it's not really going to help me however the algorithm determines it to be alphabetical 23:43 < bridge_> not like i'd know how the russian alphabet arranges itself that kind of thing