[-] barubary@infosec.exchange 3 points 22 hours ago

Only since 2014, so barely over a decade.

[-] barubary@infosec.exchange 3 points 1 day ago

CPU? It's called a modem!!

[-] barubary@infosec.exchange 4 points 2 days ago

BTW, you can configure uBlock Origin to block all 3rd party javascript by default, but allow 1st party scripts, so you don't even need NoScript to get most of these benefits.

[-] barubary@infosec.exchange 16 points 4 weeks ago

C) It's an obvious joke.

[-] barubary@infosec.exchange 18 points 1 month ago

Because let x: y is syntactically unambiguous, but you need to know that y names a type in order to correctly parse y x. (Or at least that's the case in C where a(b) may be a variable declaration or a function call depending on what typedefs are in scope.)

[-] barubary@infosec.exchange 16 points 1 month ago* (last edited 1 month ago)

POV: You open vim for the first time.

[-] barubary@infosec.exchange 16 points 3 months ago

The same is true of std::endl. std::endl is simply defined as << '\n' << std::flush; nothing more, nothing less. In all cases where endl gives you a "properly translated" newline, so does \n.

[-] barubary@infosec.exchange 33 points 3 months ago

std::endl provides zero portability benefits. C++ does have a portable newline abstraction, but it is called \n, not endl.

[-] barubary@infosec.exchange 11 points 5 months ago

Arguably, I never fully learned Bash syntax, but it also is just a stupid if-statement. There shouldn’t be that much complexity in it.

There isn't. The syntax is

if COMMANDthenCOMMAND(s)...elseCOMMAND(s)...fi

I believe, if you write the then onto the next line, then you don’t need the semicolon.

Yes, but that's true of all commands.

foo; bar; baz

is the same as

foobarbaz

All the ] and -z stuff has nothing to do with if. In your example, the command you're running is literally called [. You're passing it three arguments: -z, "$var", and ]. The ] argument is technically pointless but included for aesthetic reasons to match the opening ] (if you wanted to, you could also write test -z "$var" because [ is just another name for the test command).

Since you can logically negate the exit status of every command (technically, every pipeline) by prefixing a !, you could also write this as:

if ! test "$var"; then ...

The default mode of test (if given one argument) is to check whether it is non-empty.

Now, if you don't want to deal with the vagaries of the test command and do a "native" string check, that would be:

case "$var" in  "") echo "empty";;  *) echo "not empty";;esac
[-] barubary@infosec.exchange 71 points 5 months ago

Strictly speaking, it should be

Unsafe block syntax in C++

{  ...}
[-] barubary@infosec.exchange 15 points 2 years ago

@hstde @Spore Even better, the alphabetical index of function names was generated in English first and then translated, meaning the documentation looks like a scrambled mess in any other language because it is alphabetized according to what the English equivalent would be. #excel

view more: next ›

barubary

joined 2 years ago