Я так и не понял, что такое «мои контакты». Вообще непонятный какой-то концепт. Вроде бы, в списке чатов появляются вообще все люди, которые мне когда-то писали. Но их ещё иногда (хз по какому принципу) предлагается добавить или не добавлять в какой-то скрытый «контакт-лист».
Простите, не могли бы вы провести небольшой эксперимент? Попробуйте быстро нажимать на вашем Макбуке клавишу A (английскую) и Caps Lock.
В идеале, у вас должна получиться вот такая строка: aфaфaфaфaфaфaф
У меня это почему-то ужасно работает, раскладка практически не переключается при быстром нажатии. Пришлось накатывать какой-то волшебный патч через Karabiner (который обещает отвалиться не то на Big Sur, не то на M1, я пока не понял).
Мне очень понравилась та часть контеста, где нужно было реализовывать виртуальную машину и исследовать галактику, но к моменту настоящего контеста (когда нужно было писать ботов) запал уже, к сожалению, иссяк :(
Атмосфера вами была сделана просто великолепно, и организация на хорошем уровне.
Однако, с CI у нас была одна проблема: оказалось, что в вашем Докер-образе для Haskell не хватает каких-то там библиотек, и из-за этого несколько участников нашей команды сначала долго и старательно запиливали какой-то крутой модуль для работы с HTTP, а потом так же долго и старательно его выпиливали, когда мы не смогли запустить его в вашем образе, и не смогли даже после нескольких принятых вами пул-реквестов развернуть там все нужные зависимости :(
Конструктор родительского класса можно вызывать в любом месте конструктора дочернего класса в JS и CoffeeScript.
Однажды я на это очень хорошо напоролся, когда переводил кодовую базу с CoffeeScript на одну из относительно ранних версий TypeScript, в которой так делать было нельзя (по крайней мере, тогда; как сейчас — уже не знаю). Пришлось довольно нефигово приседать, чтобы пофиксить все связанные с такой миграцией проблемы (да, само собой как-то нечаянно получилось, что код оказался завязан на это поведение; самому неприятно).
Во всяком случае, точно могу сказать, что проблема не надуманная, а в рабочем (допустим, не вполне аккуратно написанном) коде сама собою образовалась.
Самое обычное дело. Например, для компиляции PDF из LaTeX-документа latexmk тоже много раз перезапускает процесс, покуда не получится удовлетворительный результат (впрочем, там этому есть логичное объяснение).
Вроде в какой-то версии это допилили. У меня работает, например, такое:
[<Measure>] type cm
[<Measure>] type xx = cm ^ (1/3)
let a = 10<cm>
let b = 10<xx>
(извините, хорошего примера я не придумал, и даже помню, как во времена введения этой фичи ломал голову — где она может понадобиться; ни одной физической величины, использующей такие единицы, мне в голову ни тогда, ни сейчас не пришло)
Дедфуду интересен подход, при котором «компилируется — значит, работает», побольше всяких там компилтайм проверочек, побольше всего в системе типов, побольше обоснованной уверенности в коде.
А я думаю, что в идеале всё равно стоит. При чтении с экрана практически все условия совсем другие: освещённость, фактура материала, угол зрения, приблизить/отладить текст можно другими способами (ну, с книжкой/планшетом я могу двигать самим читаемым предметом, а в случае с монитором компьютера или ноутбука, наверное, буду двигать головой). Возможно, что это будет по-другому влиять на особенности восприятия различных шрифтов. А возможно, нет. Если уж кто-то прям серьёзно будет заниматься исследованием, то им стоит рассмотреть эти факторы.
Ну, приватные версии у опенсорса ещё как бывают. Возьмите модель разработки nethack какого-нибудь. Да, мне тоже это кажется странным, но общественное мнение говорит, что это такой же полноправный опенсорс.
Вы выбрали изначально не кроссплатформенный пример. Точно так же и на плюсах нельзя закодить какое-нибудь MFC-окошко, не выходя из Linux (что, имхо, не говорит в пользу MFC, но вряд ли годится в качестве аргумента против плюсов).
А давайте теперь рассмотрим кроссплатформенный пример. На плюсах мы возьмём портабельную технологию Qt, а на C# — портабельную технологию Avalonia. И… ну, у нас выйдет закодить бинарник с окошком, не выходя из Linux. С некоторыми приседаниями мы его тут же заодно скомпилируем под Windows и macOS.
Что дальше? Какие выводы можно сделать, и нужно ли их делать?
Пишем тетрис в bat-файле
Вероятно, Cygwin'овский
cat
у вас как раз и обрабатывает ANSI-последовательности, преобразуя их к командам Windows console API.ВанГеры как история Open Source сообщества
Я не считал себя сентиментальным человеком, но вы завоевали моё сердце.
Огромное спасибо всем причастным к публикации кода всех этих прекрасных игр и к поддержке сообщества. Вы — лучшие! ♥
Павел Дуров раскритиковал Facebook и развеял три мифа о Telegram
Я так и не понял, что такое «мои контакты». Вообще непонятный какой-то концепт. Вроде бы, в списке чатов появляются вообще все люди, которые мне когда-то писали. Но их ещё иногда (хз по какому принципу) предлагается добавить или не добавлять в какой-то скрытый «контакт-лист».
Чёрт знает что, если честно.
Линус Торвальдс объяснил, почему он не будет покупать Mac на чипе M1
Простите, не могли бы вы провести небольшой эксперимент? Попробуйте быстро нажимать на вашем Макбуке клавишу A (английскую) и Caps Lock.
В идеале, у вас должна получиться вот такая строка:
aфaфaфaфaфaфaф
У меня это почему-то ужасно работает, раскладка практически не переключается при быстром нажатии. Пришлось накатывать какой-то волшебный патч через Karabiner (который обещает отвалиться не то на Big Sur, не то на M1, я пока не понял).
ICFP Contest 2020 от идеи до воплощения. Как организовать контест и выжить
Не подумайте, что это был камень в чей-то огород :)
Я тоже не представляю, как можно эту историю улучшить.
TeX в SVG: опенсорс-решение в помощь веб-разработчикам образовательных проектов
Когда мне нужно было решить подобную задачу (преобразовать LaTeX-формулу в SVG), то я воспользовался библиотекой, которую сейчас мейнтейню — WPF-Math.
Причём функция, генерирующая SVG, у нас там получилась вообще в качестве одного из случайных побочных результатов разработки.
ICFP Contest 2020 от идеи до воплощения. Как организовать контест и выжить
Мне очень понравилась та часть контеста, где нужно было реализовывать виртуальную машину и исследовать галактику, но к моменту настоящего контеста (когда нужно было писать ботов) запал уже, к сожалению, иссяк :(
Атмосфера вами была сделана просто великолепно, и организация на хорошем уровне.
Однако, с CI у нас была одна проблема: оказалось, что в вашем Докер-образе для Haskell не хватает каких-то там библиотек, и из-за этого несколько участников нашей команды сначала долго и старательно запиливали какой-то крутой модуль для работы с HTTP, а потом так же долго и старательно его выпиливали, когда мы не смогли запустить его в вашем образе, и не смогли даже после нескольких принятых вами пул-реквестов развернуть там все нужные зависимости :(
Нейросеть «Порфирьевич» дописывает тексты и стихи на русском языке
Девять месяцев спустя читать это стало очень интересно.
Вызываем конструктор базового типа в произвольном месте
Конструктор родительского класса можно вызывать в любом месте конструктора дочернего класса в JS и CoffeeScript.
Однажды я на это очень хорошо напоролся, когда переводил кодовую базу с CoffeeScript на одну из относительно ранних версий TypeScript, в которой так делать было нельзя (по крайней мере, тогда; как сейчас — уже не знаю). Пришлось довольно нефигово приседать, чтобы пофиксить все связанные с такой миграцией проблемы (да, само собой как-то нечаянно получилось, что код оказался завязан на это поведение; самому неприятно).
Во всяком случае, точно могу сказать, что проблема не надуманная, а в рабочем (допустим, не вполне аккуратно написанном) коде сама собою образовалась.
Пользователь нашел простой способ просмотра видеороликов на YouTube без рекламы, а также онлайн-статей без подписки
У меня провайдерские блокировки так и остались, рутрекер с точкой не работает.
Объясните мне, как вы для себя разобрались в моделях типизаций — они же все размыты
Анонимные рекорды в F# пытаются играть по примерно таким же правилам, кстати.
Обновление KB4556799 для Windows 10 вызывает проблемы со звуком и создает новый временный профиль пользователя
Самое обычное дело. Например, для компиляции PDF из LaTeX-документа
latexmk
тоже много раз перезапускает процесс, покуда не получится удовлетворительный результат (впрочем, там этому есть логичное объяснение).Динамическая типизация — это не инструмент для разработки. Это чепуха (паршивая)
Охотно верю, что фича появилась не случайно. Но где такие единицы используются, не могли бы вы привести пример?
Динамическая типизация — это не инструмент для разработки. Это чепуха (паршивая)
Вроде в какой-то версии это допилили. У меня работает, например, такое:
(извините, хорошего примера я не придумал, и даже помню, как во времена введения этой фичи ломал голову — где она может понадобиться; ни одной физической величины, использующей такие единицы, мне в голову ни тогда, ни сейчас не пришло)
Динамическая типизация — это не инструмент для разработки. Это чепуха (паршивая)
В F# есть такая встроенная фича, называется units of measure. Очень удобная, в моём физическом коде пару ошибок помогла поймать.
Во многих других функциональных языках, в которых есть конструкции вида
newtype
, это также делается достаточно изящно.(забавный факт: автор обсуждаемой статьи как раз тоже топит за F#)
Пора на свалку
Дедфуду интересен подход, при котором «компилируется — значит, работает», побольше всяких там компилтайм проверочек, побольше всего в системе типов, побольше обоснованной уверенности в коде.
Delphi, Pascal — ну вообще не про это.
Знаменитые дизайнеры vs научные исследования про читаемость шрифтов
А я думаю, что в идеале всё равно стоит. При чтении с экрана практически все условия совсем другие: освещённость, фактура материала, угол зрения, приблизить/отладить текст можно другими способами (ну, с книжкой/планшетом я могу двигать самим читаемым предметом, а в случае с монитором компьютера или ноутбука, наверное, буду двигать головой). Возможно, что это будет по-другому влиять на особенности восприятия различных шрифтов. А возможно, нет. Если уж кто-то прям серьёзно будет заниматься исследованием, то им стоит рассмотреть эти факторы.
Критика протокола и оргподходов Telegram. Часть 1, техническая: опыт написания клиента с нуля — TL, MT
Часто можно видеть в подобных ситуациях, как автор в комментариях даёт такую ссылку. Вроде как не запрещено, просьбу дать ссылку поддерживаю.
Критика протокола и оргподходов Telegram. Часть 1, техническая: опыт написания клиента с нуля — TL, MT
Ну, приватные версии у опенсорса ещё как бывают. Возьмите модель разработки nethack какого-нибудь. Да, мне тоже это кажется странным, но общественное мнение говорит, что это такой же полноправный опенсорс.
C++ против C#
Вы выбрали изначально не кроссплатформенный пример. Точно так же и на плюсах нельзя закодить какое-нибудь MFC-окошко, не выходя из Linux (что, имхо, не говорит в пользу MFC, но вряд ли годится в качестве аргумента против плюсов).
А давайте теперь рассмотрим кроссплатформенный пример. На плюсах мы возьмём портабельную технологию Qt, а на C# — портабельную технологию Avalonia. И… ну, у нас выйдет закодить бинарник с окошком, не выходя из Linux. С некоторыми приседаниями мы его тут же заодно скомпилируем под Windows и macOS.
Что дальше? Какие выводы можно сделать, и нужно ли их делать?