« first day (722 days earlier)      last day (2598 days later) » 
03:00 - 14:0014:00 - 00:00

3:59 AM
@AK прикол весь в том, что те, кто откатывает обратно к английской версии (во всяком случае один из них) и переводили ёнтат вопрос :)
 
4:28 AM
@Grundy Готово!
 
 
2 hours later…
6:28 AM
@Nofate а что не так-то? :-)
@Yuri да, твоя - бесполезна, replaceWith - хотя бы протестирована
 
@Other в чём смысл отката? ru.stackoverflow.com/posts/643006/revisions
 
@NickVolynkin он так намекает, что хочет быть забаненным!
 
@Grundy а, я уже увидел обсуждение
 
@NickVolynkin что не отменяет моего комментария :-)
 
@Grundy устраняешь обидчиков?) чтоб не сместили тебя с поста зав. комнатой?
 
6:40 AM
Интересно, можно ли к Gmail прикрутить опцию "я на пробежке, я на велопокатушке", чтобы автоматически работодателю отправлялось письмо, что меня нет на месте - на случай, если пришлют новый заказ на перевод. Чтобы можно было, уходя из дома, эту кнопку включать.
 
@CowperKettle автоответчик не то?
 
@АлексейШиманский там есть, да, но он включается на целый день (скажем суббота и воскресенье)
А было бы удобно перед пробежкой нажимать на такую кнопку, чтобы менеджер из фирмы не ждала моего ответа, а дала срочный перевод другому переводчику
А то прибегаешь, а там просроченное письмо..
Может быть, в The Bat! что-то такое есть.. почитаю ))
 
@CowperKettle мне казалось любые автоответчики в любой момент можно отключить. Не знаю как в gmail, но это было бы странно устанавливать опцию без возможного ручного снятия и/или удаления
 
7:00 AM
Добавьте кто-нибудь метку в вопрос
0
Q: Наращивание массива данных в переменную в цикле с последующей передачей скрипту

Матвей УваровКак правильно передать массив из цикла в выражение, инициализирующее dropdown-меню? В настоящее время в dropdown-меню выводится только одно значение массива. Я понимаю, что переменная массива в цикле перезаписывается и остаётся в итоге одно значение. Не доходит, как реализовать циклом "наращиван...

я как дубликат закрою
 
@Grundy готово!
@Grundy рабочая схема закрытия любого вопроса =) добавляем метку, удар молотом, убираем метку.
 
@vp_arth спасибо
почему-то нельзя самому добавить метку, и бахнуть
 
@Grundy из-за моей рабочей схемы, вероятно
 
@vp_arth ну убирать метку не обязательно
но в принципе тогда золотой знак может любой вопрос закрыть
 
7:22 AM
@CowperKettle добрый день, support.google.com/mail/answer/25922?hl=en
 
Mae
Оказывается, в javascript переменные можно объявлять как `var a = x || b || 2;` O_o
Присвоится первое не false значение
 
@Mae Только не объявлять, а инициализировать. Присвоится результат всего выражения, да. Он совпадает с первым truthy значением в списке.
 
@Mae поздравляю с открытием)
 
@vp_arth разве логический оператор || не должен возвращать только true или false?
 
@NickVolynkin Не в ECMAScript =) В языке с подобной типизацией от лишнего приведения результата к bool никаких плюсов, одни минусы)
 
7:35 AM
@vp_arth ясно )
 
7:50 AM
@Mae по сути похоже на coalesce(x,b, defaultValue) в sql
 
Mae
8:01 AM
@Bald Впервые слышу, а мне бы пригодилось с полгода назад. Произносится как "коалеск"?
 
@Mae ldoceonline.com/dictionary/coalesce .... хороший сайт послушать произношение ..... ну еще тут: ru.forvo.com/word/coalesce от носителей
 
@NickVolynkin только не в javascript :-D
@АлексейШиманский коалесце - очевидно ж
@Mae при этом, важно, чтобы x и b уже были где-то определены, иначе будет исключение
@D-side, ты клозуре трогал же?
 
@Mae очень удобная вещь вместо кучи условий case when then
@Mae по поводу произношения меня не спрашивайте, мой английски ужасен
 
8:24 AM
@NickVolynkin Спасибо. Попробовал - нормально. Для включения нужно лезть в настройки, но зато выключается легко - сверху висит кнопка.
Я думал, там и для отключения нужно лезть в дебри
 
@Grundy который Google Closure? Да, чуть приходилось при работе с CLJS, а что?
 
@D-side там есть функция merge?
 
@Grundy э-э, ну API я наизусть не знаю, конечно :D
Есть же API Reference.
Я Closure Compiler эксплуатировал, а Closure Library практически нет.
 
@ZhukovRA активно описывает метки, но в каждой аннотации у него по маленькой опечатке. Что лучше, отклонять или принимать такие правки?
 
@vp_arth а улучшать нет возможности?
 
8:32 AM
@Bald нет такой кнопочки)
 
@vp_arth принять и потом исправить, кмк
 
@АлексейШиманский правка одной буквы или запятой...
 
@vp_arth ну это же описание метки, тем более с большой репой это никто не увидит
разве что кроме модеров...вроде
 
К тому же для правки теперь нужно ждать, пока правку заапрувят)
Я тупо забуду)
 
@vp_arth Там же есть кнопка улучшить
 
8:35 AM
@Grundy Принять Отклонить Дальше
Речь не про посты, а про метки
 
@Grundy это не правка метки
 
@Grundy хз, может дело в репе?
Улучшить есть только у тех, кто может править без аппрува..
 
8:50 AM
@vp_arth отклоняйте :) Буду более внимательным в будущем.
 
@ZhukovRA с другой стороны маленькая опечатка вероятно лучше отсутствия описания..
 
Ну если пингануть автора, то он может поправить ошибку оперативно. Вот сейчас поправил про rsyslog
@vp_arth согласен. Вопрос в количестве опечаток.
 
подскажите на сколько правильно так реализовать возможность выделить все. <input type="checkbox" ng-model="selectAll.value" ng-click="selectAllItems(selectAll.value)" сама функция выделения выглядит так: $scope.selectAllItems = function(bool){ items.map(item=> item.checked = bool)};
 
@ZhukovRA не всех можно пингануть) разве что преследовать в комментах)
 
@АлексейШиманский уж не проще ли будет самому исправить опечатки?
 
9:04 AM
32 mins ago, by Алексей Шиманский
@vp_arth принять и потом исправить, кмк
 
Что значит "насколько правильно"? Работает, значит правильно)
Правильнее было бы отдельную директиву/сервис для этого сварганить.
Лучше ng-change вместо ng-click.. Что значит items?
 
@Bald ой-вэй, очередное использование map вместо forEach
 
@vp_arth items это список который я отдаю в виде json с сервера и его отображаю во вьюхе, понадобилось предоставить возможность выделить некоторые/все. по поводу работает и ладно: не хочется говнокодить
@Grundy а можно поподробней чем использование первого хуже. они же вроде оба для обхода массивов?
 
@Bald map - создает новую коллекцию, forEach - нет
так как тебе не нужна полученная коллекция и вообще ты просто меняешь значения в текущей коллекции - нет смысла создавать новую
 
@Grundy ок. понял. второй вариант более предпочтителен в данном случае
 
9:12 AM
@Grundy да ладно, массив ссылок на чекбоксы... gc и не с таким справится)
@Bald в общем - решение рабочее, но не реюзабельно. вторую такую группу чекбоксов в этом же контроллере отрисовать можно только через copy-paste функции и заменой items на другую коллекцию..
 
@vp_arth семантически не верно
 
@vp_arth про сервисы я читал и даже их использую, про директивы тоже читал но пока не использовал
 
Ещё не стоит юзать $scope почём зря... Он нужен только для нетривиальных $watch всяких.
this.selectAllItems = bool=>items.forEach(item=> item.checked = bool);
 
@vp_arth стоило тогда сказать что и в разметке тогда надо будет менять
 
@Grundy я писал, коммент слишком длинный получался и я стёр) Разберётся)
 
9:20 AM
@vp_arth я видел про такой способ использования... но тогда же я должен буду в разметке делать так ng-controller="operationController as ctrlOperation" ведь так?
 
@Bald Именно. Только алиас можно и попроще. Я везде пишу as c или as ctrl
 
@vp_arth а если у меня используется ng-route и для маршрута я в представлении не указываю контроллер?
 
@Bald ты можешь в настройках роута прописать контроллер и его название во вью
 
^^^
 
@Grundy а можно пример? что то мне такое не попадалось :)
 
9:24 AM
Всем привет =)
 
@SilencerWeb привет
 
@SilencerWeb привет
 
@SilencerWeb привет
 
похоже на флуд :)
Mapping information to be assigned to $route.current on route match.

Object properties:

controller – {(string|Function)=} – Controller fn that should be associated with newly created scope or the name of a registered controller if passed as a string.
controllerAs – {string=} – An identifier name for a reference to the controller. If present, the controller will be published to scope under the controllerAs name.
 
9:40 AM
@Grundy спасибо
 
@Bald это если у тебя такой роутер а не какой-нибудь ui-router
Но там суть та же
 
@Grundy это не флуд, это робо-отряд ru.SO приветствует новобранца.
 
@D-side всегда знал что вы роботы!
@Grundy ну вообще у меня используется массив из long, это я для примера int добавил, думал не значительная деталь. Обновил вопрос — user2455111 3 mins ago
действительно подумаешь, массив или число
 
@Grundy ну, я встречал языки, которым пофигу... .-.
 
@D-side но c# явно не из их числа
 
9:55 AM
@Grundy определённо.
Пойду порисую весёлые картинки со стрелочками что ли.
 
@D-side он, кстати, уже задавал такой вопрос, и даже закрывал как дубликат. Но, похоже, удалил тот вопрос и вот задал такой-же новый
@D-side про вектора? давно пора!
можно сделать анимированные ;-)
 
@Grundy там анимировать особенно-то и нечего.
 
10:28 AM
Вкрутил картинку. Правда, большой ценности в ней не вижу.
3
A: Как соединить две окружности прямой

D-sideУ вас есть окружности с центрами в O1 = (x1, y1) и O2 = (x2, y2), радиуса r. Заведём вектор C, указывающий из центра первой окружности в центр второй: классическое "конечные минус начальные": C = O2 - O1 = (x2 - x1, y2 - y1). Но это смещение, лишённое "базовой точки". Для чего оно? Для того, чт...

 
@D-side чёт маленькая, не разобрать
 
@D-side я не понял почему O1, O2 - над синими линиями
 
@Grundy векторы из начала координат к центрам окружностей.
 
@D-side вот вообще ни разу не очевидно, тем более в тексте ответа про векторы О1, О2 вообще слов нет
есть точки О1 О2
 
Надо б пририсовать оси.
 
10:41 AM
@D-side а еще, я что-то только сейчас подумал - что будет если у окружностей разные радиусы?
а, хотя в вопросе явно указано что радиус один, но все равно :)
 
@Grundy то нельзя будет брать "просто вектор с минусом", в коде @vp_arth надо будет указать разные радиусы в множителях, и всё будет ок.
 
@Grundy а можешь подсказать как мне для каждого элемента массива выполнить асинхронную функцию(результат которой я запишу в ранее созданную переменную)?
 
@Bald нужно выполнить асинхронную функцию, и в обработчике ответ - записать в созданную переменную :)
:36228581 тебе дать ссылку на каноничный вопрос про получение данных из события или асинхронной функции? :)
 
$scope.operation.items
            .filter(item=> { return item.OperationItemTypeId === 6 })
            .forEach(item => {
                itemService.getAssemblies(item.Id)
                    .then(assemblies=> $scope.operation.assemblies.push(assemblies));
            });
 
@Bald код выглядит рабочим :-)
 
10:48 AM
@Grundy ссылка есть. но что то я не пойму как это сделать в этом примере ^
@Grundy намек ясен. сейчас будет [mcve]
 
@Bald а почему ты думаешь что он не работает?
 
@Grundy скажем так он работает не так как я ожидаю :(
 
@Bald а как ты ожидаешь? :)
 
@Grundy сейчас на планкере сделаю пример...
 
@Bald сначала определись какое именно поведение ты хочешь получить
 
10:56 AM
@Grundy я хочу для каждого элемента массива выполнить асинхронную функцию, результат которой аккумулировать и после этого получившийся массив использовать в представлении... сейчас же у меня выводится таблица из необходимого кол-ва строк, но пустая
@Grundy если только forEach обернуть в обещание...
 
11:14 AM
@Bald не может быть, она должна заполняться по мере выполнения запросов
 
@Grundy как мне не хватает подсказок студии при опечатках :(
 
@Bald Здесь как разу нужен .map) А результат в $q.all
Нативные промисы в ангуляре не стоит использовать - они ничего не знают про $digest
 
@vp_arth не только нативные запросы не знают про $digest
 
@Bald ну да) любой setTimeout или fetch...
 
@vp_arth да не, вы не поняли. в моем сообщении была нотка иронии, всмысле я тоже не знаю :)
 
11:22 AM
@Bald я понял, не сразу, но понял
@Bald Надо знать и понимать. Иначе будут возникать вопросы по типу - в массиве данные есть, console.log их выводит, а на странице никаких изменений...
=>{return === =>
 
@vp_arth все сразу не получается, поэтому я узнаю по мере возникшей необходимости :)
 
11:38 AM
1
Q: Объединить синонимичные метки {“yandex”, “яндекс”}

DukeSpontaneousОбъединить: yandex - 126 вопросов; яндекс - 80 вопросов. (по состоянию на 23.03.2017) Эти метки нужно объединить, так как ими уже отмечены примерно соразмерные параллельные множества вопросов.

 
 
1 hour later…
12:40 PM
@vp_arth тут и map не нужен
все и так работает
 
Хэй
Я вернулся
Я разбанился
Но не суть
Тут есть кто нибудь, кто кодит под NES или SEGA?
 
@monobogdan сомнительно
 
@Grundy, меня тут когда то забанили
Навсегда
Мой второй аккаунт
 
@monobogdan и?
 
@grundy, ты сказал сомнительно, я ответил
Неужели тут только хайлевелщики?
 
12:46 PM
@monobogdan сомнительно что тут кто-то кодит под NES или SEGA
 
@Grundy, инфы по NES очень много, а уроков нет
Тяжело под него кодить, хотя бы потому, что до этого 5 лет ты кодил онли хайлевел
Еще и на Delphi
 
@NickVolynkin Если вопросы переводить, то: 1) Смысл их закрывать по причине "Вопрос закрыт, так как на Stack Overflow на русском вопросы принято задавать только на русском языке. Пожалуйста, переведите ваш вопрос на русский язык или воспользуйтесь Stack Overflow на английском."? Перевести и всё. 2) Автор не поймёт ответы, пусть лучше идёт на enSO, как и советуют в причине закрытия.
 
@monobogdan сейчас прямо кодить под них нет никакого смысла. Видел несколько человек, что в свободное время иногда реверсят и модифицируют NES-картриджи, но чтоб прям писать под них что-то новое -- не-а. Бессмысленно ведь в 2017.
 
@D-side, дык интересно же!
Старая платформа
 
@Other так его сначала закрыли, а только потом перевели
 
12:48 PM
Это прямо экстремальный кодинг получается!
Долшло до того, что я не могу узнать состояние кнопок джойстиков
 
Сейчас народ из этой области скорее около микроконтроллеров и embedded-систем обитает.
 
Они расположены в однм байте по прямому адресу 4016
 
@Grundy В этом и соль - смысл закрывать тогда, если достаточно подождать переводчика, если самому лень? Надо определится - либо вопросы просто выпиливаются, либо надо выпилить причину, ибо не нужна.
 
@monobogdan два принципиальных способа - запрашивать текущее состояние, либо подписываться на события
 
@Other чтобы автор вопрос знал, что тут нужно на русском задавать
 
12:50 PM
Так в том то и дло что там контроллер состояние кнопок в битах одного байта хранит
 
@Grundy А по русским надписям он этого не понял? Или, раз не понял, причину он тоже не поймёт.
 
@Other Закрытие никогда не планировалось как окончательная операция. Закрытие означает лишь, что в текущем виде вопрос - неформат.
 
@Other на самом деле русские надписи ни о чем не говорят. Это может быть просто интерфейс сайта локализован
а не сами вопросы
 
@monobogdan и в чём проблема?
 
@vp_arth Я знаю. Но всё еще выходит странно. Ну или хоть ачивку "Переводчик" вводи.
@Grundy Раз установили локаль - значит тут локализированные пользователи :)
 
12:55 PM
Хз как биты читать
 
@monobogdan Читай байт, зачем биты читать?
 
Потому что в одном байте состояние всех кнопок на джойстие
 
@monobogdan всего 8 кнопок?
 
@monobogdan битовый AND с маской кнопки, выходит ноль или не-ноль. И всего делов.
 
пример
плез
Что то типо if(byte & (1 << 4))
?
 
12:58 PM
надо ссылку на свой ответ кинуть :)
 
@alenkins, внезапно
 
@monobogdan bool button3 = (statebyte >> 3) & 1;
 
@АлексейШиманский давай давай, хоть где-то пригодится про слои :-D
 
ну норм
я так и не догоняю про биты
ну серьезно
 
@Grundy не заходила :) любопытство одержало верх :)
 
12:59 PM
Почему нет чего то типа GetBitValue(byte, 1)?
 
@Grundy ничё, через 5 лет вы меня еще вспомните с over 50к репы за ответ)
 
@monobogdan определите, будет.
 
@alenkins мне казалось раньше ты не заходила :)
 
мб кто нить подкинет мне макрос того же getbitvalue?
 
@monobogdan товарищ, тебя слишком много. Давай более содержательные реплики писать?
 
12:59 PM
@АлексейШиманский пфффф
 
@vp_arth, это разве плохо?
 
@vp_arth что-то мне это напоминает :)
 
@monobogdan да, это плохо, сообщения не самодостаточные и смешиваются с другими дискуссиями в чате.
@Grundy 416?
 
@D-side, бывает
 
@D-side могу во флудилку перекинуть
 
1:01 PM
@Grundy не заходила :) любопытство одержало верх :)
 
Подкиньте макрос получения значение определенного бита?
 
@alenkins :) я и в первый раз прекрасно слышал :)
 
@Grundy что самое прикольное, то первоое сообщение ссылается на сообщение ниже О_о
 
@Grundy прости) пытаюсь справиться с управлением здешним интерфейсом
 
@АлексейШиманский chat.stackexchange.com/messages/36230651/history
 
1:02 PM
сто лет не заходила в чатики
 
@АлексейШиманский это потому что оно отредактировано было :)
 
@monobogdan тебе @vp_arth уже дал код получения третьего бита, замени 3 на параметр, вот тебе и тело макроса.
 
А учитывая современные компиляторы Си, наверное можно и функцией это реализовать, пусть компилятор инлайном занимается. Но это надо проверять, не под все платформы компиляторы столь умны.
А, лол, он уже в бане. Ну ладно.
 
automatically suspended for posting inappropriate content
@D-side Ну читать-то он может
бан только на запись
 
1:08 PM
@Grundy Я к тебе обращался? По-моему, нет..
 
@Yuri да, было заявление, что твоя функция бесполезная, и я-таки подтвердил - она - бесполезная
 
Хм...
 
@Other Но зачем?
 
@vp_arth Да затем, что это можно без правки сделать. Достаточно поставить в начале сообщения жЫрную цифру, отделить пробелом и поставить 1 звезду.
42 Это демо.
 
42 Вторая же звезда спалит контору
 
1:17 PM
@vp_arth не спалит, если трехзначное число будет
уже пробовали до этого давно
 
@Grundy Меж ними пробел будет же.
 
@Other да
 
@vp_arth Работает же.
@Grundy Значит "спилится".
 
@Other пробел будет выглядеть, как нормальный разделитель тысяч
 
@Grundy А мне нужны были ваши подтверждения? По-моему, нет..
 
1:28 PM
@vp_arth А кто знает - если он тут, в чате?
 
@Yuri тогда и писать не стоило :)
 
@vp_arth Вероятно он "1k" будет.
 
@Other вряд ли
 
@Grundy Я писал не для вас
 
@Grundy Бритва Оккама негодует!
 
1:29 PM
@Other Про это же никто не знает всё равно) много ли тысяч звёзд будет рядом, чтобы сравнить?
 
@Yuri а ответил я.
 
@Grundy Мне на ваше мнение [некультурное слово :)]
 
@Yuri иии? :-)
 
@Yuri так кроме вас тут разве больше никого?
 
@Grundy Попрошу не отвечать на мои вопросы..
 
1:31 PM
@vp_arth Но всё же палевно. Число отделяется пробелом, значит пробел автоматом отделять будет.
 
@Yuri я могу перенести все твои сообщения в твой чат, чтобы больше не было недоразумений :-)
 
999 Тест на палевность
3
 
@Grundy Делай что хочешь, Всемогущий наш
 
@Grundy, @Yuri, не ссорьтесь, лучше поцелуйтесь.
 
Го вторую, чтобы отозвать успеть обе
 
1:32 PM
@Grundy Жмякните тестовое сообщение, пожалуйста.
 
Ну норм же) убирайте звёздочки) А то мне так до бана недалеко))
 
Я вернулся!
 
@vp_arth о чем и речь. Я ж говорю, уже пробовали :)
 
ладнор
 
@vp_arth Но ясно видно что "палево". Хотя и любопытно, конечно :)
 
1:34 PM
вернемся к теме
 
@vp_arth Нет, это мой план по избавлению от конкурентов, вмухахаха!
@NicolasChabanovsky, Вы не знаете какой разделитель для тысяч у звезд в чате?
 
@Other Ах ты ж хитрая ....
 
int GetBitValue(unsigned char byte, int bitnum) {
if(byte & (1 << bitnum)) {
return 1
}
else {
return 0
}
}
вот так нормас?
будет работать?
оп
 
@monobogdan return (byte >> bitnum) & 1;
 
@vp_arth та ты умный
но все равно спасибо
а как оно на пр-сти с таким железом как у NES скажется?
 
1:36 PM
@monobogdan следующее но намекает, что "умный" - не комплимент?
 
не совсем
ты просто предложил более короткий вариант
а мне нравится когда код большой
и читабельный
а про "ум" это просто как ты его скоратил сильно
а разве потом не надо в int преобразовать?
т.е return (int)(byte >> bitnum) & 1
 
@monobogdan зачем? там и так int
 
тогда все отлично
спасибо!
а что там с фреймбуфером у NES?
напрямую писать в VRAM можно?
А то у моего приложения, скажем так, не совсем спрайтовые наклонности
проще говоря хочу реализовать постэффекты
 
@monobogdan Почему бы Вам не задавать Ваши вопросы на сайте для вопросов?
 
@vp_arth Я там не получу на них ответа
 
1:40 PM
@monobogdan Здесь вы их получите с куда меньшей вероятностью
 
@monobogdan А тут нельзя их задавать. Только отвечать на вопросы модеров.
 
@Other Тогда окей
спасибо
Видели что эмулятор NES с emscripten портировали в браузер?
Здорово же
А что emscripten делает с fopen и другими файловыми IO функциями?
 
@monobogdan Что такое NES?
 
Nintendo Entertaiment System
денди вообщем
Хотя денди не совсем NES
скорее аппаратный клон
 
@Other никак, они просто числом выводятся
 
1:49 PM
@Grundy Неизвестно пока.
 
Слушайте
GCC в теории портируется на любую платформу?
точнее на любой ассемблер?
 
@Other известно, звездочки вставляются так: i.find(".times").html(it(e.message_stars)) где e.message_stars - это число
форматирования нет
 
@Grundy В исходниках выкопано? Что делает it с числом?
 
Предлагаю заменить неудобный чат stackoverflow на чат как вот тут: mirgames.ru/chat
Хз являются ли ссылки на сторонние ресурсы нарушением
так что строго не судите
 
:36231940
    function it(e) {
            return e > 1 ? e : ""
    }
 
1:54 PM
@monobogdan тебя и там больше всех
 
ага
Я привык что чат - свободная комната где можно общаться на любые темы и без всяких ограничений(в пределах нормы)
 
@Grundy Никаких Math.min, исключений и прочего?
 
@Other да, ничего
в этой части :-)
 
@monobogdan Конкретно этот чат - служебный. более-менее
 
@Grundy Как-то... индусом запахло.
@vp_arth Более-менее, ха.
 
1:56 PM
@Other почему? :-) файл довольно большой и функций много, тем более они минифицированны, поэтому точно нельзя сказать где какие проверки есть
 
@monobogdan но ведь можно собрать мысли в кучу и выдать одним предложением, а не десятком мелких по два слова.
@monobogdan имхо это раздражает
 
Давно уже привык так, да и не всех раздражает
 
@monobogdan это обычно у поколения твиттера такое. буфер маленький
уж не в обиду
будет сказано
здесь или вообще
где-либо еще
 
@АлексейШиманский omg, подцепил эту заразу чтоль?
 
@Grundy Но конкретно тут надо бы сделать лучше. Но раз нет, значит, видимо, остальной код такой же.
 
1:59 PM
@vp_arth апчхи 10100010100001110100001010110001010100010000
 
@АлексейШиманский Жывтоне попячтса
 
03:00 - 14:0014:00 - 00:00

« first day (722 days earlier)      last day (2598 days later) »