ABasilPlant

joined 11 months ago
[–] [email protected] 2 points 1 month ago

That's crazy helpful - thanks!

[–] [email protected] 2 points 1 month ago

Perfect, thanks a million! I'll be getting on them soon!

[–] [email protected] 2 points 1 month ago* (last edited 1 month ago) (6 children)

Could you link the page which shows your exact config at that price? I can't find anything like that. KVM, AMD, Windows VPS - I looked at all three but none suggest the price you've written.

That price sounds like a steal, and I'd love to get it if possible. I currently pay $6/month per VPS with Digital Ocean

https://www.racknerd.com/ryzen-vps

[–] [email protected] 3 points 1 month ago

https://searx.space/

This website shows the SearXNG public instances. It is updated every 24 hours, except the response times which are updated every 3 hours. It requires Javascript until the issue #9 is fixed.

[–] [email protected] 138 points 2 months ago (5 children)

Are you talking about this: I have toyota corola?

 

via: @[email protected]

https://wetdry.world/@memes/112717700557038278

the sqlite codebase is a gem.

tldr; mcaffee made a shit ton of sqlite files in the temp folder causing people to call the sqlite devs phone angrily. now they name all files etilqs to prevent this.

Text from the screenshot:

2006-10-31: The default prefix used to be "sqlite_". But then Mcafee started using SQLite in their anti-virus product and it started putting files with the "sqlite" name in the c:/temp folder. This annoyed many windows users. Those users would then do a Google search for "sqlite", find the telephone numbers of the developers and call to wake them up at night and complain. For this reason, the default name prefix is changed to be "sqlite" spelled backwards. So the temp files are still identified, but anybody smart enough to figure out the code is also likely smart enough to know that calling the developer will not help get rid of the file.

Code found at: https://github.com/sqlite/sqlite/blob/master/src/os.h#L65 (The line numbers in the screenshot and the code don't match up)

[–] [email protected] 14 points 3 months ago (9 children)

Isn't Angstrom 10^-10 meters? And nanometers 10^-9 meters? So 20A (assuming A = Angstrom) is just 2nm?

Are they trying to say that by moving to this new era, they'll go single digit Angstrom i.e., 0.x nm?

[–] [email protected] 2 points 3 months ago* (last edited 3 months ago) (1 children)

The debug version you compile doesn't affect the code; it just stores more information about symbols. The whole shtick about the debugger replacing instructions with INT3 still happens.

You can validate that the code isn't affected yourself by running objdump on two binaries, one compiled with debug symbols and one without. Otherwise if you're lazy (like me 😄):

https://stackoverflow.com/a/8676610

And for completeness: https://gcc.gnu.org/onlinedocs/gcc-14.1.0/gcc/Debugging-Options.html

[–] [email protected] 3 points 4 months ago* (last edited 4 months ago) (3 children)

Excellent question!

Before replacing the instruction with INT 3, the debugger keeps a note of what instruction was at that point in the code. When the CPU encounters INT 3, it hands control to the debugger.

When the debugging operations are done, the debugger replaces the INT 3 with the original instruction and makes the instruction pointer go back one step, thereby ensuring that the original instruction is executed.

[–] [email protected] 23 points 4 months ago* (last edited 4 months ago) (5 children)

https://en.wikipedia.org/wiki/INT_(x86_instruction) (scroll down to INT3)

https://stackoverflow.com/a/61946177

The TL;DR is that it's used by debuggers to set a breakpoint in code.

For example, if you're familiar with gdb, one of the simplest ways to make code stop executing at a particular point in the code is to add a breakpoint there.

Gdb replaces the instruction at the breakpoint with 0xCC, which happens to be the opcode for INT 3


generate interrupt 3. When the CPU encounters the instruction, it generates interrupt 3, following which the kernel's interrupt handler sends a signal (SIGTRAP) to the debugger. Thus, the debugger will know it's meant to start a debugging loop there.

 

I was in a rush and I needed to pick up a quick snack that I could eat during class. I chose these Nature Valley bars which said they had ten bars inside. What I failed to notice is the tiny print at the bottom where it says 5 x 2, i.e., 5 packets with two bars.

Lo and behold when I open a pack during a break, I find two bars inside. I didn't want to eat two bars, just one. You can't even just leave the other fucking bar inside because they create so MANY crumbs. How the fuck are you supposed to seal it???

Stupid-ass deceptive printing got the better of me. It's not the end of the world, just mildly infuriating.

view more: next ›