Oddbean new post about | logout
 @buy robux today :ROBUX: @Fe₂🦀₃⋅H₂🦀 ( 7,600 / 28,000 )  lmao debug this backtrace my ass

[New Thread 0x7ffff7a1d6c0 (LWP 190284)]
[New Thread 0x7ffff721c6c0 (LWP 190285)]
[New Thread 0x7ffff6a1b6c0 (LWP 190286)]
[New Thread 0x7ffff621a6c0 (LWP 190287)]
[New Thread 0x7ffff5a196c0 (LWP 190288)]
[New Thread 0x7ffff52186c0 (LWP 190289)]
[New Thread 0x7ffff4a176c0 (LWP 190290)]
[New Thread 0x7fffeffff6c0 (LWP 190291)]
[New Thread 0x7fffef7fe6c0 (LWP 190292)]
[New Thread 0x7fffeeffd6c0 (LWP 190293)]
[New Thread 0x7fffee7fc6c0 (LWP 190294)]
[New Thread 0x7fffedffb6c0 (LWP 190295)]
[New Thread 0x7fffed7fa6c0 (LWP 190296)]
[New Thread 0x7fffecff96c0 (LWP 190297)]
[New Thread 0x7fffec7f86c0 (LWP 190298)]

Thread 3 "a.out" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffff721c6c0 (LWP 190285)]
0x00005555555925c9 in void boost::beast::detail::write_buffers_generator_op<boost::beast::basic_stream<boost::asio::ip::tcp, boost::asio::use_awaitable_t<boost::asio::any_io_executor>::executor_with_default<boost::asio::any_io_executor>, boost::beast::unlimited_rate_policy>, boost::beast::http::message_generator>::operator()<boost::asio::detail::composed_op<boost::beast::detail::write_buffers_generator_op<boost::beast::basic_stream<boost::asio::ip::tcp, boost::asio::use_awaitable_t<boost::asio::any_io_executor>::executor_with_default<boost::asio::any_io_executor>, boost::beast::unlimited_rate_policy>, boost::beast::http::message_generator>, boost::asio::detail::composed_work<void (boost::asio::use_awaitable_t<boost::asio::any_io_executor>::executor_with_default<boost::asio::any_io_executor>)>, boost::asio::detail::awaitable_handler<boost::asio::any_io_executor, boost::system::error_code, unsigned long>, void (boost::system::error_code, unsigned long)> >(boost::asio::detail::composed_op<boost::beast::detail::write_buffers_generator_op<boost::beast::basic_stream<boost::asio::ip::tcp, boost::asio::use_awaitable_t<boost::asio::any_io_executor>::executor_with_default<boost::asio::any_io_executor>, boost::beast::unlimited_rate_policy>, boost::beast::http::message_generator>, boost::asio::detail::composed_work<void (boost::asio::use_awaitable_t<boost::asio::any_io_executor>::executor_with_default<boost::asio::any_io_executor>)>, boost::asio::detail::awaitable_handler<boost::asio::any_io_executor, boost::system::error_code, unsigned long>, void (boost::system::error_code, unsigned long)>&, boost::system::error_code, unsigned long) ()
(gdb) bt
#0  0x00005555555925c9 in void boost::beast::detail::write_buffers_generator_op<boost::beast::basic_stream<boost::asio::ip::tcp, boost::asio::use_awaitable_t<boost::asio::any_io_executor>::executor_with_default<boost::asio::any_io_executor>, boost::beast::unlimited_rate_policy>, boost::beast::http::message_generator>::operator()<boost::asio::detail::composed_op<boost::beast::detail::write_buffers_generator_op<boost::beast::basic_stream<boost::asio::ip::tcp, boost::asio::use_awaitable_t<boost::asio::any_io_executor>::executor_with_default<boost::asio::any_io_executor>, boost::beast::unlimited_rate_policy>, boost::beast::http::message_generator>, boost::asio::detail::composed_work<void (boost::asio::use_awaitable_t<boost::asio::any_io_executor>::executor_with_default<boost::asio::any_io_executor>)>, boost::asio::detail::awaitable_handler<boost::asio::any_io_executor, boost::system::error_code, unsigned long>, void (boost::system::error_code, unsigned long)> >(boost::asio::detail::composed_op<boost::beast::detail::write_buffers_generator_op<boost::beast::basic_stream<boost::asio::ip::tcp, boost::asio::use_awaitable_t<boost::asio::any_io_executor>::executor_with_default<boost::asio::any_io_executor>, boost::beast::unlimited_rate_policy>, boost::beast::http::message_generator>, boost::asio::detail::composed_work<void (boost::asio::use_awaitable_t<boost::asio::any_io_executor>::executor_with_default<boost::asio::any_io_executor>)>, boost::asio::detail::awaitable_handler<boost::asio::any_io_executor, boost::system::error_code, unsigned long>, void (boost::system::error_code, unsigned long)>&, boost::system::error_code, unsigned long) ()
#1  0x0000555555592219 in boost::asio::detail::awaitable_frame_base<boost::asio::any_io_executor>::await_transform<boost::asio::async_result<boost::asio::use_awaitable_t<boost::asio::any_io_executor>, void (boost::system::error_code, unsigned long)>::initiate<boost::asio::detail::initiate_composed_op<void (boost::system::error_code, unsigned long), void (boost::asio::use_awaitable_t<boost::asio::any_io_executor>::executor_with_default<boost::asio::any_io_executor>)>, boost::beast::detail::write_buffers_generator_op<boost::beast::basic_stream<boost::asio::ip::tcp, boost::asio::use_awaitable_t<boost::asio::any_io_executor>::executor_with_default<boost::asio::any_io_executor>, boost::beast::unlimited_rate_policy>, boost::beast::http::message_generator> >(boost::asio::detail::initiate_composed_op<void (boost::system::error_code, unsigned long), void (boost::asio::use_awaitable_t<boost::asio::any_io_executor>::executor_with_default<boost::asio::any_io_executor>)>, boost::asio::use_awaitable_t<boost::asio::any_io_executor>, boost::beast::detail::write_buffers_generator_op<boost::beast::basic_stream<boost::asio::ip::tcp, boost::asio::use_awaitable_t<boost::asio::any_io_executor>::executor_with_default<boost::asio::any_io_executor>, boost::beast::unlimited_rate_policy>, boost::beast::http::message_generator>)::{lambda(auto:1*)#1}>(boost::asio::async_result<boost::asio::use_awaitable_t<boost::asio::any_io_executor>, void (boost::system::error_code, unsigned long)>::initiate<boost::asio::detail::initiate_composed_op<void (boost::--Type <RET> for more, q to quit, c to continue without paging--
system::error_code, unsigned long), void (boost::asio::use_awaitable_t<boost::asio::any_io_executor>::executor_with_default<boost::asio::any_io_executor>)>, boost::beast::detail::write_buffers_generator_op<boost::beast::basic_stream<boost::asio::ip::tcp, boost::asio::use_awaitable_t<boost::asio::any_io_executor>::executor_with_default<boost::asio::any_io_executor>, boost::beast::unlimited_rate_policy>, boost::beast::http::message_generator> >(boost::asio::detail::initiate_composed_op<void (boost::system::error_code, unsigned long), void (boost::asio::use_awaitable_t<boost::asio::any_io_executor>::executor_with_default<boost::asio::any_io_executor>)>, boost::asio::use_awaitable_t<boost::asio::any_io_executor>, boost::beast::detail::write_buffers_generator_op<boost::beast::basic_stream<boost::asio::ip::tcp, boost::asio::use_awaitable_t<boost::asio::any_io_executor>::executor_with_default<boost::asio::any_io_executor>, boost::beast::unlimited_rate_policy>, boost::beast::http::message_generator>)::{lambda(auto:1*)#1}, std::enable_if<is_convertible<boost::asio::result_of<boost::asio::async_result<boost::asio::use_awaitable_t<boost::asio::any_io_executor>, void (boost::system::error_code, unsigned long)>::initiate<boost::asio::detail::initiate_composed_op<void (boost::system::error_code, unsigned long), void (boost::asio::use_awaitable_t<boost::asio::any_io_executor>::executor_with_default<boost::asio::any_io_executor>)>, boost::beast::detail::write_buffers_generator_op<boost::beast::basic_stream<boost::asio::ip::tcp, boost::asio::use_awaitable_t<boost::asio::any_io_executor>::executor_with_default<boost::asio::any_io_executor>, boost::beast::unlimited_rate_policy>, boost::beast::http::message_generator> >(boost::asio::detail::initiate_composed_op<void (boost::system::error_code, unsigned long), void (boost::asio::use_awaitable_t<boost::asio::any_io_executor>::executor_with_default<boost::asio::any_io_executor>)>, boost::asio::use_awaitable_t<boost::asio::any_io_executor>, boost::beast::detail::write_buffers_generator_op<boost::beast::basic_stream<boost::asio::ip::tcp, boost::asio::use_awaitable_t<boost::asio::any_io_executor>::executor_with_default<boost::asio::any_io_executor>, boost::beast::unlimited_rate_policy>, boost::beast::http::message_generator>)::{lambda(auto:1*)#1} (boost::asio::detail::awaitable_frame_base<boost::asio::any_io_executor>*)>::type, boost::asio::detail::awaitable_thread<boost::asio::any_io_executor>*>::value, void>::type*)::result::await_suspend(std::__n4861::coroutine_handle<void>)::{lambda(void*)#1}::__invoke(void*) ()
#2  0x0000555555584a20 in boost::asio::detail::awaitable_thread<boost::asio::any_io_executor>::pump()
    ()
#3  0x000055555559c47f in void boost::beast::http::detail::read_op<boost::beast::basic_stream<boost::asio::ip::tcp, boost::asio::use_awaitable_t<boost::asio::any_io_executor>::executor_with_default<boost::asio::any_io_executor>, boost::beast::unlimited_rate_policy>, boost::beast::basic_flat_buffer<std::allocator<char> >, true, boost::beast::http::detail::parser_is_done>::operator()<boost::asio::detail::compos--Type <RET> for more, q to quit, c to continue without paging--
ed_op<boost::beast::http::detail::read_op<boost::beast::basic_stream<boost::asio::ip::tcp, boost::asio::use_awaitable_t<boost::asio::any_io_executor>::executor_with_default<boost::asio::any_io_executor>, boost::beast::unlimited_rate_policy>, boost::beast::basic_flat_buffer<std::allocator<char> >, true, boost::beast::http::detail::parser_is_done>, boost::asio::detail::composed_work<void (boost::asio::use_awaitable_t<boost::asio::any_io_executor>::executor_with_default<boost::asio::any_io_executor>)>, boost::beast::http::detail::read_msg_op<boost::beast::basic_stream<boost::asio::ip::tcp, boost::asio::use_awaitable_t<boost::asio::any_io_executor>::executor_with_default<boost::asio::any_io_executor>, boost::beast::unlimited_rate_policy>, boost::beast::basic_flat_buffer<std::allocator<char> >, true, boost::beast::http::basic_string_body<char, std::char_traits<char>, std::allocator<char> >, std::allocator<char>, boost::asio::detail::awaitable_handler<boost::asio::any_io_executor, boost::system::error_code, unsigned long> >, void (boost::system::error_code, unsigned long)> >(boost::asio::detail::composed_op<boost::beast::http::detail::read_op<boost::beast::basic_stream<boost::asio::ip::tcp, boost::asio::use_awaitable_t<boost::asio::any_io_executor>::executor_with_default<boost::asio::any_io_executor>, boost::beast::unlimited_rate_policy>, boost::beast::basic_flat_buffer<std::allocator<char> >, true, boost::beast::http::detail::parser_is_done>, boost::asio::detail::composed_work<void (boost::asio::use_awaitable_t<boost::asio::any_io_executor>::executor_with_default<boost::asio::any_io_executor>)>, boost::beast::http::detail::read_msg_op<boost::beast::basic_stream<boost::asio::ip::tcp, boost::asio::use_awaitable_t<boost::asio::any_io_executor>::executor_with_default<boost::asio::any_io_executor>, boost::beast::unlimited_rate_policy>, boost::beast::basic_flat_buffer<std::allocator<char> >, true, boost::beast::http::basic_string_body<char, std::char_traits<char>, std::allocator<char> >, std::allocator<char>, boost::asio::detail::awaitable_handler<boost::asio::any_io_executor, boost::system::error_code, unsigned long> >, void (boost::system::error_code, unsigned long)>&, boost::system::error_code, unsigned long) ()
#4  0x000055555559f9e4 in void boost::beast::http::detail::read_some_op<boost::beast::basic_stream<boost::asio::ip::tcp, boost::asio::use_awaitable_t<boost::asio::any_io_executor>::executor_with_default<boost::asio::any_io_executor>, boost::beast::unlimited_rate_policy>, boost::beast::basic_flat_buffer<std::allocator<char> >, true>::operator()<boost::asio::detail::composed_op<boost::beast::http::detail::read_some_op<boost::beast::basic_stream<boost::asio::ip::tcp, boost::asio::use_awaitable_t<boost::asio::any_io_executor>::executor_with_default<boost::asio::any_io_executor>, boost::beast::unlimited_rate_policy>, boost::beast::basic_flat_buffer<std::allocator<char> >, true>, boost::asio::detail::composed_work<void (boost::asio::use_awaitable_t<boost::asio::any_io_executor>::executor_with_default<boost::asio::any_io_executor>)>, boost::asio::detail::composed_op<boost::beast::http::detail::read_op<boost::beast::basic_stream<boost::asio::ip::tcp, boost::asio::use_awaitable_t<boost::asio::any_io_executor>::executor_with--Type <RET> for more, q to quit, c to continue without paging--
_default<boost::asio::any_io_executor>, boost::beast::unlimited_rate_policy>, boost::beast::basic_flat_buffer<std::allocator<char> >, true, boost::beast::http::detail::parser_is_done>, boost::asio::detail::composed_work<void (boost::asio::use_awaitable_t<boost::asio::any_io_executor>::executor_with_default<boost::asio::any_io_executor>)>, boost::beast::http::detail::read_msg_op<boost::beast::basic_stream<boost::asio::ip::tcp, boost::asio::use_awaitable_t<boost::asio::any_io_executor>::executor_with_default<boost::asio::any_io_executor>, boost::beast::unlimited_rate_policy>, boost::beast::basic_flat_buffer<std::allocator<char> >, true, boost::beast::http::basic_string_body<char, std::char_traits<char>, std::allocator<char> >, std::allocator<char>, boost::asio::detail::awaitable_handler<boost::asio::any_io_executor, boost::system::error_code, unsigned long> >, void (boost::system::error_code, unsigned long)>, void (boost::system::error_code, unsigned long)> >(boost::asio::detail::composed_op<boost::beast::http::detail::read_some_op<boost::beast::basic_stream<boost::asio::ip::tcp, boost::asio::use_awaitable_t<boost::asio::any_io_executor>::executor_with_default<boost::asio::any_io_executor>, boost::beast::unlimited_rate_policy>, boost::beast::basic_flat_buffer<std::allocator<char> >, true>, boost::asio::detail::composed_work<void (boost::asio::use_awaitable_t<boost::asio::any_io_executor>::executor_with_default<boost::asio::any_io_executor>)>, boost::asio::detail::composed_op<boost::beast::http::detail::read_op<boost::beast::basic_stream<boost::asio::ip::tcp, boost::asio::use_awaitable_t<boost::asio::any_io_executor>::executor_with_default<boost::asio::any_io_executor>, boost::beast::unlimited_rate_policy>, boost::beast::basic_flat_buffer<std::allocator<char> >, true, boost::beast::http::detail::parser_is_done>, boost::asio::detail::composed_work<void (boost::asio::use_awaitable_t<boost::asio::any_io_executor>::executor_with_default<boost::asio::any_io_executor>)>, boost::beast::http::detail::read_msg_op<boost::beast::basic_stream<boost::asio::ip::tcp, boost::asio::use_awaitable_t<boost::asio::any_io_executor>::executor_with_default<boost::asio::any_io_executor>, boost::beast::unlimited_rate_policy>, boost::beast::basic_flat_buffer<std::allocator<char> >, true, boost::beast::http::basic_string_body<char, std::char_traits<char>, std::allocator<char> >, std::allocator<char>, boost::asio::detail::awaitable_handler<boost::asio::any_io_executor, boost::system::error_code, unsigned long> >, void (boost::system::error_code, unsigned long)>, void (boost::system::error_code, unsigned long)>&, boost::system::error_code, unsigned long) ()
#5  0x00005555555a275f in boost::beast::basic_stream<boost::asio::ip::tcp, boost::asio::use_awaitable_t<boost::asio::any_io_executor>::executor_with_default<boost::asio::any_io_executor>, boost::beast::unlimited_rate_policy>::ops::transfer_op<true, boost::asio::mutable_buffer, boost::asio::detail::composed_op<boost::beast::http::detail::read_some_op<boost::beast::basic_stream<boost::asio::ip::tcp, boost::asio::use_awaitable_t<boost::asio::any_io_executor>::executor_with_default<boost::asio::any_io_executor>, boost::beast::unlimited_rate_policy>, boost::beast::basic_flat_buffer<std::allocator<char> >, true>, boo--Type <RET> for more, q to quit, c to continue without paging--
st::asio::detail::composed_work<void (boost::asio::use_awaitable_t<boost::asio::any_io_executor>::executor_with_default<boost::asio::any_io_executor>)>, boost::asio::detail::composed_op<boost::beast::http::detail::read_op<boost::beast::basic_stream<boost::asio::ip::tcp, boost::asio::use_awaitable_t<boost::asio::any_io_executor>::executor_with_default<boost::asio::any_io_executor>, boost::beast::unlimited_rate_policy>, boost::beast::basic_flat_buffer<std::allocator<char> >, true, boost::beast::http::detail::parser_is_done>, boost::asio::detail::composed_work<void (boost::asio::use_awaitable_t<boost::asio::any_io_executor>::executor_with_default<boost::asio::any_io_executor>)>, boost::beast::http::detail::read_msg_op<boost::beast::basic_stream<boost::asio::ip::tcp, boost::asio::use_awaitable_t<boost::asio::any_io_executor>::executor_with_default<boost::asio::any_io_executor>, boost::beast::unlimited_rate_policy>, boost::beast::basic_flat_buffer<std::allocator<char> >, true, boost::beast::http::basic_string_body<char, std::char_traits<char>, std::allocator<char> >, std::allocator<char>, boost::asio::detail::awaitable_handler<boost::asio::any_io_executor, boost::system::error_code, unsigned long> >, void (boost::system::error_code, unsigned long)>, void (boost::system::error_code, unsigned long)> >::operator()(boost::system::error_code, unsigned long) ()
#6  0x00005555555a3fc5 in void boost::asio::detail::executor_function::complete<boost::asio::detail::binder2<boost::beast::basic_stream<boost::asio::ip::tcp, boost::asio::use_awaitable_t<boost::asio::any_io_executor>::executor_with_default<boost::asio::any_io_executor>, boost::beast::unlimited_rate_policy>::ops::transfer_op<true, boost::asio::mutable_buffer, boost::asio::detail::composed_op<boost::beast::http::detail::read_some_op<boost::beast::basic_stream<boost::asio::ip::tcp, boost::asio::use_awaitable_t<boost::asio::any_io_executor>::executor_with_default<boost::asio::any_io_executor>, boost::beast::unlimited_rate_policy>, boost::beast::basic_flat_buffer<std::allocator<char> >, true>, boost::asio::detail::composed_work<void (boost::asio::use_awaitable_t<boost::asio::any_io_executor>::executor_with_default<boost::asio::any_io_executor>)>, boost::asio::detail::composed_op<boost::beast::http::detail::read_op<boost::beast::basic_stream<boost::asio::ip::tcp, boost::asio::use_awaitable_t<boost::asio::any_io_executor>::executor_with_default<boost::asio::any_io_executor>, boost::beast::unlimited_rate_policy>, boost::beast::basic_flat_buffer<std::allocator<char> >, true, boost::beast::http::detail::parser_is_done>, boost::asio::detail::composed_work<void (boost::asio::use_awaitable_t<boost::asio::any_io_executor>::executor_with_default<boost::asio::any_io_executor>)>, boost::beast::http::detail::read_msg_op<boost::beast::basic_stream<boost::asio::ip::tcp, boost::asio::use_awaitable_t<boost::asio::any_io_executor>::executor_with_default<boost::asio::any_io_executor>, boost::beast::unlimited_rate_policy>, boost::beast::basic_flat_buffer<std::allocator<char> >, true, boost::beast::http::basic_string_body<char, std::char_traits<char>, std::allocator<char> >, std::allocator<char>, boost::asio::detail::awaitable_handler<boost::asio::--Type <RET> for more, q to quit, c to continue without paging--
any_io_executor, boost::system::error_code, unsigned long> >, void (boost::system::error_code, unsigned long)>, void (boost::system::error_code, unsigned long)> >, boost::system::error_code, unsigned long>, std::allocator<void> >(boost::asio::detail::executor_function::impl_base*, bool) ()
#7  0x000055555558885f in void boost::asio::execution::detail::any_executor_base::execute_ex<boost::asio::io_context::basic_executor_type<std::allocator<void>, 4ul> >(boost::asio::execution::detail::any_executor_base const&, boost::asio::detail::executor_function&&) ()
#8  0x00005555555a361d in boost::asio::detail::reactive_socket_recv_op<boost::beast::buffers_prefix_view<boost::asio::mutable_buffer>, boost::beast::basic_stream<boost::asio::ip::tcp, boost::asio::use_awaitable_t<boost::asio::any_io_executor>::executor_with_default<boost::asio::any_io_executor>, boost::beast::unlimited_rate_policy>::ops::transfer_op<true, boost::asio::mutable_buffer, boost::asio::detail::composed_op<boost::beast::http::detail::read_some_op<boost::beast::basic_stream<boost::asio::ip::tcp, boost::asio::use_awaitable_t<boost::asio::any_io_executor>::executor_with_default<boost::asio::any_io_executor>, boost::beast::unlimited_rate_policy>, boost::beast::basic_flat_buffer<std::allocator<char> >, true>, boost::asio::detail::composed_work<void (boost::asio::use_awaitable_t<boost::asio::any_io_executor>::executor_with_default<boost::asio::any_io_executor>)>, boost::asio::detail::composed_op<boost::beast::http::detail::read_op<boost::beast::basic_stream<boost::asio::ip::tcp, boost::asio::use_awaitable_t<boost::asio::any_io_executor>::executor_with_default<boost::asio::any_io_executor>, boost::beast::unlimited_rate_policy>, boost::beast::basic_flat_buffer<std::allocator<char> >, true, boost::beast::http::detail::parser_is_done>, boost::asio::detail::composed_work<void (boost::asio::use_awaitable_t<boost::asio::any_io_executor>::executor_with_default<boost::asio::any_io_executor>)>, boost::beast::http::detail::read_msg_op<boost::beast::basic_stream<boost::asio::ip::tcp, boost::asio::use_awaitable_t<boost::asio::any_io_executor>::executor_with_default<boost::asio::any_io_executor>, boost::beast::unlimited_rate_policy>, boost::beast::basic_flat_buffer<std::allocator<char> >, true, boost::beast::http::basic_string_body<char, std::char_traits<char>, std::allocator<char> >, std::allocator<char>, boost::asio::detail::awaitable_handler<boost::asio::any_io_executor, boost::system::error_code, unsigned long> >, void (boost::system::error_code, unsigned long)>, void (boost::system::error_code, unsigned long)> >, boost::asio::use_awaitable_t<boost::asio::any_io_executor>::executor_with_default<boost::asio::any_io_executor> >::do_complete(void*, boost::asio::detail::scheduler_operation*, boost::system::error_code const&, unsigned long) ()
#9  0x0000555555585633 in boost::asio::detail::scheduler::run(boost::system::error_code&) ()
#10 0x0000555555584ef4 in boost::asio::io_context::run() ()
#11 0x00007ffff7ce1943 in std::execute_native_thread_routine (__p=0x55555560fa70)
    at /usr/src/debug/gcc/gcc/libstdc++-v3/src/c++11/thread.cc:104
#12 0x00007ffff7aaa9eb in ?? () from /usr/lib/libc.so.6
#13 0x00007ffff7b2e7cc in ?? () from /usr/lib/libc.so.6
 
 @buy robux today :ROBUX: @Fe₂🦀₃⋅H₂🦀 ( 7,600 / 28,000 ) oh good its a race condition. why cant anybody ever get multithreading properly working in c++ (even the boost authors) 
 @loopy pedestrian✍🏿 @buy robux today :ROBUX: multithreading just sucks and almost nobody can do it correctly. Most people will (eventually) be able to get a program that works well enough, but correct? Master programmers will still be coming back for years to their 200 line library finding new bugs to fix. 
 @Fe₂🦀₃⋅H₂🦀 ( 7,600 / 28,000 ) @buy robux today :ROBUX: this is one of the main benefits of rust tbh, multithreading is a breeze there (static analysis of thread-to-thread ownership really shines) 
 @loopy pedestrian✍🏿 @buy robux today :ROBUX: gonna be real I have a hard time believing that shared access and lockless programming is any better in rust 
 @Fe₂🦀₃⋅H₂🦀 ( 7,600 / 28,000 ) @buy robux today :ROBUX: rust takes the approach of mpsc (something like Go channels) to share resources between threads and the capture clause is something like std::thread t{[<move fucking everything>](args...) {}}; so everything in the thread is local, it sort of forces you a paradigm 
 @loopy pedestrian✍🏿 @buy robux today :ROBUX: not familiar with mpsc but I'd gladly research any pattern that makes multithreading less fucking awful. It's getting to where application programmers never multithread and systems programmers have to multithread every god damn day 
 @loopy pedestrian✍🏿 @buy robux today :ROBUX: by the way this is why I have no faith in rust as a serious project

https://media.clubcyberia.co/pleroma/b7a48e6eb7affd30a7a29ef040f56986597ef4b1779e38474aa78eafa7d6854b.png 
 @Fe₂🦀₃⋅H₂🦀 ( 7,600 / 28,000 ) @loopy pedestrian✍🏿 @Fe₂🦀₃⋅H₂🦀 ( 7,600 / 28,000 ) @buy robux today :ROBUX: 

Tell me a little bit about Rust.  What is it good for?  Why would I learn it?

I’ve heard they use it for cryptocurrency shit. 
 @e9ab4887 @Fe₂🦀₃⋅H₂🦀 ( 7,600 / 28,000 ) @loopy pedestrian✍🏿 something about it being memory safe 
 @buy robux today :ROBUX: @loopy pedestrian✍🏿 @e9ab4887 it's allegedly memory safe without use of garbage collection. That's a big deal, but it also has a bunch of problems. Murderous compile times being one. Also the people that own it are :nigga :niggainsane: insane: 
 @Fe₂🦀₃⋅H₂🦀 ( 7,600 / 28,000 ) @buy robux today :ROBUX: @e9ab4887 nigga we're in C++ land murderous compile times are our lifelong friend. 
 @loopy pedestrian✍🏿 @e9ab4887 @buy robux today :ROBUX: only if you use templates and don't pimpl! In rust it's mandatory.

C++ actually compiles insanely fast if you get stuff out of headers 
 @Fe₂🦀₃⋅H₂🦀 ( 7,600 / 28,000 ) @e9ab4887 @buy robux today :ROBUX: maybe i should change the way i program in c++, 20 seconds for one translation unit is a norm for me because i use a million header-only template libraries. i should probably employ better practices (especially if i want to be employed lmao) 
 @loopy pedestrian✍🏿 @e9ab4887 @buy robux today :ROBUX: it's relatively straightforward to write fast compiling C++ code but it's very very hard to go back and fix it if you wrote it wrong in the first place. The biggest thing, by far, though is get templates out of your headers. 

also don't use boost. Nobody uses boost anymore. We USED to use boost because it had a bunch of stuff that was useful before it got put in the standard. Now it's in the standard and boost is just pure cancer and kills everything it touches. 
 @Fe₂🦀₃⋅H₂🦀 ( 7,600 / 28,000 ) @e9ab4887 @buy robux today :ROBUX: boost::asio seems pretty useful (its the only boost library i use) but other than that yeah, theyre pretty redundant. but i feel like a lot of the STL headers have the same problem as boost too since a lot of them actually come from boost in the first place and shit like <algorithm> and <numeric> are almost entirely template-based. it's hard to get out of this template jail im in (i would like some tips).
Rust basically mandates this with traits (concepts but :sane:) but that's another story i guess.

https://media.clubcyberia.co/pleroma/f90d933f208ae15b41a92089ee3f0df2b103438c91d5412a94cfb619b8c38c49.png 
 @loopy pedestrian✍🏿 @e9ab4887 @buy robux today :ROBUX: the containers in the stl are of the same nature as the ones in boost but boost writes them in the most retarded way possible with, possibly not an exaggeration, 300 nested templates inside eachother. It's good to not include stl libs in class headers where reasonable but I have never experienced significant slowdown from them. Including even one single boost header can triple your compile time instantly.

I mean come on you saw that template error right? Is that not the most satanic thing you've ever laid eyes on?

If you MUST use boost you should write an adapter class that just declares the functions you need in a header and then the implementations can actually call the boost functions. That way you only poison a single cpp file. I did this with good success in my last project before I just completely abandoned boost. 
 @Fe₂🦀₃⋅H₂🦀 ( 7,600 / 28,000 ) @e9ab4887 @buy robux today :ROBUX: what's your thought on <regex>? it was so slow i just resorted to using boost::regex and calling it a day. or maybe i should use RE2.
also how do you do networking in C++ without asio? 
 @loopy pedestrian✍🏿 @e9ab4887 @buy robux today :ROBUX: regex in general is quite slow and the use of it should be pretty selective. I've never found c++ regex to be particularly troublesome as long as you're sure to precompile your statements. For networking there's various libraries everywhere. Socket calls suck but the abstraction layer over them doesn't need to be very fancy before they start not sucking. So in short figure out what you actually want to do with your sockets and there will be a very simple and reliable library for it. 
 rust is next level, the entire crate is considered one compilation unit. It’s probably good for inlining though. 
 @Fe₂🦀₃⋅H₂🦀 ( 7,600 / 28,000 ) @loopy pedestrian✍🏿 @buy robux today :ROBUX: @e9ab4887 you're on fediverse bro, most of the people here are insane 
 @Johnny Peligro @loopy pedestrian✍🏿 @buy robux today :ROBUX: @e9ab4887 excuse me I've never threatened to sue anybody if they mentioned rust at a conference that allows firearms 
 @Fe₂🦀₃⋅H₂🦀 ( 7,600 / 28,000 ) @loopy pedestrian✍🏿 @buy robux today :ROBUX: I’m not going to lie, the Code of Conduct stuff was the final nail in the coffin for me and it makes it extremely difficult for me to take projects seriously. I also know that the CoC was only implemented for one demographic. 

Github is shit and might as well be hosting your projects directly to microsoft, unless you enjoy having your repos scraped by recruiters. 
 What, you do you not like 34MB replacements for ls? 
 @djsumdog @loopy pedestrian✍🏿 @buy robux today :ROBUX: "industrial strength fizzbuzz written in rust" 
 @Fe₂🦀₃⋅H₂🦀 ( 7,600 / 28,000 ) @djsumdog @buy robux today :ROBUX: not sure about rust but here's some industrial strength compile-time fizzbuzz in C++20

https://media.clubcyberia.co/pleroma/055dc55d470c708979bd0f85116d49d5c8e0481bba33284fc6047ebb61c0da4e.png 
 Would the BrainFuck version be shorter? 
 @djsumdog @loopy pedestrian✍🏿 @buy robux today :ROBUX: it would certainly compile faster 
 @Fe₂🦀₃⋅H₂🦀 ( 7,600 / 28,000 ) @djsumdog @buy robux today :ROBUX: brainfuck is interpreted so there's no space for flamboyant template fuckery 
 @loopy pedestrian✍🏿 @djsumdog @buy robux today :ROBUX: well I interpret it as a compiler 
 I don't actually know a lot about brainfuck, but all JVM (Scala, Kotlin, Clojure) and .NET languages are both compiled and (byte code/JIT) interpreted. I think that pattern originated with SmallTalk? 
 to be fair that’s a rule on reddit, redditors are cancer

rust proper definitely has its fair share of “redditors” though…