All streams
Search
Write a publication
Pull to refresh
93
0
Григорий Борисович @naething

Пользователь

Send message
Судя по наблюдению за своим отцом, важен не какой-то абстрактный «смысл жизни», а постоянное занятие, приносящее ощущение прогресса и удовлетворения (да-да, привет, «геймификация»).

Моему отцу помогли силовые тренировки со штангой. Но здесь есть один ключевой момент: просто ходить в зал и делать случайные упражнения по кругу не годится. Нужно иметь конкретную программу для новичков типа Strating Strength или Stronglifts, которая заставляет вас повышать вес каждое занятие. Вы подсаживаетесь на «иглу» результатов и каждое занятие идете ставить новые рекорды. И результаты не какие-то абстрактные, а вполне физические, и к тому же позитивно отражаются на вашем внешем виде. Также улучшается гормональный фон, что способствует хорошему настроению.

В итоге отец не пьет уже несколько лет, хотя раньше у него была постоянная проблема с алкоголем.
Судя по тексту статьи, под «самоцитированием» понимается не только прямое цитирование своих статей, но и цитирование двумя или более авторами друг друга по кругу для накручивания показателей.
Вот, например:
github.com/frohoff/ysoserial
deadcode.me/blog/2016/09/02/Blind-Java-Deserialization-Commons-Gadgets.html#execWait

Уязвимость в том, что десериализация вызывает конструктор для произвольного класса, имя которого указано в исходном потоке байтов. Если в вашем classpath достаточно классов, которые делают разные полезные вещи в своем конструкторе, то можно соорудить хитрый объект, который при десериализации будет делать, что вам нужно. Такие «полезные» классы называют «гаджетами», и одни из наиболее популярных — из библиотек Apache Commons, которые почти в каждом крупном проекте используются.

Для заделывания дыр часто применяют черные или белые списки классов, но понятно, что это не дает 100% гарантии. В общем, технология broken by design, что называется.
А что вас так смущает? Можете проверить с помощью Wolfram Alpha
Ну ок, но почему это личная уголовная ответственность? В приличном государстве компания должна заплатить штраф. Сажать-то людей за что?
Всё так. Я просто к тому, что на деле эти формальные требования сильно относительны, и уважаемый lanseg слишком сильно парится и себя недооценивает, на мой взгляд. Хотя, конечно, я не знаю деталей его конкретной ситуации.
Про гугл много пишут что они предлагают средний total compensation, но с competitive offer могут сильно ее поднять. Так ли это?
Да, это везде так, и гугл не исключение. Никто не будет вам сразу давать жирный офер (особенно если вы приходите не из FAANG) — надо немного поторговаться, и офер от другой компании лучшее для этого средство.
По-моему у вас классический impostor syndrome, как они это сами называют. Хороших технических навыков вполне достаточно должно быть на L4. Не дайте им себя запугать всеми этими формальными требованиями — это делается, чтобы вам было можно меньше платить :). Некоторые знакомые мне L5 совершенно не умеют писать дизайн-доки, оценивать приоритеты и планировать, но тем не менее стабильно получают meets expectations из года в год и не парятся.

То, что вас взяли на уровень выше, — это однозначно плюс, поскольку не надо лишний раз проходить через промо (вот там будет реальная нервотрепка). Еще, говорят, очень сложно уволить человека из гугла.
«Кто я такой, чтобы задним числом критиковать Бьёрна времён 84-го года? Пускай у него было меньше опыта, чем у нынешнего меня. Но он был ничуть не глупее, и, вероятно, даже умнее меня, и лучше меня понимал реалии 84-го года.»

Здесь vintage не имеет значения «винтажный или ламповый». Vintage — это дословно процесс сбора урожая винограда и изготовления вина. 1984 vintage Bjarne означает что-то вроде «Бьерн 1984-го года розлива»
Ну круто же?
Круто, что быстро запилили (и мы уже активно используем), но вот сам механизм pin/unpin довольно сложный для понимания на мой взгляд, и большинство реализаций «стандартных» комбинаторов требуют unsafe (пример)

До этого комбинаторы были проще внутри.
Интересно, а как такой аудит кода работает? Где гарантия, что сборка, которую они установят, собрана из тех исходников, на которые они смотрели? Или они прям сами в этом специальном гос. органе собирают все из этих исходников? С трудом верится.
А вы попробуйте. Скорее всего окажется, что острой нужды в ООП на самом деле нет :).
Уточните, пожалуйста, где вы там видите оправдание разделения семей? Он лишь сказал, что сравнение с нацистскими концлагерями неуместно.
Вот реально, что мне сейчас такого может дать винда, чего не может ни одна другая операционка, чтобы мне страсть как захотелось за эту самую винду заплатить?
DirectX?
Просто в главном офисе Гугл в Моунтин Вью все открывается моментально — гигабитные каналы, минимальные задержки и сверхмощные рабочие станции. Вот никто и не заметил из авторов :)
А массивы, что с ними не так?
Проблема 1: Массив фиксированной длины нельзя ициниализировать в цикле или, скажем, из среза или итератора. Например, если вы хотите заполнить массив длины N (где N — констана) числами от 0 до N-1, вам придется написать что-то вроде

let a = [0i32; N];
for i in 0..N {
    a[i] = i;
}

Здесь память переписывается дважды: первый раз нулями при инициализации массива, второй раз при заполнении числами. Нет никакой возможности этого избежать.

Проблема 2: Длину фиксированного массива нельзя сделать параметром шаблона. В C++ вы можете написать
template<size_t N>
struct Foo {
    int x[N];
};
В текущей версии Rust числа не могут быть параметрами шаблона, поэтому так сделать нельзя. Из этого вытекают многие другие проблемы. Например, нельзя реализовать какое-либо свойство (trait) для массивов произвольной длины. Если вы откроете страницу документации о массивах, то увидите, что реализации стандандартных свойств генерируются с помощью макросов для каждого N от 1 до 32: doc.rust-lang.org/std/primitive.array.html (в самом конце страницы). То есть, например, PartialEq реализовано для [u8; 32], но не для [u8; 33].
Ну окей, вы привели один удачный пример. А вот другой пример с кикстартера, прибор для лишения зрения:

www.kickstarter.com/projects/880456201/cubiio-the-most-compact-laser-engraver

После того, как им в интернете настучали по голове, они стали прилагать защитную коробку к своему лазеру. Но вот, например, их более раннее рекламное видео:

www.youtube.com/watch?v=n4fp89a-edo

Улыбчивые люди без какой-либо защиты для глаз прожигают мощным лазером деревяшки чуть ли не на коленке.
А почему вы именно на Россию делаете упор? В американских стартапах точно такие же дилетанты работают, может даже и похлеще местами. Просто в Штатах по юридическим причинам такой девайс сложнее было бы выпустить.

«Технология» стала массовой и доступной, снизился порог входа, и народ хлынул изобретать всякую всячину в надежде заработать. Это не всегда так ярко выражается, как в этом конкретном случае (в виде реальной угрозе жизни). Чаще просто негативно отражается на качестве продукта. Хотя, как уже отметили выше, во всём этом не одни дилетанты и стартапы виноваты: рынок требует продать, а не сделать хорошо.
Xi-Editor — это новый блестящий редактор от Google
Пожалуйста, исправьте. Не от Google, а от Рафа Левиена, который, к слову, около месяца назад из Гугла ушел.

Information

Rating
Does not participate
Location
Palo Alto, California, США
Date of birth
Registered
Activity