The mermaid is taking over Google search in Norway — неизвестный спамер создал сайт, который вылезает в поисковой выдаче Google в Норвегии по практически любому запросу
ALEXSKRA
The mermaid is taking over Google search in Norway - ALEXSKRA
A weird thing is going on with Google search in Norway right now. Spammers are taking over.
Так, чтобы решить возможные споры раз и навсегда, предлагаю вашему вниманию следующий вопрос:
Вафель классный?
Вафель классный?
Anonymous Poll
24%
Да
4%
Конечно
8%
Разумеется
4%
Ещё бы
7%
Безусловно
8%
Несомненно
46%
Нет/Я Вафель
Первый элемент односвязного списка и последующий список обычно называют head и tail. Если вам по каким-то причинам потребовалось делить список на первый элемент, второй элемент и остаток, предлагаю второй элемент называть neck
👍16😁4
Forwarded from мне не нравится реальность
В старых версиях раста для работы с коллизиями в хэшмапах использовалось линейная зондирование (???, linear probing), а сиды переиспользовались. ~5 лет назад было обнаружено что это приводит к (неожиданно) квадратичному поведению.
Вот отличный writeup на эту тему: Accidentally Quadratic: Rust hash iteration+reinsertion
Эта проблема была позже разрешена тем, что хэшмапы по умолчанию используют случайный сид для хэшера, что делает порядки элементов в разных хэшмапах независимыми.
Так-же hashbrown, библиотека которую использует std, после редизайна использует ~квадротичное зондирование, что тоже помогает с этим.
Если интересно как редезайнули hashbrown (SwissTable), то можно прочитать вот тут: https://gankra.github.io/blah/hashbrown-tldr/
Цитируя авторку статьи:
> it was such an improvement that it reduced compile times for basically every rust program by ~10% (rustc is just several HashMaps in a trenchcoat)
Вот отличный writeup на эту тему: Accidentally Quadratic: Rust hash iteration+reinsertion
Эта проблема была позже разрешена тем, что хэшмапы по умолчанию используют случайный сид для хэшера, что делает порядки элементов в разных хэшмапах независимыми.
Так-же hashbrown, библиотека которую использует std, после редизайна использует ~квадротичное зондирование, что тоже помогает с этим.
Если интересно как редезайнули hashbrown (SwissTable), то можно прочитать вот тут: https://gankra.github.io/blah/hashbrown-tldr/
Цитируя авторку статьи:
> it was such an improvement that it reduced compile times for basically every rust program by ~10% (rustc is just several HashMaps in a trenchcoat)
Tumblr
Post by @accidentallyquadratic · 2 images
💬 1 🔁 45 ❤️ 95 · Rust hash iteration+reinsertion · It was recently discovered that some surprising operations on Rust’s standard hash table types could go quadratic.
Perhaps the simplest illustr…
Perhaps the simplest illustr…
👍2
Forwarded from Технологический Болт Генона
> The first erroneous computation example is CVE-2021-39137 which is an interesting go-ethereum bug identified by Guido Vranken. The bug caused a netsplit in the Ethereum network and essentially results from the ability to have a mutable and non-mutable slice referencing the same chunk of memory.
A deeper dive into CVE-2021-39137 – a Golang security bug that Rust would have prevented
https://research.nccgroup.com/2022/02/07/a-deeper-dive-into-cve-2021-39137-a-golang-security-bug-that-rust-would-have-prevented/
И что б два раза не вставать. Интересный пост
> On 2/2/2022, I reported a critical security issue to Optimism—an "L2 scaling solution" for Ethereum—that would allow an attacker to replicate money on any chain using their "OVM 2.0" fork of go-ethereum (which they call l2geth).
Attacking an Ethereum L2 with Unbridled Optimism
https://www.saurik.com/optimism.html
A deeper dive into CVE-2021-39137 – a Golang security bug that Rust would have prevented
https://research.nccgroup.com/2022/02/07/a-deeper-dive-into-cve-2021-39137-a-golang-security-bug-that-rust-would-have-prevented/
И что б два раза не вставать. Интересный пост
> On 2/2/2022, I reported a critical security issue to Optimism—an "L2 scaling solution" for Ethereum—that would allow an attacker to replicate money on any chain using their "OVM 2.0" fork of go-ethereum (which they call l2geth).
Attacking an Ethereum L2 with Unbridled Optimism
https://www.saurik.com/optimism.html
Nccgroup
Cyber Security Research
Cutting-edge cyber security research from NCC Group. Find public reports, technical advisories, analyses, & other novel insights from our global experts.
🤯2
Блог*
#prog #article Заметка о неожиданном взаимодействии fork и kill.
#prog #c #article
Статья о том, как правильно использовать этот ваш fork (спойлер: СЛОЖНО)
habr.com/ru/post/586604/
Статья о том, как правильно использовать этот ваш fork (спойлер: СЛОЖНО)
habr.com/ru/post/586604/
❤9
Блог*
using map = std::unordered_map<std::remove_reference_t<decltype(nums)>::value_type, int>; Не давайте растистам (мне) писать код на C++.
В продолжение темы. И да, это решение одной из задач на Leetcode.
class Open {
private:
enum class Value {
Paren,
Bracket,
Brace
};
Value value;
Open(Value val): value(val) {}
public:
Open() = delete;
static std::optional<Open> from_char(char ch) {
switch (ch) {
case '(': return Open(Value::Paren);
case '[': return Open(Value::Bracket);
case '{': return Open(Value::Brace);
default: return std::nullopt;
}
}
bool complements(char ch) const & {
switch (ch) {
case ')': return value == Value::Paren;
case ']': return value == Value::Bracket;
case '}': return value == Value::Brace;
default: return false;
}
}
};
class Solution {
public:
bool isValid(string s) {
std::vector<Open> stack {};
for (auto ch : s) {
if (auto open = Open::from_char(ch); open.has_value()) {
stack.push_back(*open);
} else {
if (!stack.empty() && stack.back().complements(ch)) {
stack.pop_back();
} else {
return false;
}
}
}
return stack.empty();
}
};
Forwarded from Generative Anton
This media is not supported in your browser
VIEW IN TELEGRAM
В Meta (которая ex-Facebook) сделали интересную модельку: реконструкция 3D модели объекта под новым ракурсом в новом видео из увиденных видео с объектом в прошлом.
Forwarded from Links and Huita
#programming
В топе бенчмарков веб-фреймворков оказался фреймворк на Js, Just-JS
https://just.billywhizz.io/blog/on-javascript-performance-01/
https://www.techempower.com/benchmarks/#section=data-r20&test=composite
В топе бенчмарков веб-фреймворков оказался фреймворк на Js, Just-JS
https://just.billywhizz.io/blog/on-javascript-performance-01/
https://www.techempower.com/benchmarks/#section=data-r20&test=composite
just.billywhizz.io
On Javascript Performance1. Techempower Rankings
A summary of techempower benchmark results for a new Javascript platform
Компьютер может просто работать и просто считать циферки, не его вина, что кто-то код писать не умеет
🥰9👎4👍2😁1🤔1😱1
Forwarded from мне не нравится реальность
Я придерживаюсь презумпции няшности. Все — няшки, пока не доказано обратного.
мне не нравится реальность
Я придерживаюсь презумпции няшности. Все — няшки, пока не доказано обратного.
То есть Вафель — няшка, Q. E. D.
🤮14👎3👍2