« first day (972 days earlier)      last day (2347 days later) » 

5:06 AM
30
Q: Spam Profiles are getting my goat. Could we have better tools for mods to deal with profile spam?

Journeyman GeekSU got hit by another batch of spammers creating profiles. Last time it was streaming. Now it's insurance sales... with phone numbers. I have 160+ pages of users from that search, and a quick look suggests most of em are spammers While the powers at be have been taking action, both directly and...

Не хотите ли машину застраховать? :-D
@avp ноги надо было вытирать перед выходом в открытый космос просто
@Arhad трех? Всегда было двух, если ты не ромбонос, конечно.
Новые строки из транзифекса: «Post your public question» // скоро вопросы станут приватными
 
 
1 hour later…
6:21 AM
@alexolut @alexolut есть вот такое еще: ru.stackoverflow.com/users?page=1&tab=reputation&filter=month&search=отзывы
 
@VadimTagil 5 аккаунтов это не 100+ страниц всё же :)
 
@alexolut что такое "get a goat" ?
уже загуглил
 
6:36 AM
Интересно бы узнать этимологию
 
@alexolut idioms.thefreedictionary.com/get+goat (To annoy or anger someone) - по-моему так яснее
 
 
2 hours later…
@АлексейШиманский ну перевели где-то не дословно и творчески. В базу то всё подряд на сайт этот попадает...
 
@pavel "не дословно и творчески" - как сказал бы один знакомый товариСч: "лол".
 
8:42 AM
@АлексейШиманский бинайс-трансформация произошла просто, не обращайте внимание.
0
Q: Searching for a single dash tag breaks tag formatting

alexolutNot sure what should be in the options text for this search request, but definitely not this: Also there is weird tag wiki shown on hover this area as said in comments:

Весь сайт в хинте ...
 
@АлексейШиманский, ты давай не facepalm - а плюсуй :-) хороший же ответ :-) да и вопрос в принципе :)
 
@Grundy да я наоборот, собирался на твоих ответах наконец выйти в топ рейтинга самых злых юзеров
 
@АлексейШиманский не сможешь :-) у меня шикарнейшие ответы :-D
 
@Grundy хорошо, что ты не доктор
 
8:57 AM
в психиатрии кто первый надел халат - тот и доктор)
2
 
@pavel а тот, кто скальпель - патологоанатом?
 
A K
9:15 AM
@АлексейШиманский Тот, кто первый схватился за скальпель -- автоматически становится Дункан Мак Клаудом )
 
9:39 AM
Какая интересная метка
 
 
1 hour later…
10:48 AM
Just ported some pretty expensive algorithm involving lots of matrix solving from javascript to C++. Javascript: 16s C++: 0.1s :-O
 
@alexolut Вот это было опасное заявление. Сейчас, наверное, толпы js-ников его начнут атаковать.
Меня как-то на js тусовке обращали, мотивируя что современный js, он буквально на проценты отличается по скорости от нативных приложений.
 
@alexolut кто бы мог подумать
 
11:05 AM
@VladimirGamalyan угу я тоже слышал эти легенды. Когда на С++ без оптимизации собирают, передают строки во все функции по значению ну и так далее
 
@pavel Ага, или там приводят сравнения скорости записи/чтения файлов..
 
@VladimirGamalyan ну чё) голый вызов функций ОС - суровое сравнение. Кстати JS и запись файла тут нету противоречия?
 
@pavel нода же (и да, она на плюсах и вызывает те же функции файловые OS)
 
Ребят, в чем может быть дело? Не важно как долго я жду, при задаче вопроса возникает ошибка, мол: "Вы можете публиковать сообщения с интервалом не менее 40 минут."
 
40 минут ждите
 
11:15 AM
Ну, прочитать то я прочитал. А вот вы игнорируете "Не важно, как долго я жду"
То есть, ошибка сохраняется
Хоть несколько дней не заходи
 
@ВиталийЯндулов Глюк какой-то. Может кто-то с вашего аккаунта хулиганит?
 
@ВиталийЯндулов такое вроде может быть, если с вашего ip ещё кто-то другой (другие) активно постят.
 
Хм. Ну такое может быть, я с корпоративной сети сижу. Понял, пасиб, попробую с телефона запостить.
 
4
Q: Дефект с временем создания сообщений

user238706Зашёл я вчера на сайт. Хотел задать вопрос, а оно мне написало: Вы можете публиковать сообщения с интервалом не менее 40 минут. Хотя я задавал вопрос два дня назад. Самое интересное, что когда я писал этот вопрос, оно опять у меня выскочило. Из-за чего такое бывает?

 
Блин. Буквально 2 единички не хватает репутации :)
 
11:21 AM
@ВиталийЯндулов добавил :)
 
Да, увидел. Пасиб :)
 
@ВиталийЯндулов и, кстати, Вы можете получить +2 репы за каждый принятый ответ. Поставить галочку, то бишь. Не забывайте это делать, если ответ действительно оказался для Вас лучше других.
 
@alexolut Да, я понял через секунду после того как сказал и пошел проверять нет ли не отмеченных вопросов. Ура, теперь вопрос задался :3
 
11:37 AM
@NicolasChabanovsky можно дёрнуть
 
Супер полезная правка:
 
0
Q: Как инсталлировать rvm на СentOS

user275854Как можно инсталлировать rvm на СentOS используя скаченный архив с github?

 
 
2 hours later…
1:15 PM
@alexolut Обновил с час назад!
@FoggyFinder Добрый день! Спешу сказать, что я помню, что вы меня просили обратить внимания на вопрос на Мете. Я про это помню! Постараюсь в обозримом будущем добраться! Извиняюсь, что так долго.
 
0
Q: stackoverflow. Механика премия за неначисленный конкурс

Vasyl KolomietsДень! Вопрос по механике начисления конкурсных балов. Я начислил 50 балов репутации за вопрос. Ясно, они с меня списались. Вот картинка с вопросом, которую я вижу. Срок конкурса истек, ответов по-прежнему ни одного. Назначать премию некому, но как мне их вернуть себе? Ведь результат не достигну...

 
1:32 PM
@АлексейШиманский ) Я не оспариваю правила тем более что я этого не прочел. Однако я вижу эту картину так: Я поставил 100 на красное, 100 на черное и 100 на зеро. А крупье не пришел. Нельзя ли мне выдать жетон о том что я поставил 100? Ответ - нет. Я не заработал "Альтруист"?? Давайте смотреть системненько на ситуацию. Или вы хотите сказать что в Альтруисте описана моя ситуация :-) Впрочем - мне все понятно. Последнее. По поводу места размещения вопроса. Я бы стал искать МЕТу, если бы не нашел здесь тег stackoverflow. Хорошего дня! — Vasyl Kolomiets 8 mins ago
Надо бы удалить метку stackoverflow из перенесенных вопросов. А то его наличие служит аргументом за задание вопросов где не следует... // to: @NicolasChabanovsky
 
@PavelMayorov да.. я вот тоже хотел об этом написать.....и вообще глюк, невозможно убрать метку с перенесенных вопросов. ужас
 
A K
Товарищи, есть вопрос к пользователям повёрнутых на 90 градусов мониторов
 
@АлексейШиманский А откуда эта метка вообще появляется?
@AK о .. моя клава... только более потёртая.
 
@AK эм... зачем это делать?)
 
@pavel видимо в гонки играть - зеркало заднего вида
@alexolut magic
 
1:39 PM
@АлексейШиманский ну тогда всё понятно :)
 
Да ладно) Вертикальный монитор идеален для IDE с кодом)
 
@vp_arth для того, чтобы читать стихи Маяковского
 
A K
Вопрос такой. Когда закидываешь окошко на повёрнутый на 90 монитор, то пока окно не заехало целиком -- оно преломляется. Можно как-то подогнать, чтобы окно которое наползает на экран выглядело ровной линией или невозможно?
 
@vp_arth ужас... 80 символов займут весь экран, даже на навигацию места не останется
 
A K
И вообще, правильно ли я понимаю, что лучше поставить, чтобы мониторы по нижней линии выстроились? (Курсор мыши чтобы не застревал)
В общем, обмен опытом required
 
1:41 PM
@AK В винде не пробовал, во всех wm на linux, есть тулзы для подгонки. а где нету, есть xrandr =)
 
хм... выставляем на вертикальном монике вместо условных 2к*1к разрешение 1к*500 и всё) всё идеально и бесшовно тягается...
 
@pavel но зачем? плотность точек-то одинаковая) Или. похоже у нас разное понятие об идеальном =) Идеально - это когда пол-окна на одном, пол-окна на другом и не чувствуется дискомфорта
 
@vp_arth идеально с точки зрения настройки! компу легко и понятно окна таскать)
 
A K
Блин, насколько всё-таки удобнее стало... Раньше 15дюймовый стоял на стопке книг (SQL-сервер, Active Directory для администраторов и что-то ещё), а теперь их выкинул и сдвинул гостевую клавиатуру для код ревью, стало удобнее. Астрологи говорят, что качество код ревью на следующей неделе улучшится ))
 
"гостевая клавиатура для код" у меня такая есть... нерабочая) специально оставил а не выкинул)
 
1:47 PM
@pavel всё же при такой настройке - рациональнее поставить монитор горизонтально с нормальным разрешением)
 
@alexolut один ее поставил, второй ее увидел.
 
@PavelMayorov Действительно! Готово!
 
Наверное, если бы ее второй не увидел - она была бы удалена по тайм-ауту. Но сейчас она стояла на двух вопросах.
 
@NicolasChabanovsky э... а при чем тут поддомены?!
 
1:51 PM
@PavelMayorov Даже не знаю, если честно.
 
@PavelMayorov ну так появится снова, у участника недавнего репы достаточно для создания меток.
@NicolasChabanovsky на вчерашний вопрос про Slack что-то можете ответить?
@АлексейШиманский программистские стихи Маякодского!
смотрю, иконку очереди проверок сделали менее навязчивой ... правда это на MSE
или это вообще редизайн ...
 
2:13 PM
@alexolut кажется, вы не обратили внимание на слова последнего участника: "По поводу места размещения вопроса. Я бы стал искать МЕТу, если бы не нашел здесь тег stackoverflow. Хорошего дня!"
 
@PavelMayorov в следующий раз он так же может сказать о метке .
Тут просто нет понимания, что вопросы о сайте надо задавать на Мете, и наличие меток на основном сайте ничего не значит.
 
@alexolut Я еще не добрался :(
 
гугл, ну ты чё
 
2:29 PM
@NicolasChabanovsky до интернета? :)
@VladimirGamalyan а в обратную сторону?
 
@VladimirGamalyan ну логично перевёл же)
 
@pavel «on» должно быть.
 
@pavel так и рубли можно в баксы переводить :)
 
A K
И всё-таки, чем дольше я сижу на трёхмониторных системах -- тем больше убеждаюсь, что пик производительности достигается на двухмониторных системах. При том, что я по горло сижу в VmWare, терминалках, держу tmux и пользуюсь виртуальными десктопами -- при переходе от двух мониторов к трём мониторах прирост производительности, а по сравнению с переходом от одного монитора к двум -- вообще микроскопичен.
 
@NicolasChabanovsky Ask at on.stackoverflow.com :)
 
2:31 PM
@AK я вообще на 1 мониторе сижу... 2 не дают)
 
@AK а вот всякие мессенжеры, почта, оповещения они на каком из трех моников?
@alexolut В обратную прозрачная конверсия до исходного варианта, наверное чтобы никто ничего не заподозрил )
@NicolasChabanovsky Почему то гугл ru.stackoverflow.com как en.stackoverflow.com переводит ))
 
A K
@VladimirGamalyan мессенджеры вылетают на второй виртуальный рабочий стол (ctrl +win + стрелка вправо, чтобы глянуть), чтобы не отсвечивали. вообще, я завидую сотрудникам, которые могут себе позволить обойтись без телефона и без мессенджера (есть такие). Почту я стараюсь вообще не открывать, только два раза в день. (Есть минус -- не видишь совещаний в аутлуку, но обычно коллеги из комнаты со мной идут, они привыкли).
 
@pavel Ага, причем здесь имеется в виду «у» как указание места, «встретимся у ларька», так как «спросить у Васи» будет «ask Vasya» (хотя, думаю, это и без меня всем известно).
 
@pavel кстати, стоит заметить, что нет такого сайта как en.stackoverflow.com
 
@AK понял, у меня для этого телефон на столе - всё на него приходит, можно отключить звук если что и даже перевернуть чтобы вообще не реагировать..
 
2:38 PM
@VladimirGamalyan Google пожил, Google понимает...
 
@NicolasChabanovsky кто такой Вася?
 
@alexolut Который у ларька.
 
@alexolut это сын папы
 
а.... этот ...
 
У палатки (если кто не из спб)
 
2:40 PM
@alexolut это из творчества ложкина?
 
A K
@VladimirGamalyan Не помню у кого из фанатиков тайм-менеджмента я узнал о том, что почту достаточно проверять два раза в день. Тут-то мне, Василь Ваныч, карта-то и попёрла! И это офигенно удобно оказалось: вместо того, чтобы отвечать на пустяковое письмо и переключать контекст -- ты тратишь полчаса в день, отвечая на письма. А две работы спустя (вот на этой) у меня начальник придерживается такой же привычки, даже более строгой "не отвечать день-в-день".
 
@pavel угу вроде. Но за аутентичность не ручаюсь
 
@AK хм... я свою рабочую почту вообще не проверяю) что надо напишут в слаке или в скайпе. На крайняк позвонят/лично подойдут. Кстати интересно вышло, все в компании перешли на слак, кроме релкамной группы которая в скайпе и сидит как сидела)
 
Вот и до нас новая иконка очереди доехала
 
@alexolut можно убирать свои custom css?
 
A K
2:47 PM
@pavel мессенджеры многократно большее зло, чем почта. Потому что в почту могут отправить два письма в день, а в чат тебе могут накидать десятки. И начинается шаманство с тем, как отключить нотификации, не пропустить важное, реагировать только на собаку/обращение по имени и т.п.
 
Даже удалять не пришлось, наверное имена классов поменялись.. Иконка сама появилась..
@AK Ну зато помогают просиживать рабочие часы
 
@VladimirGamalyan а если недостаточно развлекают - можно на ютуб слазить)
 
@pavel да, это everlasting тема
 
@VladimirGamalyan пока ещё не понятно
 
@AwesomeMan ну вот видите, достаточно было препода попросить )
@alexolut у меня исчезли эти яркие красные кружки. Хотя внутри есть доступные проверки..
 
A K
2:53 PM
@VladimirGamalyan Если нужно отвлечься -- то нужно отвлекаться самому, а не оставлять эту власть за внешним источником. И я за последние несколько лет постарался заменить все аттракторы (вконтактике-ютубики) на что-то более полезное. Хочешь отвлечься -- открой английский язык, не хочешь английский язык -- прочитай текст вопроса на so и попробуй дать ответ на вопрос. Всё лучше, чем бездумно ютуб майнить.
 
@AK надо git add делать перед каждым входящим сообщением просто
 
@AK Зависит от конечной цели ещё. Если развиваться нет смысла, то не принципиально.
 
@alexolut подскажите, как закомитить состояние своего мозга)
 
@VladimirGamalyan а внутри красные или серые? у меня только серые, т.к. очередь на закрытие я отработал сегодня.
 
@alexolut красные, но не такие яркие как раньше
 
2:55 PM
@VladimirGamalyan может у Вас просто уже сетчатка выгорела :)
 
A K
@alexolut Надо просто бабки брать за каждое сообщение, которое ты посылаешь в корпоративный чат. По сто рублей за мессагу, чтобы сразу отсеивался мусор: молчание -- золото. И ещё умножать на число участников в чате, чтобы неповадно было.
 
@VladimirGamalyan такие и были вроде бы
 
@alexolut может быть, я помню только что на главной иконке какой-то КРИЧАЩИЙ!!! ярлык был, что не давал читать страницу
 
@VladimirGamalyan ПРОВЕРЬ!!! ПРОВЕРЬ!!! ПРОВЕРЬ!!!*
 
A K
3:00 PM
@VladimirGamalyan С теми, кто не хочет развиваться всё просто. Для меня в своё время открытием стало, что совсем без отвлекушек не получается. То есть, как бы ни старался всякие ютубчики/стековерфлошечки изжить -- всё равно мозг хочется от работы переключиться на что-то другое. Потому лучше уж будет so, чем ютуб. Может, они есть эти железные люди, которые на работе думают только о работе -- но я лично не могу все 100% времени на работе думать о работе.
 
@pavel просто не надо думать :)
 
@alexolut ага, как на всех этих баннерах рекламных, где тебе какая-то киска с района сообщение оставила якобы
 
@VladimirGamalyan так это было обман что ли?
 
спалился кто-то.
 
@pavel что-то не распарсилось
 
3:05 PM
@alexolut да, один раз я даже перешел, там какой-то сайт был, задавал вопросы типа есть ли 18 лет и т.п. я попробовал отвечать что нет, но там видимо не было проверки и в итоге все равно заходил на какой-то подозрительный сайт
 
@VladimirGamalyan прям история "как я стал хакером"
 
@alexolut а когда очереди недоступны, там галочка исчезает чтоли? Или там всегда одна иконка?
 
@VladimirGamalyan по-моему, там всегда одна и та же икона
 
@alexolut это хорошо. Если только это не баг )
 
3
Q: New Reviews Icon?

Stephen RauchIt seems the review icon has changed again. Have we rolled out a new review icon, or is this in testing? This icon bears some resemblance to the adjacent hamburger, but I think the check mark is a big improvement over the previous pencilly thingy.

Пока ещё не ясно, баг или не баг
 
3:13 PM
Вроде была история что из-за гениального проектирования разрозненности хранения данных было много false positive, может на время отключили индикацию просто..
 
This came as a surprise to me. Somebody at SO finally woke up to make this change — o_O 14 mins ago
а иконка-то svg)
 
@vp_arth это маленький шаг для человечества, но большой для stackoverflow
 
@vp_arth суть в том, что векторная или какой-то иной смысл?
 
@VladimirGamalyan ну спросили бы на сайте "как нам иконку в svg добавить". Им бы кто-то да ответил)
 
@alexolut суть в том, что картинки, как таковой нет, всё рисуется "на лету" jsfiddle.net/1p5v2m3x
 
3:28 PM
@vp_arth вот жеж .. лишь бы проц мой позагружать! они там ещё не майнят биткоины на участниках? А то была тут история с казуальшиком андроидным.
 
3:47 PM
@NicolasChabanovsky увидел. если участник не понимает как себя вести в отдельном взятом чате, то он не должен быть допущен до системы чатов вообще То есть вариант где правила не работают рассматриваться не будет так как такое не может быть в принципе?
 
4:07 PM
Коллеги, в чате по C# полтора землекопа мало участников, спрошу здесь.
Вот я в конструкторе инициализирую объект, и записываю его в общедоступную переменную. Больше я этот объект никогда не меняю. То есть он как бы immutable.
Теперь, из других потоков я читаю этот объект.
Почему я имею право? Почему я не получу объект в недоинициализированном состоянии?
В Java для таких целей есть паттерн safe publication, а что в .NET?
Вроде бы многопоточность у нас несколько раз обсуждалась, но я что-то запамятовал.
 
@VladD у нас тут к чату вроде прикручена платформа специально для задавания вопросов :)
 
@Андрей Есть такая буква :)
Ну может кто-то помнит так
Потому что чтобы задать нормальный вопрос о многопоточности, неплохо бы прошерстить спецификацию на предмет ответа.
И задавать, ссылаясь на неё.
 
4:23 PM
@VladD т.е. вы думаете, что все именно так и делают? :) Такой вопрос будет полезен и без ссылок, ссылки будут в ответе (наверное)
о_О
in Дискуссии о C#/.NET на русском, 7 mins ago, by Bretbas
а я и не ухожу:) Просто я нахожусь в местах не столь отдаленных, и мне не всегда получается выйти в интернет:)
 
@Андрей Ну да, но задавать вопрос, про который я бы сам подумал «автор поленился заглянуть в спеку» как-то не комильфо
 
@VladD а почему объект может вообще быть в недоинициализированном состоянии?
 
@Андрей А почему нет? Разве спека гарантирует, что конструктор выглядит для других потоков атомарным?
С точки зрения рантайма, конструктор небось не что иное, как ещё один метод
 
@VladD это понятно, но с другой стороны, пока конструктор не завершится, ссылка на готовый объект в переменную не попадет же?
или у вас объект в своем же конструкторе записывает ссылку на себя в другую переменную? %)
 
@Андрей А почему компилятор не переставит эти операции?
Имеет же право?
Сначала ссылку на объект в переменную, потом хвост инициализации объекта
 
4:45 PM
@VladD сомнительно что-то) Кто им такие права раздаёт? =)
 
@vp_arth А почему нет? Вот в Джаве же write-write reordering вполне позволяется
 
@VladD а чем ваш вопрос отличается от обычного синглтона?
 
@Андрей А что такое обычный синглтон?
 
хм, или он тоже может отдать недоинициализированный объект?
 
@Андрей Какую из имплементаций вы имеете в виду?
 
4:48 PM
0
Q: Какие существуют ограничения на размер текста в ответе?

MerlinИли какое максимальное количество символов может быть в ответе?

 
@VladD да любую в общем-то
имплементация реализация (по русски)
 
@Андрей Ну, например такая: return field ?? (field = new Class())
Вот эта вообще содержит гонки в многопоточном сценарии
 
Прочитал статью, ничего не понял) Но может что-то полезное: albahari.com/threading/part4.aspx
 
@VladD ну нет, я имею ввиду потокобезопасную реализацию
 
@vp_arth Я читал, нет, там ничего такого не говорится.
 
4:52 PM
хоть на основе Lazy<T>, хоть с двойной проверкой, хоть со статическим конструктором
 
Я смотрел скорее сюда: msdn.microsoft.com/en-us/magazine/jj883956.aspx
@Андрей С двойной проверкой катит только на интеловской платформе, по спеке он дырявый.
Со статическим конструктором в порядке, потому что спека говорит:
 
@VladD ну у нас есть Lazy, поэтому что-то другое в принципе и не нужно...
 
> 3.10 Execution order
> The execution environment is free to change the order of execution of a C# program, subject to the following constraints:
> • Initialization ordering rules are preserved (§10.5.4 and §10.5.5).
 
@VladD что этот оптимизатор себе позволяет?
 
А статический конструктор выполняется строго перед первым доступом к классу (включая многопоточные сценарии).
(Не могу найти с наскока в спеке.)
@vp_arth Угу, распоясался тут!
 
4:59 PM
Вот у Теплякова нашел, что если поле будет помечено volatile, то компилятор не имеет права менять шаги местами
 
@Андрей Это да
Но вопрос про отсутствие volatile
Потому что как volatile, так и lock существенно замедляют доступ
 
@VladD ну так в 2 этапа же - читаем небезопасно, если null - перечитываем с lock. После завершения инициализации мы до lock доходить перестанем..
 
@vp_arth А почему если прочитался не null, объект окончил инициализацию с точки зрения нашего потока?
 
@VladD а что именно говорит §10.5.4?
 
@PavelMayorov 10.5.4 10.5.4 Field initialization
 
5:04 PM
Онлайн-спека в этом месте содержит упоминания только об инициализаторах, а о коде конструктора там ничего не написано...
 
> The initial value of a field, whether it be a static field or an instance field, is the default value (§5.2) of the field’s type. It is not possible to observe the value of a field before this default initialization has occurred, and a field is thus never “uninitialized”.
 
@VladD потому что это дичь какая-то чтобы в память указатель писать раньше времени) Не верю я в это)
 
@vp_arth Ну вы ж пишете на Java? Там это как бы известное дело. shipilev.net/blog/2014/safe-public-construction
 
@vp_arth дичь-не дичь, а многоядерные процессоры давно уже существуют.
 
@PavelMayorov Угу, этого я там тоже не нашёл
Я думал, что оно там будет
 
5:06 PM
И кеши разных ядер могут можержать один кусок памяти в разных состояниях
 
@PavelMayorov и? в чём связь многоядерности и записи в память указателя на пока несозданный объект?
 
@vp_arth в том что операции могут переставляться местами
 
@vp_arth А в том, что запись поля в объекте и запись указателя на объект в другое поле выполняются в таком порядке, как написал программист, только с точки зрения того потока, где это происходит. А в другом потоке эти изменения могут быть видны и в другом временном порядке (при отсутствии синхронизации).
 
Вы записали по двум адресам два значения. Кеш ядра теперь сам решает в каком порядке они будут выгружены в ОЗУ.
И кеш другого ядра тоже может иметь свое мнение относительно того что по этим адресам лежит.
 
@VladD я скромный однопоточный пхпшник)
 
5:08 PM
@vp_arth Сорьки!
 
@VladD, ну так почему на основе Lazy не сделать-то?
 
@Андрей Можно, да. Lazy<T> выставляет свои барьеры. Можно и просто lock. Но вопрос в том, можно ли без этого?
 
@VladD напишите тестовый пример и запустите многолиард раз
 
@Андрей Но это ж ничего не докажет? Допустим, текущий джиттер недостаточно умный, и не переставляет операции. Завтра выйдет апдейт, и джиттер радостно сумеет применить разрешённую спекой оптимизацию.
 
@VladD это верифицируемо вообще? if (a != null) assert(a == null); один единственный поток меняет состояние переменной null -> notnull, как могут 2 последовательных чтения в другом потоке дать результат (not null, null)? Что-то переабстрагировали в реализации виртуальной машины, не иначе...
 
5:18 PM
@vp_arth Ну, есть простое железное правило, которое всегда работает: если окружить доступ к разделяемым переменным lock'ом (или synchronized в Java), то проблем не будет.
И есть мелкие правила, которые иногда позволяют достичь избежать проблем, не используя lock
А иногда не позволяют :)
 
@vp_arth никак не могут. Проблема с двумя переменными.
 
@VladD но откуда берутся проблемы столь магического характера? Кто обnullил память между чтениями? Или 2 чтения одной переменной обращаются к разной памяти?
 
@PavelMayorov В многопоточном сценарии ножет быть по идее
@vp_arth Если второй поток пишет в переменную? То вы-с и убили-с он-с и обнулил-с.
 
@VladD разве что при миграции второго потока между ядрами...
Да, согласен, такое тоже возможно.
Но проблема DCL - именно в двух переменных.
 
@VladD так он же пишет адрес/указатель/notnull однократно. ничего не понимаю
@PavelMayorov я про вот это:
 
5:21 PM
@vp_arth Подождите, а какой у нас сеттинг?
 
@vp_arth вы забыли про поля объекта Singleton
 
public class UnsafeDCLFactory {
  private Singleton instance;

  public Singleton get() {
    if (instance == null) {  // read 1, check 1
      synchronized (this) {
        if (instance == null) { // read 2, check 2
          instance = new Singleton();
        }
      }
    }
    return instance; // read 3
  }
}
 
@vp_arth new Singleton(); - вот тут спряталась вторая переменная
Второй поток может увидеть ее в неинициализированном виде даже после того как увидит что instance != null
 
@PavelMayorov как может быть read 1 = not null, a read 3 = null в одном потоке?
 
@VladD хотя погодите, переключение контекста - барьер by design! Значит, никак.
 
5:25 PM
@PavelMayorov Окей, хоть где-то мир остался на ногах
 
Если только сама операция присваивания указателя не атомарна, а может в процессе писать туда разные значения, включая null... =)
 
По крайней мере, в системах с точными прерываниями переключение контекста - барьер. Про системы с неточными прерываниями сходу не скажу...
@vp_arth выяснили вроде, в системах с точными прерываниями - никак не может. Остается проблема с неинициализированным объектом.
Кстати, операция присваивания указателя запросто может быть неатомарна. Но только в языках без сборщика мусора :-)
 
6:07 PM
Окей, вернёмся к нашему как бы иммутабельному объекту. То есть выходит, что неизменность полей — ещё не гарантия? Java, например, в конце конструктора генерирует барьер.
Можно в конце-концов задать вопрос на форуме, прикрученном к чату.
3
 
0
Q: 2 вопроса касательно "выбрать лучший ответ"

Viktor TomilovСистема навязчиво убеждает меня выбрать лучший/принятый ответ к своим вопросам. Там, где я считаю, что лучший ответ пока не дан, - понятно: выбирать не будут. Но: Там, где вопрос, в принципе неплох, должен ли я его обязательно пометить? Или Б-г с ним, пусть пока висит, вдруг кто-либо ответит пр...

 
user306081
6:26 PM
Кнопка Очереди проверок — помогите улучшить сайт изменилась. Это новый дизайн такой?
 
6:46 PM
 
0
Q: Изменение метки [критик]

stackflowПо поводу метки "Критик". Получение этой метки за обычный "палец вниз" как по мне неправильно. Предлагаю либо изменить название метки, либо изменить правило для получения этой метки, т.е - если хотите получить метку "Критик", то после минуса обязательно напишите ответ по поводу своего минуса с уп...

 
Уф... красная точка на месте. @VladimirGamalyan может быть спокоен
 
@VladD эту шнягу и форумом-то не назовёшь :-D
@Drakonoved нольчередь?
 
A K
@VladD лучше сразу задать на большом форуме, где тусуется Джон Скит.
 
6:57 PM
@AK патриотизм так и прет... ;)
 
A K
@alexolut А, ну да. Зато вы сможете сделать перевод этого вопроса и добавить ассоциацию! Здорово придумал?! )
 
1
Q: Ассоциация с английского вопроса ведёт на удалённый вопрос

dirariaВ этом вопросе на enSO есть ссылка на ассоциированный вопрос на ruSO. Однако, вопрос на ruSO был самостоятельно удалён автором. Предлагаю его восстановить, так как это полезный вопрос (>1M просмотров на enSO), либо убрать ассоциацию.

 
@AK можно и обратный перевод сделать так-то
 
user306081
@alexolut что такое нольчередь?
 
Выглядит как ноль
 
у меня нету к сожалению счастью
@alexolut Просто видимо шрифты подобраны с умом (дезигнерами со).
 
8:12 PM
@AK Ну зачем так. Вот я недавно задал у нас вопрос:
8
Q: Нужно ли виртуальные методы объявлять как protected?

VladDКоллеги, я не вполне понимаю одну из рекомендаций в .NET design guidelines. В ней говорится: DO prefer protected accessibility over public accessibility for virtual members. Public members should provide extensibility (if required) by calling into a protected virtual member. The public ...

И получил вполне адекватные ответы.
 
8:33 PM
0
Q: Cross-site associated question has been deleted

alexolutThe SO question How to get current time in Python? has cross-site associated question on ruSO: Such banner only visible to users who have been detected by site as Russian-speaking. In this case target question has been deleted, hence user without 10k reputation on ruSO will see a 404 pag...

 

« first day (972 days earlier)      last day (2347 days later) »