« first day (160 days earlier)      last day (3142 days later) » 

2:12 AM
12
A: Какие изменения в привилегиях произойдут после аттестации сайта?

alexander barakinувидеть отличия можно, сравнивая два списка: ru.stackoverflow.com/help/privileges и stackoverflow.com/help/privileges. ниже приведен «сборный» список, в котором отражено изменение в количестве баллов за ту или иную привилегию. изменения коснутся только «дорогостоящих» привилегий и, в целом, коли...

 
 
3 hours later…
5:38 AM
1
Q: Привилегия «site-analytics» не переведена

Tagir ValeevНедавно появилась новая привилегия, описание которой полностью не переведено. Нужен перевод заголовка «Access to site analytics» («Доступ к аналитике»?), перевод краткого описания «Access to internal and Google site analytics» («Доступ к собственным данным веб-аналитики и данным Google»?) и перев...

 
 
2 hours later…
7:08 AM
19
Q: What is an object's hash code if hashCode() is not overridden?

java_geekIf the hashCode() method is not overridden, what will be the result of invoking hashCode() on any object in Java?

Какой же бред
По факту ни один ответ не говорит, как на самом деле
Либо враньё, либо общие слова
При этом это считается каноническим вопросом на тему. Все остальные помечают дубликатами этого
 
 
3 hours later…
9:44 AM
@TagirValeev на самом деле скорее всего это implementation-dependent
@TagirValeev возьмите напишите свой ответ
 
Ну сказать implementation-dependent — это всё равно что ничего не сказать. Надо привести примеры как оно в каких-нибудь конкретных реализациях. Я написал к свежему вопросу на ту же тему ответ.
Можно, конечно, сдублировать…
Перенёс к тому вопросу, пусть будет
0
A: What is an object's hash code if hashCode() is not overridden?

Tagir ValeevIn HotSpot JVM by default on the first invocation of non-overloaded Object.hashCode or System.identityHashCode a random number is generated and stored in the object header. The consequent calls to Object.hashCode or System.identityHashCode just extract this value from the header. By default it ha...

 
implementation-dependent - значит нет гарантии, что, например, на конкретной реализации hashCode вообще будет чем-то отличным от return 0;
@TagirValeev на C#, например, используется вот такой генератор:
inline DWORD GetNewHashCode()
{
    LIMITED_METHOD_CONTRACT;
    // Every thread has its own generator for hash codes so that we won't get into a situation
    // where two threads consistently give out the same hash codes.
    // Choice of multiplier guarantees period of 2**32 - see Knuth Vol 2 p16 (3.2.1.2 Theorem A).
    DWORD multiplier = GetThreadId()*4 + 5;
    m_dwHashCodeSeed = m_dwHashCodeSeed*multiplier + 1;
    return m_dwHashCodeSeed;
}
с сохранением значения в sync block объекта (в хедер)
но при этом тупо return 0; является валидной реализацией
 
9:59 AM
Ну в Hotspot с опцией -XX:hashCode=2 всегда выдаст единичку =)
 
т.к. возвращает одно и то же значение для одного и того же объекта, и возвращает одно и то же значение для эквивалентных объкетов
@TagirValeev вот вам ответ на тот же вопрос по тегу C#: stackoverflow.com/questions/720177/…
почуствуйте разницу. причем это было еще до открытия полных исходников рантайма
 
По факту принятый ответ просто неверный. "hashCode() just returns the object's address in memory", следующий по числу голосов вообще вопрос не читал. "The implementation of hashCode() may differ from class to class ". В вопросе написано if not overridden. Третий показал, что он умеет цитировать JavaDoc, причём тот же самый отрывок, что процитирован раньше был. Но по крайней мере не соврал, просто уклонился от ответа
А ведь люди это читают и верят!
Ну у шарпистов хоть больше по теме. Хотя бы в сорцы кто-то заглянул
 
@TagirValeev у шарпистов Eric Lippert на SO сидит. там всегда есть кому зайти и заглянуть в сорсы )
 
По Java народу из оракла хватает. Просто они обычно отвечают на интересные вопросы =)
 
@TagirValeev странно все это. java куплена ораклом, все как-то закрыто, "глянуть в исходники" всем лень. а MS вовсю опенсорсит, прямо блин корпорация бобра.
 
10:10 AM
По-моему, Java гораздо открытее стала, чем была у Sun
OpenJDK в публичном hg-репозитории, публичные мейлинг-листы, где разработчики новые фичи кидают на код-ревью. Публичный issue-tracker, который реально используется для всех задач (а не только для тех, о которых левые люди сообщили). Всякие JSR, JEP, JCP. Видно над чем прямо сейчас работают люди
Я уже пару мелких багов вылавливал на code-review Java-9 :-) Просто постишь ответ, тебе крутые девелоперы спасибо говорят и исправляют
 
@TagirValeev у вас сам рантайм открыт?
@TagirValeev gc, jit и прочее
 
Да, конечно
 
@TagirValeev тогда не понимаю, почему все поленились тупо в исходники глянуть
 
hg.openjdk.java.net/jdk9/dev/hotspot/file/4142c190cd5c/src/… — серверный компилятор здесь
hg.openjdk.java.net/jdk9/dev/hotspot/file/4142c190cd5c/src/… — все сборщики мусора
Самый актуальный код
hg.openjdk.java.net/jdk9/dev/hotspot/file/4142c190cd5c/src/… — вот как раз генерация хэшкода
 
@TagirValeev мда, наворотили :)
 
10:24 AM
Дык сколько лет оно развивалось!
Ну там четыре ветки из шести для дебага
Интересно, почему не switch-case...
На самом деле ниже идёт более адский метод — FastHashCode, который собственно проверяет, есть ли уже хэшкод в заголовке объекта и если нету, то записывает его туда. Всё должно быть очень быстро, но при этом потокобезопасно, чтобы два разных хэша не получили разные потоки. А главное, в заголовке объекта очень мало места, чтобы там всё хранить. Поэтому с этим связаны дополнительные извраты
 
@TagirValeev ну в C# точно так же сделано. но сама генерация в 3 строки уложилась
 
Ну в Java-7 сама генерация выглядит просто: value = os::random(); =)
 
@TagirValeev xkcd.com/221
 
avp
@TagirValeev, и все же я не понял, чем -XX:hashCode=1 не подошел как стандарт для всех (ну, кроме 2,3,4 для отладки) случаев?
 
10:44 AM
@avp, распределение плохое, надо полагать
 
@PashaPash ... причём лучше на русском и здесь :)
 
Создаёшь 20 объектов подряд, у них хэшкоды почти не отличаются с -XX:hashCode=1
хэш-таблицы страдают и смотрят на тебя с ненавистью
> печально то, что отвечая на вопросы готовым кодом...
Если вопрос в духе «сделайте за меня домашнее задание», я могу в ответе поупражняться и наколбасить что-нибудь суровое на Stream API
Если автор вопроса сможет это понять и сдать преподу, то молодец. Иначе пусть сам пишет =)
 
11:01 AM
@TagirValeev У меня было как-то аналогичное развлечение:
13
A: Задача на массивы

VladDЯ бы написал что-то вроде string.Join(", ", matrixRows.Select((r, i) => r.All(x => x == 0) ? (int?)i : null) .Where(i => i.HasValue)) но это вряд ли вам поможет. Попробуйте честно реализовать алгоритм и посмотрите, какая часть его не выходит.

2
 
:D молодец, правильно
О, это кандидат на знак «Реверс»
Шесть голосов ещё =)
 
Коллеги, имеет ли смысл закрывать вопрос о проблеме которая не воспроизводится сразу или стоит дать автору шанс исправить вопрос, направляя его через комментарии?
-2
Q: NaN при увеличении значения счётчика

korolariyaПочему выводит NaN вместо 3 и т.д.? var page = 1; $('.pagination li:last-child a').click(function() { page = page + 1; console.log(page); //service_map.load(item, null, page, callback_load_map); }); По всей видимости на кнопку вешался какой то еще обработчик возможно из bootstrap...

 
Теоретически правильно закрывать. Во-первых, с вопроса уже полчаса прошло, у него было достаточно времени, чтобы уточнить проблему
Во-вторых по идее если он отредактирует после закрытия, вопрос попадает в reopen queue
Люди с достаточной репутацией могут его там увидеть и проголосовать за переоткрытие
Ну или пусть новый задаёт, но уже сразу хороший, а этот уйдёт по сценарию on hold->close->delete
 
11:25 AM
ru.stackoverflow.com/review/suggested-edits/27747 вроде нормальная правка. Чего отклонили, интересно?
 
avp
11:54 AM
@TagirValeev, ну понятно. Я то из слов `mixed with some random value` решил, что там какая-то примитивная рандомизация, а они похоже тупо xor-ят этим value без всяких его вращений...
В конце-концов видимо решили, что хороший генератор не намного дороже примитвного.
 
12:19 PM
@avp Там ключевое «which is changed on the "stop-the-world" events»
Пока сборка мусора или другое stop-the-world событие не произойдёт, это рэндом-число остаётся постоянным
 
avp
12:40 PM
@TagirValeev, ну и что? Его всегда можно замешивать с адресом получая перемешанные биты (собственно, это (хорошо мешает) и делает любой генератор псевдослучайных чисел).
Адрес-то каждый раз новый.
 
12:56 PM
У ГСЧ всегда есть внутреннее состояние, которое меняется при выдаче следующего числа. А насчёт перемешивания битов — это частично делается уже в самих хэш-таблицах
Любопытно, что в семёрке был более адский алгоритм, но его упростили в восьмёрке.
 
avp
1:07 PM
@TagirValeev, это верно, поэтому ГСЧ дает хорошую последовательность. Я к тому, что можно перемешивать адрес с этими редко-меняющимися-случайными-битиками чем-то вроде md5 (дорого, но и без меняющегося внутреннего состояния), а можно циклически крутнуть их на величину адреса и заксорить с ним (быстро, но наверняка хуже, чем нормальный ГСЧ)
 
Ну да, MD5 — всяко дорого и не вариант
 
avp
А "адский" алгоритм глуп, поскольку константен.
 
Ну они там в основном боролись с сознательным DoS-атаками на хэш-таблицы
В восьмёрке это по-другому решили, через дерево
 
0
Q: Зачем объявлять неясным вопрос, имеющий принятый ответ?

QwertiyСобственно, периодически встречаю, что вопрос с принятым ответом помечен, как требующий правки в связи с неясностью. На мой взгляд, это бессмысленно, потому что автор не будет уточнять вопрос, если он уже получил ответ. К тому же, ответ с решением в таких случаях обычно уже содержит все требуемые...

 
avp
Вот так, пообсуждаешь (вспомнишь всякие murmur хэши) и приходишь к выводу (неправильному?), что thread-local ГСЧ это хорошее и недорогое решение
 
1:23 PM
По факту в Java ThreadLocalRandom заметно быстрее Random даже в однопоточном приложении
А для детерменированного поведения появился SplittableRandom. В результате обычный Random оказался совсем не нужен.
 
0
A: Зачем объявлять неясным вопрос, имеющий принятый ответ?

alexander barakin К тому же, ответ с решением в таких случаях обычно уже содержит все требуемые уточнения. вообще-то, закрывают вопрос (а не ответ), который как раз и «не содержит все требуемые уточнения».

2
A: Зачем объявлять неясным вопрос, имеющий принятый ответ?

Tagir ValeevStackOverflow нужен не для того, чтобы помочь конкретному человеку решить конкретную проблему, а в большей степени, чтобы сделать хороший FAQ на будущее. Поэтому каждый вопрос стоит рассматривать в этом контексте: а будет ли он полезен будущим читателям. Если автор неясно сформулировал свою мысль...

 
2:10 PM
0
Q: Первооткрыватели документации: предложение расширения Stack Overflow

Nicolas ChabanovskyПеревод «Warlords of Documentation: A Proposed Expansion of Stack Overflow». Прошло 7 лет с момента запуска Stack Overflow, за которые было задано 10,000,000+ вопросов. Сложно переоценить то благо, которое было сделано для индустрии, всю ту помощь, что разработчики день за днем предоставляют д...

 
 
1 hour later…
3:39 PM
Не поленился же перевести =)
 
 
1 hour later…
5:02 PM
@TagirValeev один )
Вот этот вопрос меня сегодня поразил до глубины души: ru.stackoverflow.com/revisions/449207/2
 
@NickVolynkin Этот вопрос еще раз доказывает, что программистам не нужна математика. Совсем. =)
 
@DmitriySimushev угу. Ещё вот этот: ru.stackoverflow.com/q/448771/181472
кажется, грядет кризис банковской системы.
программисты разучились умножать и делить числа.
 
5:23 PM
@NickVolynkin Печально все это. Хуже всего, что средний уровень вопросов на ru.so (как мне кажется) ниже плинтуса и только снижается со временем. Хотя, я участвую в жизни сообщества недавно и могу ошибаться.
 
@DmitriySimushev вечный сентябрь )
@DmitriySimushev мне кажется, это общая тенденция в последние лет 60. Языки программирования упрощаются, порог входа снижается, средняя квалификация программистов падает.
@DmitriySimushev но чего-то особо плохого в этом нет.
@DmitriySimushev даже наоборот, если из 100 школокодеров в среднем вырастает один специалист, то чем больше школокодеров — тем лучше. Правда, на вопросах это отражается негативным образом.
 
@NickVolynkin меня беспокоит только то, что все эти люди будут писать код и выкладывать его в продакшн. И не дай бог кому-то (например мне) придется все это поддерживать
2
@NickVolynkin Я уже молчу про безопасность и потенциальные утечки пользовательских данных...
 
@Vlad поздравляю с первым на Ru.SO Реверсом! ru.stackoverflow.com/help/badges/57/reversal
@DmitriySimushev смею надеяться, что с безопасностью будут работать специалисты хотя бы выше среднего
@DmitriySimushev в общем, это примерно как со спортом. Уверен, что если в каждом квартале сделать по футбольному полю и спортивной школе, то через какое-то время наш футбол станет немного лучше.
больше на входе — больше на выходе. Обычная конверсия.
@DmitriySimushev так что пускай приходят и задают свои нелепые вопросы. Хоть какой-то процент вырастет в профессионалов.
 
5:41 PM
@NickVolynkin Надеюсь вы правы
 
Причиной большинства проблем с IT, размещенных в интернете, является необучаемость и низкая квалификация вопрошающего. Я думаю что не отвечать на некачественные идиотские вопросы полезней с педагогической точки зрения.
3
 
6:01 PM
С другой стороны эвристики, которая бы автоматически отличала хороший вопрос от плохого не существует и поэтому приходится вручную разгребать тонны всякого дерьма. При этом голосование тоже не помогает. Очевидный ответ на легкий вопрос может иметь большое число голосов, но при этом не нести никакого смысла, значения или идеи. Сложный и полезный вопрос могут закрыть, не разобравшись сославшись на шаблонный комментарий. Такие суровые реалии.
 
@igumnov да, это верно
 
@igumnov Мне кажется, что на любой атомарный вопрос стоит давать ответ. А вот ответы из серии у меня не работает вот эта портянка js + html + css + php стоит закрывать с формулировкой "не по теме" -> "не воспроизводится"
 
@DmitriySimushev недавно тут человек задавал вопрос про Git невероятно объемный. Портянка Java+Gradle+Git+CDCI всякий. К сожалению, разделить вопрос на 10 маленьких и отвечаемых автор не хочет. ru.stackoverflow.com/q/446761/181472
 
@NickVolynkin если я правильно понял, автор приведенного вами вопроса, просто хочет получить готовый кусок кода под конкретную специфичную проблему. Это объясняет почему он упорствует в разделении вопроса.
@NickVolynkin В идеале, не должно быть портянок кода в вопросе. Должен быть "минимальный и достаточный" тестовый пример.
 
6:19 PM
@DmitriySimushev кусок кода и инструкцию
 
@NickVolynkin да, без инструкции это не имеет смысла :)
@NickVolynkin плохо то, что в вопрос обычно впихивают кусок чего, что не работает. Причем этот кусок нельзя запустить "сам-по-себе".
 
@DmitriySimushev мне нравятся вопросы (чаще на En.SO) вида «я что-то нажал в SourceTree и стало плохо. Как сделать хорошо?»
 
@NickVolynkin Урааааа! Ноль! Всем огромное спасибо!
 
@Vlad пожалуйста )
 
6:39 PM
Сверху еще на это накладывается типичная для рунета низкая скорость постинга, то что никто в здравом уме не заплатит(и даже не уведомит постера) ни копейки за пользование ответами, размещенными на нем, и то что сама политика материнского ресурса по отоношению к информации все же довольно жадна, пропиетарна и агрессивна(код движка закрыт). Короче я уже потерял надежду на то что эта штука когда-нибудь превратится в годный справочник и просто буду использовать её для прокрастинации в флудилке.
 
6:54 PM
@igumnov зря вы считаете такой уж большой проблемой закрытость движка. SO это в первую очередь информация в виде вопросов/ответов.
 
@igumnov "потерял надежду на то что эта штука когда-нибудь превратится в годный справочник" У меня противоположное мнение, уже который год SO в топах выдачи по всем программерским вопросам с годными решениями или целеуказаниями
 
@KromStern это вы, наверное, о en.so
 
@DmitriySimushev да
@DmitriySimushev а тут тема исключительно про русский СО ?
 
@KromStern незнаю, я просто не видел ru.so в топах выдачи, вот и удивился :)
 
@igumnov Зато сложнее на них ответить так, чтобы было интересно и полезно окружающим. Но это уже, кажется, надо быть одарённым педагогом :-\
 
7:08 PM
@DmitriySimushev дело наживное
@Vlad и иметь тонну терпения и свободного времени, чтобы в 100500 раз набирать примерно один и тот же поучительный текст ;)
 
@KromStern Тонны руды — грамм добычи :)
Ну, можно написать один канонический ответ, и перенаправлять туда всех с подобными вопросами.
 
@Vlad сделать его коротким и обозвать причиной закрытия ;-)
 
7:24 PM
@Vlad Почему-то вспомнил историю про школьников которые отвечали на вопрос чему равно 2+3 строкой 3+2, мотивируя это тем что сложение коммутативно. @Krom Я про локализацию, когда я увидел лет 5 наза материнский SO в первый раз, то вообще подумал что оно не взлетит до текущих масштабов и просто проигнорировал его, а потом позже присоединился к ХК, т.к. он был запилен местными ребятами.
 
@igumnov мне английский SO как-то сразу приглянулся, наверно потому что его Joel Spolsky продвигал
 
7:42 PM
posted on September 08, 2015

Start Time: 9/9/2015 @ 8:00PM EDT (2015-09-10 @ 00:00 UTC) End Time: 9/9/2015 @ 10PM EDT (2015-09-10 @ 02:00 UTC) We will be doing router maintenance in our Jersey City Data Center tomorrow 9/9/15. We will be upgrading the memory on the routers that handle traffic that is not handled by CloudFlare. We will also be transitioning to full BGP tables at the same time. You may see some brief c

 
интересно, как тот один и тот же человек мог задать два таких разных вопроса: вот этот и тот, на который я уже давал ссылку
в голове не укладывается
 
Network Maintenance tomorrow night: http://stackstatus.net/post/128291132704/data-center-failover-september-3-2015
 
8:03 PM
@NickVolynkin корпоративный аккаунт?)
2
 
@KromStern Почему бы и нет? :-)
@igumnov А, это кажется Арнольд любил приводить в пример для троллинга бурбакистов.
В ту же копилку:
 
 
2 hours later…

« first day (160 days earlier)      last day (3142 days later) »