« first day (305 days earlier)      last day (3019 days later) » 

12:04 AM
Это баг или фича, то, что я не могу проголосовать за заблокированный вопрос, а за ответ на него могу?.. Я хочу за вопрос проголосовать...
49
Q: Книги по C# и другая литература

VladDВопросы о литературе по различным языкам программирования возникают очень часто. Здесь мы попробуем собрать лучшие ответы и рекомендации насчёт литературы по языку C#, платформе и популярным библиотекам. Не забывайте, однако, что никакая теория не заменит опыта программирования! Читайте, пробуйт...

@Кто-нибудь ^^^
 
@ЮрийСПб Надеюсь, что баг :) // CC @PashaPash
 
у меня, вообще, есть подозрение, что я за него уже голосовал, просто мне сейчас это не показывают... Но я в нём крайне сомневаюсь, ибо таки выводит сообщение, что низзя за заблокированное проголосовать.
Может можно блокировку на что-то более полезное сменить?..
Чуть не забыл:
Поддастся, что ли, общему порыву и тоже спать уйти?..
Каково отношение наше к древним ссылкам на заблокированное РКН?..
@NickVolynkin, @Nofate ^^^
 
Не могу не плюсануть :)
 
@Vlad а не могу плюсануть ни один из вопросов по книгам(((
Моё право распоряжаться моей собственной голосовалкой нарушено, и не кем нибудь, а модераторами!
Этак лет чрез 5 эти вопросы потрут, т.к. они будут иметь меньше плюсиков, чем средний вопрос на сайте. И всё из-за того, что за них невозможно проголосовать(
Мне тут аж заговор почудился)))
Из ответа на вопрос, от коего коммент выше:
<quote>ИМХО данная стопка книг (вместе со стопкой от @andreycha) при должном усердии и способности самостоятельно заниматься практикой может конкурировать с российским университетским образованием в среднем вузе.</quote>
 
1:18 AM
@ЮрийСПб РКН должен страдать
 
2:12 AM
1
A: Включить очереди Triage и Help&Improvement на нашем сайте

QwertiyДумаю, не надо. Одно дело enSO, где полно народу и автоматизированные средства не справляются, а другое дело тут. В таком случае не слишком хорошее сообщение должно будет пройти две очереди вместо одной, т. е. надо вдвое больше проверяющих. Плюс, придётся проверять и хорошие сообщения от новичко...

1
A: Как посмотреть на сайт глазами нового посетителя?

Live ForeverЭти фразы описывают процесс под названием "самооценки сайта" (site self-evaluation). Можно сравнить с текстом здесь. Такая самооценка проходила каждые полгода на бета-сайтах. Со временем её популярность упала, и летом 2015-го самооценка была прекращена.

 
3:11 AM
@ЮрийСПб оставим ещё на пару дней, пускай все посмотрят, какие комментарии не надо тут оставлять )
 
 
3 hours later…
5:58 AM
нет, серьезно, все что запрещено РКН, делать нужно
 
6:40 AM
@Vlad потому, что вопрос не в этом =) Да и тем более чтобы описать и привести примеры понадобиться чуть ли не статья. А это не по правилам SO опять же. А если еще на каждый подобный вопрос писать подобные ответы, то это уже вторая работа, только без оплаты. нет уж спасибо
@ЮрийСПб а как можно заменить ссылки рутрекера чтоб перенаправить на рабочий рутрекер? :-)
 
 
1 hour later…
8:07 AM
@Vlad это баг, я заблокировал этот вопрос, чтобы показать @NicolasChabanovsky конкретное проявление
// cc @ЮрийСПб
@Etki у меня кстати все ссылки отлично открываются )
 
8:27 AM
@avp это вот как раз попытка сделать. чтобы JSON был таким же как обычный литеральный объект :)
 
8:41 AM
@PashaPash Это не ошибка. Так задумано.
 
@NicolasChabanovsky а почему тогда за ответы можно голосовать?
 
@Grundy Так задумано.
Философию такого решения постараюсь на неделе в ответ на Мете опубликовать
 
avp
9:00 AM
@Grundy не понял. Видимо не понимаю, что Вы называете обычным литеральным объектом (и о представлении в каком языке идет речь?)
 
@avp это я про Object_literals
 
avp
@Grundy теперь понял. Ну, меня-то в основном интересует C, а не структуры данных в JavaScript -)
 
@avp ну тогда старый JSON наоборот должен больше подходить :-)
 
avp
@Grundy определенно нет. Данные в JSON ведь не только программы, но и люди описывают.
 
@avp ну от людей и даже это расширение не спасет :-)
 
avp
9:12 AM
@Grundy а от чего спасать? Просто новый допустимый синтаксис удобней т читать и писать.
 
avp
9:28 AM
@Grundy, Вы ведь в JS спец? Вам проще понять логику авторов JSON5.
Как считаете, интерпретация содержимого 'string' и "string" одинакова? Т.е. по сути нет отличий между кавычками и апострофами в их предложении или оно должно быть?
 
@avp :-D спец - это громко сказано :-)
@avp вообще в яваскрипте нет разницы между одинарными кавычками и обычными
но в json сделали только один вид " и в принципе стало строже с одной стороны и с другой - проще сделать парсер
 
avp
9:53 AM
@Grundy раз ' и " одно и то же, тогда понятно. А жаль (отсебятину почему-то все встречают в штыки).
 
10:05 AM
@avp в новом добавили еще ` для строк и в такие строки можно переменные подставлять
 
10:17 AM
но к json это не имеет отношения
 
@ЮрийСПб странно. я точно помню, что эти ссылки потерли сразу после публикации еще тогда, в 12м году.
 
10:38 AM
0
A: Включить очереди Triage и Help&Improvement на нашем сайте

DiscordЭти очереди нужны только тогда, когда поток новых вопросов превышает возможности высокореповых пользователей их отслеживать. Когда поток маленький (порядка 100 вопросов в день и меньше), не составляет труда пройтись по всем вопросам за день и проверить качество. Так как модерирующих пользователей...

 
 
1 hour later…
11:47 AM
@ЮрийСПб Я имел в виду список литературы в торрентах.
 
@Etki Но ведь именно РКН сделал для повышения интернет-грамотности населения больше даже МинОбр-а... По мне так парни там молодцы)
 
@АлексейШиманский Ох, там настолько сложно? Тады ой.
 
@Nofate косяк переноса, видать)
 
@Vlad не сложно. но писать много, что это уже не ответ, а статья
 
@Vlad Я понял) Просто решил не упустить случая по
 
11:57 AM
@Nofate Странно, в том вопросе я их не вижу. Хм.
 
@Vlad уже снесли коммент( У нас ярый антикоммунист среди модераторов завёлся... =)
 
@АлексейШиманский Ну, сложно именно в этом смысле. Если оно не описывается за 5 минут, не особо напрягаясь, то это уже сложно, по идее.
@ЮрийСПб Ыыыыы!
Хорошо что тут осталось (покамест).
 
@Vlad белое движение на ru-SO)))
 
@ЮрийСПб Контра?
 
если в этом плане - то да. Если посмотреть то будет именно так - обо всем придется поведать ибо автор скорее всего ни о чем этом самом нужном не знает.
Если хотите - можете написать сами чо каво :-)
 
12:02 PM
@Vlad ага... Не стесняющаяся применять насилие к неугодным распространителям запрещённой литературы и препятствующая ликБезу!
@NicolasChabanovsky будем ждать) А то странно выходит - вопрос заблокирован в силу его полезности, но проголосовать за него нельзя...
 
12:48 PM
@ЮрийСПб -_-
 
1:20 PM
@АлексейШиманский Не, я сам в данной тематике (php + базы данных) полный чайник. Но я бы с удовольствием почитал чей-то длинный ответ :)
@ЮрийСПб Я думаю, пост Николаса будет по поводу того, почему за заблокированные вопросы нельзя голосовать, а не почему вопрос о книгах заблокирован.
 
1:39 PM
@VladD Ну, я примерно так и понял. И как я так же понял, их разблокируют? =)
 
@ЮрийСПб Вот и узнаем :) Надеюсь, что да.
 
 
6 hours later…
7:53 PM
@ЮрийСПб тебе сюда:
2
Q: Зачем лочить эталонные вопросы по литературе?

QwertiyВроде давать на них лишние ответы и так никто не рвётся, а из-за лока теряется возможность за них голосовать и вносить правки. Точно ли такая блокировка имеет смысл? заблокирован пользователем Nick Volynkin♦ вчера Ответы на данный вопрос даны совместными усилиями: если вы считаете, что м...

такое ощущение, что кто-то минусует мои вопросы :(
 
8:29 PM
@Qwertiy надо позвать модератора и напомнить, что хотели тип блокировки сменить)
@NickVolynkin, @Nofate ^^^
 
ну так это ж к разработчикам вроде, если другого типа нету
 
@Qwertiy а исторический лок позволит голосовать за вопрос?
 
исторический вообще ничего не позволит
даже ответы править, вроде
 
@Qwertiy а-а-а... значит зря я модераторов потревожил... И проблему просто не поправить(
 
 
1 hour later…
9:31 PM
@Vlad, ты тут?
 
@Qwertiy Где ж ещё :)
 
ты мой новый код с рандомом запускал?
 
@Qwertiy Который?
 
что-то не пойму, он только у меня что ли адекватно работает?
0
Q: Дедлочная генерация случайных чисел

QwertiyЭто исправленная версия вопроса Насколько случайны данные, сгенерированные таким образом? Есть два потока, захватывающие блокировку в разном порядке, что приводит к дедлокам. Для генерации каждого следующего бита производится ожидание дедлока и проверка чётности числа инкрементов в первом потоке...

этот
 
Сейчас посмотрю, момент.
 
9:36 PM
у меня нормально генерируется около 12 килобайт (не килобит) в минуту
дал другому человеку - у него 4 килобайта в минуты
у него же на виртуалке в wmware - вообще 0 - причём, за 10 минут дедлок не возник ни разу
 
<offtopic>а почему дедлок, кстати? дедлок же это по идее когда зависло? а просто ожидание — это не дедлок вроде бы</offtopic>
 
я там вывод информации в цикле внутри GetRandBit добавил
@Vlad нет, дедлок - это взаимная блокировка
по идее, это он, просто он ресолвится хитрым способом
если выкинуть пару проверок, то будет дедлок
  Public Function GetRandBit() As Integer
    Do
      Volatile.Write(Value1, 0)
      ReleaseToProvideBit.WaitOne()
      ReleaseToStartThreads.Release()
      ReleaseToProvideBit.WaitOne()
      ReleaseToProvideBit.Release()
      Dim Res = Volatile.Read(Value1)
      Console.WriteLine("GetRandBit {0} {1}", Date.Now.ToString("yyyy_MM_dd HH_mm_ss"), Res)
      If Res > 3 Then Return Res And 1
    Loop
  End Function
вот этот вывод ни разу на его виртуалке не происходит
 
@Qwertiy хм, ну ладно
 
при том, что 100% процессора постоянно съедено
 
а что такое Public Module ThreadRandom в переводе на C#?
это класс?
 
9:39 PM
т. е. потоки работают, но ситуации, когда они захватывают по первому семафору не возникает
как это возможно?
@Vlad статический класс, ну почти
 
@Qwertiy ага, понял. сейчас...
 
ты его на шарп что ли переписываешь?
а студии нет?
@Vlad ау?
@Vlad, а шарп съел передачу по ссылке в замыкании лямбды?
что-то декомпилятор это место вообще переварить не может
 
@Qwertiy перевожу в шарп :)
 
@Vlad а зачем?
 
@Qwertiy эту часть вроде съел
@Qwertiy ну, чтобы лучше понимать самому код
я с бейсиком не на ты :(
 
9:50 PM
@Vlad а, не, это он вообще в другом месте плюётся... в весьма неожиданном
и весь код завален
// ISSUE: reference to a compiler-generated *
 
окей, скмпилировалось
 
в этот раз vb'шный компилятор не стал выносить лямбды в новый класс
@Vlad а заработало?
 
запустил DEBUG из-под Visual Studio, результата вообще никакого, в консоли пусто
на клавишу не реагирует, судя по всему таки висит?
сейчас гляну
висит в GetRandBit: ReleaseToProvideBit.WaitOne();
 
добавь вывод в цикл получения бита, как я писал выше
@Vlad процессор есть при этом или нет?
т. е. другие два потока работают?
 
процессор не ест, но сейчас гляну точно
 
9:54 PM
у меня уже 966КБ нагенерировалось
@Vlad а вот это очень странно
 
а!
хе)
думаю, остальные потоки вовсе ещё не запустились
хм, хотя...
что ж их остановило?
что-то не вижу их в threads
 
ты init вызвать не забыл?
 
о, дам-ка я им имена
не, не забыл
 
впрочем, тогда бы оно упало
@Vlad это возможно?
они ж стартуют сразу
и ждут разблокировки
 
    static void Init()
    {
        ReleaseToStartThreads.WaitOne();
        new Thread(() => Inc(Sem1, Sem2, ref Value1)) { Name = "Worker-1" }.Start();
        new Thread(() => Inc(Sem2, Sem1, ref Value2)) { Name = "Worker-2" }.Start();
    }
 
9:56 PM
я всю магию на семафоры переписал :D
 
момент, щас
 
@Vlad а?
new Thread(() => Inc(Sem1, Sem2, ref Value1)) { Name = "Worker-1" }.Start();
жесть)))
 
выдало вот что
GetRandBit 2016_01_31 22_57_06 7677
1
на этом висит
щас гляну, где
хех)
The thread 'Worker-1' (0x1fe8) has exited with code 0 (0x0).
The thread 'Worker-2' (0x13ac) has exited with code 0 (0x0).
они типа отработали
странно
может, я ошибся, переписывая код?
 
эээ.. как ты ухитрился завершить два вечных цикла??
там дважды while(true) в каждом
из внутреннего делается break
 
тьфу, точно
потерял внешний цикл
@Qwertiy талантливому программисту многое под силу :)
 
10:00 PM
@Vlad *JOKINGLY*
 
о, пошло крутиться
уберу отладочную печать в GetRandBit
 
@Vlad скажи, а нулей много в ней выводилось?
 
за 11 секунд заполнило 80х25
на последнем прогоне 1080 нулей, 1027 единиц
(пока я его не остановил)
 
не, я не про те нули
там в получении бита пропускаются случаи, когда меньше 4 итераций первого потока
 
@Qwertiy а про какие?
@Qwertiy так, а где их проконтролировать?
 
10:06 PM
вот там часто нули бывают
ну я ж не просто так ответил цитатой про отладочный вывод - в нём должно было быть видно
 
If Res > 3 Then Return Res And 1?
да, их было много, пока я не отключил отладку
сейчас подсчитаю к-во
а, нет, то было много не нулей
короче, сейчас подсчитаю
 
@Vlad не, мне чисто визуально
 
ситуаций, когда было Res > 3: 2365
ситуаций, когда было Res <= 3: 161326
в той самой проверке
попробую откомпилировать release
кстааааати!
Console.Write — плохая идея
потому что Console.* лочит глобальный mutex
и тем самым вмешивается в многопоточную ситуацию
по идее
хотя конечно ему этот mutex будет всё время доставаться без ожидания
 
@Vlad где вмешивается?
всегда, когда делается вывод, потоки стоят на паузе при помощи семафора во внешнем цикле
Do
  ReleaseToStartThreads.WaitOne() ' оба потока тут
  ReleaseToStartThreads.Release()
2365 / (2365 + 161326) = 1.44% полезных бит
 
а, ну тогда в порядке
по впечатлению, у меня release работает секунду, потом секунд висит, потом снова секунду работает и т. д.
с завидной периодичностью
 
10:21 PM
    If Res > 3 Then Return Res And 1 Else Skipped += 1

  Sub Main()
    Init()

    For Q = 0 To 2365 - 1
      Console.Write(GetRandBit())
    Next

    Console.WriteLine()
    Console.WriteLine(Skipped)
  End Sub
23102
2365 / (2365 + 23102) = 9.29%
'nj d htkbpt
 
Result: total 0s 2517, 1s 2330, Res > 3 4847 times, Res <= 3 449704 times
Generated 4847 bits in 38,2926637 seconds, ave 126,57777056131 bits/s
 
это в релизе
надо бы нам как-нибудь код синхронизировать...
а то проверяем одинаковые штуки по-разному
 
я завёл глобальные переменные
    static int resg3 = 0;
    static int resle3 = 0;
    static int total0 = 0, total1 = 0;
    static List<int> bits = new List<int>();
            var Res = Volatile.Read(ref Value1);
            if (Res > 3) resg3++; else resle3++;
            //Console.WriteLine("GetRandBit {0} {1}", DateTime.Now.ToString("yyyy_MM_dd HH_mm_ss"), Res);
            if (Res > 3) return Res & 1;
    static void Main(string[] args)
    {
        var sw = Stopwatch.StartNew();
        Init();
        do
        {
            var bit = GetRandBit();
            bits.Add(bit);
            if (bit == 0) total0++; else total1++;
            Console.Write(bit);
        }
        while (!Console.KeyAvailable);
        sw.Stop();

        Console.WriteLine("Result: total 0s {0}, 1s {1}, Res > 3 {2} times, Res <= 3 {3} times", total0, total1, resg3, resle3);
        Console.WriteLine("Generated {0} bits in {1} seconds, ave {2} bits/s", bits.Count, sw.Elapsed.TotalSeconds, bits.Count / sw.Ela
 
Э-э-э-ммм.... Чё за реал-тайм кодинг?.. =)
 
ну, надо ж чё-то померить)
 
10:26 PM
@ЮрийСПб мучаем многопоточный рандом
 
@Qwertiy Лучше б обходчик блокировок писали - это сейчас моднее)))
 
@ЮрийСПб а мы всё по-старинке, пишем код, который не зависает)
то есть он, конечно зависает
но мы стараемся
 
мне сложно эти-ваши-потоки понять, т.к. я с ними, слава богу, дел не имел)
А я весь день пытался обычить знакомого java под android. Путём диктовки кода с некоторыми пояснениями. Ох и болит же у меня горло теперь(
Кстати, тут какая-то странная правка - её принимать?
 
@ЮрийСПб пусть знакомый теперь, хм, компенсирует
чем-то таким, чтобы можно было промочить горло
 
@Vlad ну, когда мы с ним запилим кучу приложений и станем олигархами я ему напомню)))
 
10:32 PM
@ЮрийСПб ну вроде не так плохо. хотя я бы лучше спросил у @avp
(но пока он придёт и оценит, правку примет кто-то другой)
@ЮрийСПб И мне, плиз, процент за идею :)
 
@Vlad там какие-то ссылки на вопросы... Я не уверен, что оно там надо... Тем более, что аццки неудобно в неотформатированном виде их смотреть(
 
в той же жидкой валюте
 
@ЮрийСПб обработанные выходные файлы - markdown - переключи
 
@ЮрийСПб там можно переключить в режим «обработанные файлы»
 
@Vlad, а какая ОС?
 
10:34 PM
@Vlad да легко) Когда я стану олигархом я куплю SO и введу мат. поощрение хорошие ответы) Вас с жюри посажу)))
 
у меня win7 x64
 
@Qwertiy у меня? Win7 x86
с достаточно слабым процессором
 
хм.. кто-то пользуется 32-битной семёркой? о_О вообще не ожидал
@Vlad ядер сколько?
 
@Vlad о, спасибо, не знал) Так таки гораздо удобнее)
 
@Qwertiy так исторически сложилось (ц)
 
10:35 PM
@ЮрийСПб я первый написал)
 
@Qwertiy Dual Core Opteron 2.20GHz
 
@Qwertiy да, вижу) Вам ещё большее спасибо)
 
@Vlad ядра скажи, я в железе не разбираюсь и гуглить лень)
 
@Qwertiy два)
 
:)
 
10:36 PM
@Vlad это же страдания, нет?.. 0_о
 
у меня 4
 
У меня и телефон, поди, мощнее будет)))
 
@ЮрийСПб вот как раз собираюсь покупать новый, на i7
(уже месяца три)
@ЮрийСПб у меня тоже, что характерно))
 
@Vlad понимаю) Сам уже года два собираюсь операты в ноут доложить)))
 
@Qwertiy поэтому и ответы пишу медленно — пока студия запууууууууустится, пока проект создаст...
 
10:56 PM
@Vlad, есть что интересное?
 

« first day (305 days earlier)      last day (3019 days later) »