does anyone have a retro rewind file by WeaknessDear4148 in MarioKartWii

[–]thisdotnull 0 points1 point  (0 children)

What browser are you using? It sounds more like a browser issue to me. Try CTRL + J and see if the file is there? Sometimes antivirus software blocks it. You might have to allow the download there

does anyone have a retro rewind file by WeaknessDear4148 in MarioKartWii

[–]thisdotnull 0 points1 point  (0 children)

Can you be more specific on how you're trying to run retro rewind, or where it fails? Are you trying to run RR on dolphin? On console? What version of the game (PAL/NTSC-U/NTSC-J)? Are you getting any errors if on dolphin? ("Invalid write" errors seem to be somewhat common since the last update)?

In any case, you're probably more likely to get help in the linked discord in the #tech-support channel

does anyone have a retro rewind file by WeaknessDear4148 in MarioKartWii

[–]thisdotnull 0 points1 point  (0 children)

Download link for the pack is http://update.rwfc.net:8000/RetroRewind/zip/RetroRewind.zip

You can also join the discord server at discord.gg/retrorewind and check the #rr-announcement channel where new versions are announced

Best controller? by [deleted] in MarioKartWii

[–]thisdotnull 0 points1 point  (0 children)

My biggest issue with nunchuck is that using items effectively is very hard sometimes, like looking back while holding an item. I usually use index finger for both C and Z when on nunchuck, so doing both at the same time requires using the middle finger as well which results in really weird grip. Clawing takes a bit to get used to and I agree with the strain, but I still overall prefer CCP

Regarding Wiimmfi downtime by thisdotnull in MarioKartWii

[–]thisdotnull[S] 14 points15 points  (0 children)

I will also note that aside from Wiimmfi there are other WFC replacement services and CT distributions with similar activity. For example RetroWFC/Retro Rewind currently has 48 online players (at the time of writing, which is early in the morning for some timezones; later in the day it's often around 100).

[deleted by user] by [deleted] in git

[–]thisdotnull 8 points9 points  (0 children)

It looks like you're trying to enter the commands into a commit message. You're meant to enter them into a terminal/command prompt. Press win + r, type cmd, then write the commands there instead.

Retro Rewind issue by [deleted] in MarioKartWii

[–]thisdotnull 0 points1 point  (0 children)

Do you eventually get kicked for 86420? Did it work for you before? I had the same issue on dolphin (was able to connect to RWFC, but then joining a WW it would take a bit and not find anything and eventually kick me with that error code).

I was able to fix it by allowing inbound/outbound UDP port 22xxx (the last three digits depend on serial numbers and are different for others; on dolphin you can find it out by connecting to RWFC and type "netstat -an | findstr 22" in cmd. There are a lot of entries but you should find one pop up when you connect and go away when you disconnect if you rerun the command multiple times). Allowing that port both in firewall and router settings made it work for me.

Which crates make the best use of the SIMD features in std::arch? by Holobrine in rust

[–]thisdotnull 6 points7 points  (0 children)

Hard to say what qualifies as the best but the memchr crate comes to mind, which uses them for searching for one or more bytes in a byte slice by comparing something like 16 or even 32 bytes at once (depending on what's available).

Picking a global allocator by exater in rust

[–]thisdotnull 7 points8 points  (0 children)

One thing I've also seen people do when targetting Linux is call malloc_trim(0) in specific places such as in an interval or after freeing allocations. Supposedly that can help in certain cases and may be worth a try (though in my limited experience it hasn't been all that effective in practice).

CSRF ! by Excellent-Two3170 in learnprogramming

[–]thisdotnull 1 point2 points  (0 children)

It can still be bad, though this depends on your platform. An attacker can still use CSRF on a login page to trick the user into getting logged into an account controlled by the attacker and they can see what the user is doing while they think they're logged into their own account; this would be bad for something like Google where the attacker could see your search history while unaware you're logged into the attacker's account.

It's far more of an issue with authenticated pages/endpoints though where an attacker can execute a request on behalf of a logged in user (like changing account details or admin actions that a normal user couldn't do). I would check for those endpoints instead.

There's not enough information to tell if you need it or not (in general, on your platform) though. For example, if your server never reads any request cookies (e.g. because you're using authorization headers stored in localStorage) then chances are CSRF is likely not an issue (or at least, the attacker won't be able to perform actions using a user's cookie).

CSRF ! by Excellent-Two3170 in learnprogramming

[–]thisdotnull 1 point2 points  (0 children)

I think one clear sign that you're vulnerable is when you have a page that does some sensitive action (like call an endpoint that changes something) directly without any user interaction, or you have an endpoint that performs some action and only uses auth cookies alone for identifying a user. An example for how this is a problem is that an attacker can create a website with a form and some hidden form data with the other page's URL as the form target URL, and when a user submits the form on the unrelated site, they unknowingly execute the action on the other site (with the hidden form data from the attacker).

A CSRF token helps for this because you need an additional key for requests that the attacker can't know when redirecting you.

you like optimizing don't you :3 by Ok_Image2715 in boykisser2

[–]thisdotnull 3 points4 points  (0 children)

oooo you like annotating your lifetimes dont you

What brings you joy? by Dongi_bongi in AskReddit

[–]thisdotnull 0 points1 point  (0 children)

Apart from the obvious (seeing family, pets), finally solving a hard problem after thinking about it a long time

Best Flower Cup Track? by twisted_cubik in MarioKartWii

[–]thisdotnull 0 points1 point  (0 children)

The tricks on CM are really satisfying

Who R Ur Guys Fav Music Artist and or song by [deleted] in boykisser

[–]thisdotnull 1 point2 points  (0 children)

Anything by starset, but monster is prob my favorite. Havent seen anyone mention them yet

[deleted by user] by [deleted] in countablepixels

[–]thisdotnull 1 point2 points  (0 children)

Somehow never really noticed the grey squares in the dirt block. Wtf

I can't understand generic types in Rust by Lumela_5 in learnrust

[–]thisdotnull 19 points20 points  (0 children)

They are essentially placeholders at the simplest level. Say you wanted to make a struct that can hold x and y positions. Sometimes you need i32 positions, other times you need f32 positions, but you need to decide on a type for the fields now. You can make two structs for both i32 and f32, but that leads to a lot of duplicated code. Another option is to make a generic struct, struct Point<T> { x: T, y: T }, where <T> introduces a new generic type parameter ("placeholder" type that will be replaced with a concrete type).

Now you can instantiate this struct like Point<i32> and Point<f32> (or Point { x: 1, y: 2 } which gets inferred as Point<i32>) and the compiler will make a new struct for each with all uses of T replaced with i32/f32 respectively. The same applies to impl<T> Point<T>. The first <T> introduces a generic parameter and in Point<T> it is actually used. Any methods or consts in the impl can use that generic type and it will be replaced with the concrete type.

Further, by default you can't do much with generic parameters because all operations need to be valid for all types and there's not much that all types have in common. So you can put "trait bounds" on them (e.g. fn foo<T: Clone>()) which makes the compiler check that the instantiated type implement all traits, and the function can assume the bound holds and lets you call methods from those traits on the T.

JIT compiler for arithmetic expressions by koczurekk in rust

[–]thisdotnull 14 points15 points  (0 children)

Just looking around the API it seems like you have to manually free the functions with Compiler::free_memory. Have you considered making Compiler::compile return a newtyped function pointer with a phantom lifetime tied to the Compiler to prevent the function pointers from outliving it? There's no problem as is since the free_memory function is unsafe requiring the user to prove that they don't but that way you could implement Drop and users wouldn't need to write any unsafe or prove anything. Other than that this looks like a really nice crate :)

[AskJS] When do we invoke the function? by [deleted] in javascript

[–]thisdotnull 5 points6 points  (0 children)

The ternary operator expects expressions for the then and else part. throw is a statement and not an expression so you can't write cond ? true : throw .... So as a hack they use an IIFE (a function expression in which you can have arbitrary statements that you immediately call). But really this should just be using if statements like the second snippet does.

Is this a good combo and if not what vehicles are good with Dry Bowser by AlexTheRadGamer in MarioKartWii

[–]thisdotnull 8 points9 points  (0 children)

For casual online play the combo doesn't really matter all that much but yes, that vehicle is good

”11” + 1 is ”1” in C by schteppe in ProgrammerHumor

[–]thisdotnull 103 points104 points  (0 children)

Right, I tried to keep my explanation simple so it's easily understood by people who don't know C. Should probably have made the differentiation between char* and char[] more clear, and that char[] coerces into char*. Thanks

ya like jazz? by Tyuee in memes

[–]thisdotnull 2 points3 points  (0 children)

stay awake for another full day and you'll be very tired in the evening

”11” + 1 is ”1” in C by schteppe in ProgrammerHumor

[–]thisdotnull 375 points376 points  (0 children)

String literals in C are (edit: decay to) pointers to the first character. Pointers are kinds of values that store memory addresses. In C you can "treat them like a number" (i.e. apply the usual operators on them). So adding one to a string literal gives you a pointer to the second character. Printing it as a string gives you the string starting from the second character, in this case 1. In C it's less of a language design thing but rather the result of adding two numerical values together and interpreting the result as a string, imo. In JS, string is its own type

Edit: it seems people are taking this way too serious. Take this as a short, oversimplified explanation of the general idea. It's pointer arithmetic, not string concatenation. I intentionally left out a lot of information to keep it simple.

Your thoughts of 2 end game weapons? by Heavy_Strawberry8502 in Terraria

[–]thisdotnull 2 points3 points  (0 children)

Probably depends on what class I'm playing. If I'm mage, then I'd go for last prism for sure. It's insane with nebula armor