00:12 <+bridge> [ddnet] i still can't get the main idea of clouds, like are they really needed for every web app 00:22 <+bridge> [ddnet] https://github.com/Learath2/ddnet/commit/9770f1d39510036e7bbbec2c0607113282539a3c is this really better than the unordered_map? 00:28 <+bridge> [ddnet] It'd look better with `boost::intrusive::list`, but still :/ 01:06 <+bridge> [ddnet] what's wrong with unordered_map? 01:07 <+bridge> [ddnet] it has better performance than list in general 01:09 <+bridge> [ddnet] Well, this way it's guaranteed O(1) instead of on average O(1) 01:10 <+bridge> [ddnet] Technically with how small our unordered_map is, it's very unlikely to not be O(1) 04:23 <+bridge> [ddnet] I think the discord developers left some debug code in production, if you type "true" or "false" into the search bar it seems to do some mysterious search query 08:36 <+bridge> [ddnet] I'll help 10 people on how to earn $20,000 within 72 hours but you will pay me 10% of your profit when you receive it. 08:36 <+bridge> [ddnet] Note\: only interested people should apply, drop a message let's get started join the chat room by clicking link 08:36 <+bridge> [ddnet] 👇👇👇👇👇👇👇👇 https://t.me/+TGide6vQ554mNgRY 10:47 <+bridge> [ddnet] @Learath2 I did it 10:47 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/974593724153733141/unknown.png 11:26 <+bridge> [ddnet] Now backport it to teeworlds ❤️ 11:27 <+bridge> [ddnet] :justatest: 11:27 <+bridge> [ddnet] I have some question about the licensing. I see no License notice on https://github.com/ddnet/ddnet-maps, does that mean all maps are copyright by default? also, what is the license for the default image assets and teeworlds / ddnet code? 11:28 <+bridge> [ddnet] Default assets are all CC-BY-SA 11:29 <+bridge> [ddnet] https://raw.githubusercontent.com/ddnet/ddnet/master/license.txt 11:29 <+bridge> [ddnet] The maps except for a handful are all rights reserved by their authors 11:30 <+bridge> [ddnet] Since the mapres are just in the wild with most of their authors long gone, it's really hard to get all maps to be CC-BY-SA now :/ 11:31 <+bridge> [ddnet] define "gone" 11:31 <+bridge> [ddnet] not reachable 11:31 <+bridge> [ddnet] Best case: Doesn't play ddnet anymore but we can identify and email them 11:31 <+bridge> [ddnet] Worst case: Unknown author 11:31 <+bridge> [ddnet] ~~or dead~~ 11:31 <+bridge> [ddnet] or dead 11:33 <+bridge> [ddnet] OK thanks. So if I understand correctly I technically cant distribute a map from ddnet-maps on an open-source repo, but in practice it's fine to do so? 11:34 <+bridge> [ddnet] Maps in data/maps are all CC-BY-SA, for the rest of the maps you need to check their header for their license and 99% of them don't have any license at all 11:35 <+bridge> [ddnet] I am not a lawyer, but I think there was some verbal agreement at least between us and the map authors that their maps would be public. I doubt that also extends to secondary parties, so I guess legally you probably can't distribute them 11:36 <+bridge> [ddnet] I doubt anyone would actually sue you over it. I'm not even sure if these authors can even assert any copyright over the maps given the mapres don't belong and aren't licensed to them 11:38 <+bridge> [ddnet] I did try to get actual legal advice about this, but the lawyer I asked quoted me about 300-400 euros per hour of his time iirc. So I just dropped the question instead 😄 11:38 <+bridge> [ddnet] don't sell them and you'll be fine (probably) (not legal advice) (please sign the waver so you don't sue me if you get sued) 11:38 <+bridge> [ddnet] ez 400€ 11:40 <+bridge> [ddnet] I'm not very knowledgeable about copyright laws, but I find the licensing on the teeworld-related repos a bit loose considering it's a quite popular game with a lot of contributors. I think copyright / licensing it is a crucial skill that most developers me included lack of. 11:41 <+bridge> [ddnet] except for the maps it should be fine 11:41 <+bridge> [ddnet] where do you see a problem except for the maps? 11:41 <+bridge> [ddnet] Actual teeworlds and ddnet license are pretty clear actually 11:42 <+bridge> [ddnet] Do whatever you want, don't claim you made it, mark your altered versions as altered, don't remove the license 11:42 <+bridge> [ddnet] Oh and we are not liable if you run it and it launches a nuclear warhead 11:43 <+bridge> [ddnet] I believe non-liability clauses have limits 11:43 <+bridge> [ddnet] https://discord.com/channels/252358080522747904/293493549758939136/723645849996886126 scanned the maps for licenses some time ago, 10 maps had that field set https://discord.com/channels/252358080522747904/293493549758939136/723645849996886126 11:43 <+bridge> [ddnet] hm double link 11:44 <+bridge> [ddnet] There very well could be, not something I've looked into 11:44 <+bridge> [ddnet] the liability clause should be in all caps 11:44 <+bridge> [ddnet] makes it more effective 11:45 <+bridge> [ddnet] Thanks everyone for the clarifications! I know I'm not really in legal issues but I want to make things right and I would like to learn more about licensing overall. 11:48 <+bridge> [ddnet] @heinrich5991 if you have a moment can you take a look at #5092 and why it's not linking? It linked just fine locally 11:48 <+bridge> [ddnet] https://github.com/ddnet/ddnet/pull/5092 11:53 <+bridge> [ddnet] Here's something I haven't had happen before (screenshot with phone camera for obvious reasons) 11:53 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/974610307651624980/IMG20220513125225.jpg 11:53 <+bridge> [ddnet] :justatest: 11:54 <+bridge> [ddnet] well u dont have space in ur hard drive 11:54 <+bridge> [ddnet] Yep 11:54 <+bridge> [ddnet] btw df -h is better 11:57 <+bridge> [ddnet] tf is that screen 12:01 <+bridge> [ddnet] Happens to me regularly on the macbook 12:01 <+bridge> [ddnet] Also happened a lot on my server while I was also archiving teehistorian files 12:01 <+bridge> [ddnet] @Learath2 need to update our curl stub 12:01 <+bridge> [ddnet] You really get to see which software is built well when space runs out 😄 12:02 <+bridge> [ddnet] Oh, hm, do we have some sort of documentation on the process? Is it something I should be doing? 😄 12:02 <+bridge> [ddnet] run `scripts/generate_fake_curl.py` on a linux 12:02 <+bridge> [ddnet] run `scripts/generate_fake_curl.py` on linux 12:03 <+bridge> [ddnet] ddnet-libs documents how the libcurl.so is generated IIRC 12:03 <+bridge> [ddnet] see `ddnet-libs/curl/linux/lib32/VERSION` or `ddnet-libs/curl/linux/lib64/VERSION` 12:04 <+bridge> [ddnet] I also got to see how much useless stuff I had downloaded :justatest: 12:05 <+bridge> [ddnet] frontend guy sent this for review. 12:05 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/974613231018606652/b3bfcf08ffa5acfa1363fa81055cfeb.png 12:06 <+bridge> [ddnet] smh not even creative enough for a fourth variant of the = 12:06 <+bridge> [ddnet] checkout that parse tho 12:07 <+bridge> [ddnet] aye, nice code 12:07 <+bridge> [ddnet] @heinrich5991 how do you handle changes in ddnet-libs? Should I do a PR on ddnet-libs too? 12:08 <+bridge> [ddnet] @k2d222 I agree btw that licensing is sadly not handled very well with maps, mostly because it was never really started I suppse 12:08 <+bridge> [ddnet] just push there if you're somewhat sure you're doing the right thing @Learath2 12:08 <+bridge> [ddnet] should I generate the curl libraries for you @Learath2 (if you don't have a linux handy) 12:09 <+bridge> [ddnet] I'm on linux, generated them, will push 12:09 <+bridge> [ddnet] `python3 scripts/generate_fake_curl.py --link-args=-m32` is enough for getting the lib32 one, right? 12:09 <+bridge> [ddnet] yes 12:09 <+bridge> [ddnet] I mean try `file` on it 12:10 <+bridge> [ddnet] It does generate an 32-bit ELF file, just wasn't sure if I also needed to be on 32bit for some reason to generate it properly 12:10 <+bridge> [ddnet] no 12:16 <+bridge> [ddnet] Hopefully I didn't break it 😄 12:17 <+bridge> [ddnet] looks good to me 12:25 <+bridge> [ddnet] @heinrich5991 I'm not sure how to handle `CURLcode` without including `curl/curl.h` in `http.h`. I tried to assume it's `unsigned int` and `static_assert`ed for it in `http.cpp`, turns out it's not `unsigned int` on windows 12:25 <+bridge> [ddnet] Skins ^^ 12:25 <+bridge> [ddnet] I'd need something like `std::has_greater_range_than>` 12:32 <+bridge> [ddnet] I got an excellent idea from the C++ irc 12:40 <+bridge> [ddnet] perhaps just do sizeof? 13:28 <+bridge> [ddnet] has anyone knowledge of sound-layers? First of all, what does the PAN option do? and secondly directional sound isn't possible, or is it? 13:47 <+bridge> [ddnet] was it somehow planned to have like dynamic tiles? like on KoG, having dynamic freeze or solid tiles 13:47 <+bridge> [ddnet] it could be cool for new maps 13:48 <+bridge> [ddnet] Does anyone have knowledge of sound-layers? First of all, what does the PAN option do? And secondly directional sound isn't possible, or is it? 13:55 <+bridge> [ddnet] maybe @Patiga knows something about sound layers 13:58 <+bridge> [ddnet] @Learath2 added the suggestion in the http PR 13:59 <+bridge> [ddnet] I am pretty sure I will add a feature request (and maybe even a PR if I can make sense of the code) 14:01 <+bridge> [ddnet] it'd be nice if you could add an issue first 14:01 <+bridge> [ddnet] so effort isn't wasted in case we don't like the design or something 14:02 <+bridge> [ddnet] I have no issues with anything else, I was a little on the fence about the unique_ptrs but I see why you'd want them 14:03 <+bridge> [ddnet] `unique_ptr`s where? 14:03 <+bridge> [ddnet] as return type? 14:03 <+bridge> [ddnet] yeah 14:03 <+bridge> [ddnet] in http.h 14:03 <+bridge> [ddnet] @Ryozuki told me that's the way to go, and I thought it kinda makes sense 14:04 <+bridge> [ddnet] we return the ownership, and they're easily convertible to raw pointers or `shared_ptr`s 14:04 <+bridge> [ddnet] Can't really return raw pointers without allocation anyway 14:05 <+bridge> [ddnet] So the unique_ptr is better as it takes care of allocating and de-allocating 14:06 <+bridge> [ddnet] the answer is yes and PAN is actually the setting for it <.< 14:11 <+bridge> [ddnet] @heinrich5991 #5092 still won't link :/ 14:11 <+bridge> [ddnet] https://github.com/ddnet/ddnet/pull/5092 14:12 <+bridge> [ddnet] I gtg for a while, small things to do 15:36 <+bridge> [ddnet] https://pyscript.net/ 15:36 <+bridge> [ddnet] ow 15:36 <+bridge> [ddnet] finally something to stop javashit 15:39 <+bridge> [ddnet] yes, let's do interpreted languages on top of another interpreted languages on top of a browser sandbox 15:39 <+bridge> [ddnet] yes, let's do interpreted languages on top of another interpreted language on top of a browser sandbox 15:51 <+bridge> [ddnet] wasm and js are not really interpreted anymore 15:54 <+bridge> [ddnet] oh my bad it actually uses pyodide := cpython ported to wasm 15:54 <+bridge> [ddnet] not that bad in that case! 16:20 <+bridge> [ddnet] Sorry for breaking the game again 16:20 <+bridge> [ddnet] @Essigautomat ? 16:24 <+bridge> [ddnet] AMD beta-testing Ryzen 7000 on Linux, unfortunately they didn't select DDNet benchmark 😄 https://web.archive.org/web/20220509071950/https://openbenchmarking.org/result/2205052-NE-MAY42016271 16:27 <+bridge> [ddnet] > When people join a community, they don't just adopt the values of the community, but they also come with pre-existing values. As a community grows, it will adapt to the people who are joining it, and this may alienate the early-adopters who joined for a different reason than the people joining during the exponential or diminishing returns phases of logistic growth. This doesn't mean the community is "ruined" but from the perspective of ea 16:27 <+bridge> [ddnet] https://news.ycombinator.com/item?id=31363153 16:28 <+bridge> [ddnet] interesting discussion, that may apply to ddnet at some level i guess 16:28 <+bridge> [ddnet] xd 16:31 <+bridge> [ddnet] 5.21 ghz and 8 cores damn 16:32 <+bridge> [ddnet] I'll help 10 people on how to earn $20,000 within 72 hours but you will pay me 10% of your profit when you receive it. 16:32 <+bridge> [ddnet] Note\: only interested people should apply, drop a message let's get started join the chat room by clicking link 16:32 <+bridge> [ddnet] 👇👇👇👇👇👇👇👇 https://t.me/+TGide6vQ554mNgRY 16:37 <+bridge> [ddnet] I'll help 10 people on how to earn $20,000 within 72 hours but you will pay me 10% of your profit when you receive it. 16:37 <+bridge> [ddnet] Note\: only interested people should apply, drop a message let's get started join the chat room by clicking link 16:37 <+bridge> [ddnet] 👇👇👇👇👇👇👇👇 https://t.me/+TGide6vQ554mNgRY 16:48 <+bridge> [ddnet] I'll help 10 people on how to earn $20,000 within 72 hours but you will pay me 10% of your profit when you receive it. 16:48 <+bridge> [ddnet] Note\: only interested people should apply, drop a message let's get started join the chat room by clicking link 16:48 <+bridge> [ddnet] 👇👇👇👇👇👇👇👇 https://t.me/+TGide6vQ554mNgRY 16:49 <+bridge> [ddnet] scam 16:49 <+bridge> [ddnet] No it's not 16:49 <+bridge> [ddnet] stop posting that 16:55 <+bridge> [ddnet] I'll help 10 people on how to earn $20,000 within 72 hours but you will pay me 10% of your profit when you receive it. 16:55 <+bridge> [ddnet] Note\: only interested people should apply, drop a message let's get started join the chat room by clicking link 16:55 <+bridge> [ddnet] 👇👇👇👇👇👇👇👇 https://t.me/+TGide6vQ554mNgRY 17:20 <+bridge> [ddnet] aka Eternal September https://en.wikipedia.org/wiki/Eternal_September 17:22 <+bridge> [ddnet] xD 17:22 <+bridge> [ddnet] i never used usenet nor rly know what it is 17:22 <+bridge> [ddnet] i guess im too zoomer 17:29 <+bridge> [ddnet] is also pretty slow apparently 😄 17:29 <+bridge> [ddnet] :feelsbadman: 17:29 <+bridge> [ddnet] well slower than intel 17:29 <+bridge> [ddnet] so must be a test sample 17:29 <+irc_tester> what's slow 17:29 <+bridge> [ddnet] nobody cares about irc 17:29 <+irc_tester> xd 17:30 <+irc_tester> will check from Discord 17:31 <+bridge> [ddnet] @Not Keks it looks like the nvidia open source thing is not rly mergeable into the linux tree like amd drivers rn 17:31 <+bridge> [ddnet] and its mostly function calls to private firmware stuff 17:32 <+bridge> [ddnet] 1 million lines of codes i read 17:32 <+bridge> [ddnet] 4 million AMD 17:32 <+bridge> [ddnet] xd 17:32 <+bridge> [ddnet] but anyway, its a start 17:32 <+bridge> [ddnet] and they got positive response 17:32 <+bridge> [ddnet] maybe it tells driver devs some hints 17:32 <+bridge> [ddnet] maybe that helps them to do more in future 17:33 <+bridge> [ddnet] https://news.ycombinator.com/item?id=31365307 17:35 <+irc_tester> But it may help Nouveau: 17:35 <+irc_tester> > In the meantime, published source code serves as a reference to help improve the Nouveau driver. Nouveau can leverage the same firmware used by the NVIDIA driver, exposing many GPU functionalities, such as clock management and thermal management, bringing new features to the in-tree Nouveau driver. 17:35 <+irc_tester> https://developer.nvidia.com/blog/nvidia-releases-open-source-gpu-kernel-modules/ 17:35 <+bridge> [ddnet] yeah but its more a PR move 17:36 <+irc_tester> yeah maybe 17:36 <+bridge> [ddnet] i dont think so 17:36 <+bridge> [ddnet] i think its pressure from google and other big players 17:36 <+irc_tester> Why Google? 17:36 <+bridge> [ddnet] they want custom code and amd gives it to them 17:36 <+bridge> [ddnet] wait what 17:36 <+bridge> [ddnet] well google and other big players 17:36 <+bridge> [ddnet] everyone wants GPUs nowadays 17:37 <+bridge> [ddnet] thats also why its "datacenter" code 17:37 <+bridge> [ddnet] as nvidia claims itself 17:37 <+bridge> [ddnet] i always thought this, but its actually insane companies gives so much preference to windows, you actually give your lifeline to microsoft, 17:37 <+bridge> [ddnet] companies should actually be interested in making linux mainstream, i think valve knows this and thats why they dont wanna depend on microsoft 17:37 <+irc_tester> Don't they make TPUs? 17:38 <+bridge> [ddnet] windows is really only on desktop market 17:38 <+bridge> [ddnet] and germany xd 17:38 <+bridge> [ddnet] yeah 17:38 <+bridge> [ddnet] still 17:39 <+bridge> [ddnet] im also sure knowing the inner workings of linux source code could help big AAA game engines perform better 17:39 <+bridge> [ddnet] its probably a dead horse in the long run tho. 17:39 <+bridge> [ddnet] 17:39 <+bridge> [ddnet] Valve is not a small player remember that 17:39 <+bridge> [ddnet] on windows they are limited to reverse engineering maybe 17:39 <+bridge> [ddnet] the gaming market is one of the biggest argument for microsoft 17:39 <+bridge> [ddnet] but its stupid 17:39 <+bridge> [ddnet] its only a market on windows due to a self feeding cycle 17:39 <+bridge> [ddnet] not due to any actual feature 17:39 <+bridge> [ddnet] thats always the problem of the market 17:40 <+bridge> [ddnet] real innovation is relativly rare 17:40 <+bridge> [ddnet] i hope proton breaks the cycle 17:40 <+bridge> [ddnet] i reserved my steamdeck 17:40 <+bridge> [ddnet] maybe ill get one at the end of the year 17:40 <+bridge> [ddnet] xd 17:40 <+bridge> [ddnet] xd 17:40 <+irc_tester> rip 17:45 <+bridge> [ddnet] https://yosefk.com/c++fqa/ 17:45 <+bridge> [ddnet] just found this 17:45 <+bridge> [ddnet] pretty funny ngl 17:46 <+bridge> [ddnet] > [6.6] Who uses C++? 17:46 <+bridge> [ddnet] > 17:46 <+bridge> [ddnet] > FAQ: Lots and lots and lots of people and organizations. Which is excellent for business since a lot of developers are available. 17:46 <+bridge> [ddnet] > 17:46 <+bridge> [ddnet] > FQA: Empirical studies indicate that 20% of the people drink 80% of the beer. With C++ developers, the rule is that 80% of the developers understand at most 20% of the language. It is not the same 20% for different people, so don't count on them to understand each other's code. 17:47 <+bridge> [ddnet] -- 17:47 <+bridge> [ddnet] > [6.7] How long does it take to learn OO/C++? 17:47 <+bridge> [ddnet] > 17:47 <+bridge> [ddnet] > FAQ: In 6-12 months you can become proficient, in 3 years you are a local mentor. Some people won't make it - those can't learn, and/or they are lazy. Changing the way you think and what you consider "good" is hard. 17:47 <+bridge> [ddnet] > 17:47 <+bridge> [ddnet] > FQA: In 6-12 months you can become as proficient as it gets. It is impossible to "know" C++ - it keeps surprising one forever. For example, what does the code cout << p do when p is a volatile pointer? Hint: as experienced people might expect, there's an unexpected implicit type conversion involved. 17:47 <+bridge> [ddnet] xd 18:01 <+bridge> [ddnet] What are some advantages/disadvantages of using friend functions? 18:01 <+bridge> [ddnet] 18:01 <+bridge> [ddnet] FAQ: Advantage: they allow the designer to choose between obj.func() and func(obj), which "lowers maintenance costs". 18:01 <+bridge> [ddnet] 18:01 <+bridge> [ddnet] Disadvantage: they require more code to achieve dynamic binding. Non-member functions can't be virtual, so if the designer's syntax of choice is func(obj), and dynamic binding is needed, func will have to delegate to a protected virtual member with obj.func(). 18:01 <+bridge> [ddnet] 18:01 <+bridge> [ddnet] FQA: Listen carefully, this is an excellent opportunity to learn about the C++ approach to writing software. Choosing between two equivalent syntactic forms is called "design". The availability of many forms and the "right" choice between them is expected to "lower maintenance costs" 18:01 <+bridge> [ddnet] What are some advantages/disadvantages of using friend functions? 18:02 <+bridge> [ddnet] 18:02 <+bridge> [ddnet] FAQ: Advantage: they allow the designer to choose between obj.func() and func(obj), which "lowers maintenance costs". 18:02 <+bridge> [ddnet] 18:02 <+bridge> [ddnet] Disadvantage: they require more code to achieve dynamic binding. Non-member functions can't be virtual, so if the designer's syntax of choice is func(obj), and dynamic binding is needed, func will have to delegate to a protected virtual member with obj.func(). 18:02 <+bridge> [ddnet] 18:02 <+bridge> [ddnet] > FQA: Listen carefully, this is an excellent opportunity to learn about the C++ approach to writing software. Choosing between two equivalent syntactic forms is called "design". The availability of many forms and the "right" choice between them is expected to "lower maintenance costs" 18:02 <+bridge> [ddnet] > What are some advantages/disadvantages of using friend functions? 18:02 <+bridge> [ddnet] 18:02 <+bridge> [ddnet] > FAQ: Advantage: they allow the designer to choose between obj.func() and func(obj), which "lowers maintenance costs". 18:02 <+bridge> [ddnet] 18:02 <+bridge> [ddnet] > Disadvantage: they require more code to achieve dynamic binding. Non-member functions can't be virtual, so if the designer's syntax of choice is func(obj), and dynamic binding is needed, func will have to delegate to a protected virtual member with obj.func(). 18:02 <+bridge> [ddnet] 18:02 <+bridge> [ddnet] > FQA: Listen carefully, this is an excellent opportunity to learn about the C++ approach to writing software. Choosing between two equivalent syntactic forms is called "design". The availability of many forms and the "right" choice between them is expected to "lower maintenance costs" 18:03 <+bridge> [ddnet] > [13.1] What's the deal with operator overloading? 18:03 <+bridge> [ddnet] > 18:03 <+bridge> [ddnet] > FAQ: Overloaded operators provide an "intuitive interface" for the users of your class. They also allow templates to work "equally well" with classes and built-in types. 18:03 <+bridge> [ddnet] > .... 18:03 <+bridge> [ddnet] > FQA: Operator overloading provides strong source code encryption (the time needed to figure out what a+b actually means is an exponential function of the number of types, implicit conversions, template specializations and overloaded operator versions involved). 18:03 <+bridge> [ddnet] xdddd 19:06 <+bridge> [ddnet] https://www.youtube.com/watch?v=wiYTxjJjfxs 19:06 <+bridge> [ddnet] this guy is rly good at explaining stuff 19:06 <+bridge> [ddnet] (and not well known, 8k subs) 19:07 <+bridge> [ddnet] like a niche 3blue1brown 19:08 <+bridge> [ddnet] xd 19:39 <+bridge> [ddnet] @Not Keks what was the issue? 19:40 <+bridge> [ddnet] > internal compiler error: Segmentation fault 19:40 <+bridge> [ddnet] does this mean the compiler itself segfaulted? 19:40 <+bridge> [ddnet] > during GIMPLE pass: loopinit 19:40 <+bridge> [ddnet] looks like it lol 19:48 <+bridge> [ddnet] an index too high 19:48 <+bridge> [ddnet] but not in the backend 20:10 <+bridge> [ddnet] pog new version 20:21 <+bridge> [ddnet] with vanilla breaking shields xd 20:25 <+bridge> [ddnet] nice xd 20:26 <+bridge> [ddnet] nice 20:27 <+bridge> [ddnet] just to make sure, have you seen my answer in https://github.com/ddnet/ddnet/issues/5099, @deen 22:03 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/974763841063899166/mFvqVX.webm 22:03 <+bridge> [ddnet] the eyes are not perfectly aligned yet but they are damn close 22:04 <+bridge> [ddnet] Thank you guys for helping me 22:07 <+bridge> [ddnet] what will this be used for :0 22:09 <+bridge> [ddnet] whatever people want 22:09 <+bridge> [ddnet] its open source 22:10 <+bridge> [ddnet] i wont be sharing the link yet cause its not finished 22:43 <+bridge> [ddnet] :hollande: 22:43 <+bridge> [ddnet] spotted 22:45 <+bridge> [ddnet] whatdidido