

Looks like a normal branch where someone debugs some GitHub workflow.


Looks like a normal branch where someone debugs some GitHub workflow.


Quite a while ago, I wrote this to document my understanding what OOP actually is.
This sentence at the end is interesting:
On the other hand it sounds unlikely that there will be a popular language without object-oriented influences some day, so at least minimal syntax-level support is desirable.
Rust was published like one year later and it can be considered popular by now. Does Rust support OOP via traits? Kind of yes, but so does Haskell with typeclasses.


Most C++ devs blame themselves and not the language though. So it still gets used a lot.


To be clear, the language itself is usually not the big part. You also have to learn the eco-system, libraries, packaging, debugging, etc.
(C++ is still a very “comprehensive” language though)
If you use the SQLite C API like this
char query[256];
snprintf(query, sizeof(query),
"SELECT * FROM users WHERE username = '%s'", username);
int rc = sqlite3_exec(db, query, NULL, NULL, &err_msg);
and someone enters Robert'; DROP Table Students;-- as username, it deletes the table Students.
const char *sql = "SELECT * FROM users WHERE username = ?";
int rc = sqlite3_prepare_v2(db, sql, -1, &stmt, NULL);
if (rc != SQLITE_OK) {
fprintf(stderr, "Failed to prepare statement\n");
return;
}
sqlite3_bind_text(stmt, 1, username, -1, SQLITE_STATIC);
Using this “prepared statement” and “bind”, your code is secured against such SQL injection attacks.


xkcd 242 obviously



You can also try fish, to see what a decked out zsh feels like. 😇


Android/iOS users: What is “closing“? What is a „program“?


I’m under the illusion that i did figure out how Gimp works. ☺️
“I have five pounds. Is that enough?”
“No.”
“It costs more than five pounds?”
“No.”
“How much do I have to pay?”
“This is NaN pounds.”
“That means it costs more than five pounds?”
“No.”
“It costs less than five pounds?”
“No.”
“Exactly five pounds?”
“No.”
leaves the shop
(Remember, comparison with NaN is always false)