bravit-about
2.24K subscribers
23 photos
2 files
79 links
Download Telegram
Вот смотрю на наш учебный план и думаю, как же у нас на МКН СПбГУ круто! https://bsse.compscicenter.ru/courses/
Forwarded from Смирнов
Ну что, нас решили заблокировать за довольно безобидное исследование про ковид в системе ФСИН. Прислали письмо, что текст "содержит недостоверную общественно значимую информацию, распространяемую под видом достоверных сообщений, которая создает угрозу причинения вреда жизни и (или) здоровью граждан и так далее". У нас есть сутки на внесение изменений.

Поскольку претензии к тексту не конкретизированы и нас заблокируют уже завтра мы вынуждены были поменять текст внутри.

Вообще все как-то невесело. Нас хотят заблокировать, донаты у нас падают последний месяц, судя по всему в ближайшее время ежемесячные подписки упадут ниже 2 млн рублей в месяц. Вообще это очень печально, кажется что мы недорабатываем или перестаем быть актуальными (так бывает, чего уже там).

Ну и отдельно конечно спасибо РКН за ваше прекрасное письмо о блокировке в День Рождения сына (ему сегодня 5 лет). Вместо сборки нового Лего пойду ему расскажу что такое Роскомнадзор. И почему я с ним не играю, а работаю.

Не знаю, как уже призывать подписаться на донаты. Кажется никак) Но сегодня это было бы очень здорово, правда: https://donate.zona.media/smirnov
Прошу заметить, что формулировка не моя!
Сегодня в 20:00 ко мне в гости придёт Виталий Брагилевский. Преподаватель СПбГУ, специалист по языкам программирования и идеолог Хаскелля. Поговорим про пределы науки и беспредел языка, чем программирование отличается от математики и как гуманитарии обманули технарей назвав политологию наукой. Будет очень интересно, подключайтесь! https://youtu.be/8K6aaLDcoQU
Иногда мои доклады неожиданно для меня самого всплывают в открытом доступе. Вот сегодня обнаружился доклад на IT-конференции в Ростове, который я делал в сентябре. Я там рассуждал о том, какие факторы влияют на развитие языков программирования и почему они движутся в ту или иную сторону. Доклад, кажется, получился неплохой, можно смотреть. https://www.youtube.com/watch?v=pHq3HDEXQXM
список спецкурсов (87 штук) на осень 2021 МКН СПбГУ. Идеология примерно такая — 3-4 курс и магистры могут выбирать любые курсы, но есть рекомендации (какие курсы базовые, а какие продвинутые, есть ограничения, что математикам вроде много программерских курсов выбирать, но в целом — что угодно можно выбирать, идеология факультета, что по возможности все курсы открыты для всех специальностей). И статистика классная (см картинку).

Если вдруг кто рассматривает как вариант [математическую] магистратуру у нас, можно посмотреть и увидеть, что всего дофига. Опять же, идеология в том, что продвинутые магистры возьмут продвинутые курсы, а те, кто переходят в математику из физики или программирования могут сначала прийти на базовые курсы по интересующим направлениям.

Кидайте в комментах такие статистики по другим вузам (Россия и зарубеж, если кто знает где их искать)! Про чистую математику, конечно, в первую очередь.
Закончился кошмар, продолжавшийся три с половиной года: в ближайшие дни Haskell in Depth уходит в печать. По этому поводу издательство даёт сегодня скидку в 40%: https://bit.ly/haskell-in-depth. Последним фрагментом текста оказались благодарности. Ещё позавчера их немного правил. Теперь уже совсем всё. Ура!
👏1
Адская жесть — была в этом году приёмная кампания поступления в вузы в РФ. Напомню: каждый участник выбирал 5 вузов и в них несколько программ, куда подавал документы. Дальше каждый участник кладет в одну из этих программ "согласие". Его можно отзывать и перекладывать на другую программу. Устроитель этого экономического механизма предполагал, что почти все в первый день положат согласие в самое приоритетное место. Потом, если видишь, что не проходишь — выше тебя согласий (это открытая информация) больше чем мест — тогда перекладываешь согласие в следующий по приоритету вуз и за несколько дней всё стабилизируется.

Вузы обязаны были всех идентифизировать по СНИЛС, а тогда можно собрать данные со всех вузов и знать, кто куда подал согласие. Это реализовали классные чуваки (а не государство). Кто знает контакты разработчиков admlist — скажите мне, плз!)

Но всё пошло не так. Во многих вузах куча согласий пришло за несколько минут до дедлайна. Я вот думал, чем это можно объяснить.

Гипотеза такая. Сначала ты никуда не кладёшь согласие. Потом без пяти минут дедлайн кладешь его на самую приоритетную программу,куда проходишь на текущий момент. Этим достигается следующий эффект: ты вытесняешь людей, у которых лежало согласие на этой программе (и которые проходили), вникуда. Они не успевают переложить согласие, и, значит, не поступают НИКУДА. Значит меньше участников в гонке поступления. Меньше участников (суммарно) — больше шансов. Жестокий (без шуток, много для кого это трагедия) мир экономических механизмов.
Посмотрел сегодня в один присест новый сериал «Кафедра» на Нетфликсе. Университетская среда нечасто попадает на экран, но каждый такой случай — для меня праздник. Всё такое родное и близкое. Пусть там и американская повестка, но мы в общем-то не очень далеко. Университеты и универсанты — это трансграничное явление, постоянно в этом убеждаюсь. Вы, кстати, роман «Стоунера» Уильямса читали? Почитайте, тоже про это. И там, и там, кстати — кафедра английского языка и литературы!
Как должен быть устроен приём в вузы в России? спойлер: примерно так, как во Франции, а именно:

1. Централизованный сайт. Только для поступления. Логинишься туда через гос.услуги (или логин-пароль в школе выдают). Заходишь и видишь свой результат ЕГЭ, свои дипломы и ИД (всё уже есть в базе у министерства). Если чего-то не хватает — догружаешь сканы.

2. Видишь список всех вузов и всех программ, как бюджетное обучение, так и платное. Выбираешь то, что тебе "интересно" (скажем, не более 30 программ). Скажем, до 1го июля.

3. Приёмная комиссия каждого вуза заходит на тот же сайт 1го июля и видит всех тех, кто указал программу как "интересную". Упорядочивает их (сначала идут инвалиды, квотники, олимпиадники, потом те, кто ЕГЭ, как там по закону). Если на программе 50 мест, то первым 50ти высылает "предложения". Список виден всем (и статус всех "предложений").

4. Каждый абитуриент оказывается в одной из следующих ситуаций: а) не получил "предложений" ни от одного вуза — тогда ничего не делаешь. б)получил одно предложение — автоматически его "условно" принимаешь. в) получил много предложений — обязан одно "условно" принять, а остальные навсегда отклонить. На размышления есть два дня.

5. Приёмные комиссии постоянно мониторят списки. Если им кто-то навсегда отказал, они высылают "предложение" следующему из списка. Например, за первые три часа 30 человек "условно" приняли, 20 навсегда отказали (и на сайте это сразу видно). Тогда высылают "предложения" следующим двадцати.

6. Вот я абитуриент, у меня было "условно" принятое предложение. Если мне приходит предложение от другого вуза, то в течение 2 дней я должен либо "условно" принять новое предложение и навсегда отказаться от старого, либо навсегда отказаться от нового (сохранив старое).

7. 1 августа, скажем, все "условно" принятые предложения автоматически становятся согласиями на зачисление и вузы зачисляют.

Как показывает теория и французская практика, процесс очень быстро сходится и стабилизируется. Более того, каждый день вы видите, сколько человек выше вас уже навсегда отказались, и понимаете свои шансы, и текущие "проходные баллы". Ждать до последнего (как было в России в этом году) невозможно, у вас постоянное всего пара дней на решение, и это очень простое решение — из тех вузов, что прислали предложение, выбрать лучший.

В этой системе нет никакого риска вообще. Если абитуриент не попал на программу, то либо он попал на более хорошую программу (с его точки зрения) либо у него баллов за ЕГЭ меньше, чем у последнего зачисленного (то есть абитуриенту вообще предложение от этой программы не приходило). А если приходило предложение и абитуриент в итоге отказался — так это потому что более хорошие предложения пришли.

Как всё происходит? за первые дней 10 полностью стабилизируется ситуация в топовых вузов, за следующие 10 - в средних, и, наконец, в остальных. Просто из-за того, что дедлайн не один, а у всех разные и их много.

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

А что с платным обучением? Да всё то же самое. Сначала может прийти предложение на бюджет. Потом предложение на платное с более крутой программы. Отказываетесь от первого, соглашаетесь на второе. Потом может прийти и предложение на бюджет с более крутой программы. А может и не прийти. То есть всё равно решать что-то надо, но вы знаете, что однажды получив "предложение", уже точно куда-то поступите. А если не получили ни одного "предложения" — ну, значит, все 30 программ выше своего уровня выбрали. Не надо так делать.
🔥9👍2
Forwarded from Медиазона
ДАННОЕ СООБЩЕНИЕ (МАТЕРИАЛ) СОЗДАНО И (ИЛИ) РАСПРОСТРАНЕНО ИНОСТРАННЫМ СРЕДСТВОМ МАССОВОЙ ИНФОРМАЦИИ, ВЫПОЛНЯЮЩИМ ФУНКЦИИ ИНОСТРАННОГО АГЕНТА, И (ИЛИ) РОССИЙСКИМ ЮРИДИЧЕСКИМ ЛИЦОМ, ВЫПОЛНЯЮЩИМ ФУНКЦИИ ИНОСТРАННОГО АГЕНТА

https://donate.zona.media/
Если вдруг кто-то до сих пор не прикупил себе Haskell in Depth, то самое время: сегодня дают скидку 42% на https://www.manning.com/dotd. С той же скидкой можно заодно купить ещё три книжки: для начинающих изучать Haskell от Уила Курта (она отличная, я работал над ней в оригинале как technical proofer, и редактировал перевод на русский), для интересующихся дизайном приложений в функциональном стиле от Саши Гранина, ну и для интересующихся функциональным стилем вообще и не брезгующих при этом синтаксисом Scala от Michał Płachta.
Пообещал твиттерским начать писать о прочитанных книгах. За пред/пост-новогоднюю неделю прочитались целых три, пора выполнять обещания.

Зонке Аренс. «Как делать полезные заметки. Эффективная система организации идей по методу Zettelkasten»

Как пишут научные статьи и нонфикшн? Сначала следует долго читать чужие статьи и книжки, выписывая оттуда интересные мысли (идеи) в форме заметок. Мысли эти важно переформулировать своими словами — это важно — цитаты тут не помогут, а то и навредят, ведь могут обвинить в плагиате. Когда написанных по разным материалам заметок становится достаточно много, их начинают комбинировать друг с другом, что-то немного изменяют, компонуют, редактируют — и вуаля, появился собственный текст, можно публиковать. Лучше работать над несколькими текстами параллельно, по разным комбинациям заметок, так выйдет продуктивнее.

Примерно такой процесс описывает автор недавно прочитанной мною книжки о методе Zettelkasten. Может, для написания блогпостов и книг по саморазвитию такое и работает, но вот я слабо себе представляю что-то подобное в других областях. Точнее представляю не как основной процесс (в книжке заметки и обработка ящика с ними представлены именно так), а скорее как подспорье для того, чтобы просто не забыть что-то потенциально полезное, где-то однажды прочитанное или увиденное.

Тем не менее, польза от написания заметок наверняка должна быть, описанные в книге подходы по переработке информации действительно должны работать. Пытаться пассивно запоминать новую информацию неэффективно (студенты постоянно это демонстрируют). Только вот это вещь, кажется, довольно очевидная, не требующая серьёзной методологической проработки.

Обратите внимание, что хотя в центре внимания именно заметки и работа с ними, книжка на самом деле не об этом. Она о запоминании старых идей и генерации новых, об исследовательской деятельности как о способе получения результатов в виде текстов на основе переработки других текстов.

Читать книжку было увлекательно, описанные результаты исследований и случаи из жизни очень убедительные, кому-то это всё наверняка поможет организовать свою работу, но лично я делать полезные заметки скорее всего не буду. Некогда! Книги надо писать, а не заметки!
👍68🔥16😱76👎6🤩4💩4😢1🎉1
Включил комментарии к постам. Теперь можно сообщить, что я написал полную ахинею и вообще ничего не понял в Zettelkasten!
💩2811🤩8👍7👎3🎉3😱1
31 декабря я весь день читал книгу «Манифест инвестора» Уильяма Бернстайна. Это такой ликбез для начинающих интересоваться инвестициями. Не то что я очень бы ими интересовался, но вокруг все говорят, что надо, да и книжку подарили. Опять же страшновато, что на пенсии нечего будет есть.

Автор начинает с истории фондовых рынков и сразу же всячески убеждает, что играть акциями на рынке не стоит, и что основная задача должна состоять в том, чтобы накопить средства для безбедного существования на пенсии. Объясняет связь между риском и доходностью, учит понятию и способам формирования инвестиционного портфеля, подробно рассказывая о сути акций, облигаций и фондов различных видов. Предупреждает об опасностях, как внешних (кто там эти фонды контролирует?), так и внутренних (в частности, очень не рекомендует часто интересоваться происходящим на рынке, пишет, что это вредит психологическому состоянию). Учит регулярной перебалансировке, чтобы инвестиции продолжали выполнять свои задачи на желаемых уровнях риска и доходности. ETF не любит почему-то, но Vanguard любит. Ещё очень не любит брокеров и всяких там финансовых консультантов.

Есть небольшая доля американской специфики (про пенсии и виды инвестиционных счетов, например), но в целом мне показалось, что чтение для начинающих полезное. Для меня так точно. Даже захотелось что-то поподробнее и поглубже почитать (можно рекомендовать в комментариях!).
👍52👎4😱21🔥1
Chris Riccomini and Dmitriy Ryaboy. The Missing README: A Guide for the New Software Engineer. No Starch Press, 2021.

Вот приходит вчерашний выпускник программистской специальности (или даже курсов, неважно) на свою первую работу и сталкивается с массой неизведанного. Вокруг куча людей, все занимаются непонятно чем, кто тут вообще начальство, к кому идти с проблемами, менеджеры, лиды, миллион ресурсов для взаимодействия и хранилищ информации, процессы, митинги, операции и таски. Дали первое задание: разберись, мол, с кодовой базой. О боги, как это скомпилировать? Гредл? Чё? В облаке? А если вдруг надо новый код написать, потом код-ревью — сеньор токсичит: чему тебя в «...» учили вообще, кто так переменные называет, а тесты где, а логи писать Пушкин будет... Понятно, что со временем станет попонятнее и попроще, но хорошо бы подготовиться заранее. Есть онбоардинг в компании — замечательно, но насколько он хорош? А иногда надо бы ещё понять, а что спрашивать вообще.

Книга The Missing README написана как раз для приходящих на свою первую работу молодых (без эйджизма!) разработчиков. Она отвечает на массу вопросов, например: как вливаться в команду и изучать код, как вообще работать с кодом, когда его рефакторить и как эту работу оформлять в коммиты. Что такое защитное программирование, логирование, метрики, управление зависимостями, тестирование. Что такое код-ревью, как на него реагировать и как его делать. Что происходит с кодом после его написания (вплоть до попадания к пользователям). Кто такие саппорт-инженеры. Как проектировать реализацию фич (даже маленьких), как продумать хорошую архитектуру, какие процессы вокруг происходят (эджайл и все дела). Кто такие менеджеры, чем они занимаются и как с ними взаимодействовать. Как просить о повышении зарплаты и как понять, что пора увольняться. Какие есть вообще карьерные пути.

Вы скажете: ну что за мешанина, как это всё можно уместить в менее чем триста страниц? А вот можно, как выясняется: авторы выделили в каждой теме самое главное и очень сжато об этом рассказали. По каждой конкретной теме они стараются ответить на вопрос: что происходит вокруг, как надо делать, чтобы было хорошо и чего делать не надо. А ещё в конце каждой главы шикарные рекомендации источников, по которым можно разобраться подробнее (апнуть левел в теме!). И это важно: нам не всегда надо подробнее, иногда достаточно просто намекнуть, но если стало интересно — то вот рекомендации опытных специалистов.

Мне эта книга очень понравилась. Она точно поможет начинающему разработчику подготовиться к первым этапам и побыстрее их пройти. Уверен, что опытные разработчики обнаружат в ней много «ерунды» (авторы и сами предупреждают: очень уж opinionated у нас сфера!), но им тоже полезно: ведь им хорошо бы понимать, какие проблемы стоят перед новичками, у самих-то память отшибло уже, как там оно поначалу было.

По слухам, одно из русскоязычных издательств уже купило права на перевод. К сожалению, не знаю какое, но если это правда и кто-то оттуда меня услышит, то готов предложить услуги научного редактора. Будет очень обидно, если перевод окажется неудачным.
👍76👎1
Channel photo updated
Очень интересно меня коллеги всё-таки позиционируют. Вот у нас (факультет МКН СПбГУ) есть регулярная смена для школьников в Сириусе. Курсы на этой смене читаются по трём направлениям: математика, компьютерные науки, программирование. Когда я читаю там курс «Принципы программирования» — это, понятное дело, программирование. Если это «Интерактивное доказательство теорем» — ну, почему-то тоже программирование. Ладно. Впрочем, если курс на эту тему читаю не я, то внезапно это уже компьютерные науки. Дай, думаю, сломаю систему: в этом году делаю вместе с коллегой–алгебраистом курс «Построение больших простых чисел». В какое, думаете, направление меня поставили? Правильно, программирование! Это же вам не «Спортивное программирование» или «Введение в LaTeX», которые у нас на смене в этом году числятся в направлении по компьютерным наукам. Вот там науки! Компьютерные!

Если что, я не в обиде. Просто это иллюстрирует некоторое глобальное отсутствие понимания того, что же такое компьютерные науки. На западе с этим более-менее уже разобрались, но у нас в России пока всё плохо. Вот и вешают лейблочку как-нибудь. Но Брагилевский — он по программированию, ясно?
👍43👎1
Lorne Lantz, Daniel Cawrey. Mastering Blockchain: Unlocking the Power of Cryptocurrencies, Smart Contracts, and Decentralized Applications. O’Reily, 2020.

Почитать что-нибудь существенное о мире криптовалют и блокчейна мне хотелось давно. Всё-таки это довольно важная для современных технологий вещь, про которую я вообще ничего не понимаю. В декабре, готовясь к лекции, я прочитал книжку “Real-World Cryptography” (писал немного о ней у себя в твиттере: https://twitter.com/_bravit/status/1463087507428552709). Там была глава о криптовалютах, в которой я практически ничего не понял. Потом я немного готовился к докладу на студенческом дне конференции SnowOne (https://snowone.ru/student) и внезапно узнал, что специально разрабатывавшийся для написания верифицированных микроядер язык неожиданно оказался языком для написания смарт-контрактов (https://www.certik.com/resources/blog/technology/an-introduction-to-deepsea). Ну, думаю, всё, пора разбираться.

Разбираться сложно: книг уже сейчас довольно много, но мне была нужна такая, в которой есть и техническая часть, и идеологическая (ну чтобы несколько книг не читать, так-то меня эта сфера не настолько привлекает, чтобы много про неё читать). Кажется, получилось такую книгу найти. Изданная в O’Reily Mastering Blockchain начинается с истории вопроса, с разработок 90-х годов до появления биткойна. Потом авторы рассказывают про основные понятия (полезнейшая вторая глава: тут тебе и про транзакции, и про майнинг с хэшами, и про стейк-холдеров). Изложение идёт скорее вширь, чем вглубь. Достаточно коротко, чтобы не надоело, но стало примерно понятно, на уровне основных идей. В третьей и четвертой главе описывается идея форков и рассказывается, что привело к появлению Эфириума: почему был неизбежен переход от транзакций по переводу денег к смарт-контрактам и распределенным приложениям на блокчейн-платформах. В пятой главе я наконец-то понял, что скрывается за всеми этими токенами и, в частности, NFT. Две главы были для меня слишком сложными, я их бегло просматривал. В них авторы рассказывали про устройство рынка и вообще возможности криптофинансовой инфраструктуры (но, разумеется, с технологической точки зрения, о способах их организации в рамках блокчейна). В восьмой главе было много всего интересного о способах взлома и возможностях потери денег (даже без учета спекулятивной природы этого рынка). Потом ещё были две главы о разнообразных блокчейн-проектах в разных сферах и о перспективах развития технологии в целом.

Уровень изложения мне в целом очень понравился: это было именно то, что меня интересовало — как это всё устроено и почему работает именно так. Импонирует честность авторов: ну да, в основном используется для спекуляций, ну да, много мошенничества, ну да, всё очень неустойчиво, но где вы видели нарождающуюся глобальную технологию, в которой всё сразу хорошо? Так-то народ и на луковицах тюльпанов деньги терял. После книги осталось много вопросов, в первую очередь из-за некоторой поверхностности, но не уверен, что я буду пытаться их для себя решить. Написать смарт-контракт точно не смогу (в книжке было три или четыре примера на Solidity). Впрочем, мне достаточно общей картины, а она у меня точно сложилась. Ещё получилось представить, какие технологические проблемы стоят перед технологией сейчас, так что я, пожалуй, перестану относиться к тем, кто ими занимается, как к пособникам разного рода мошенников (по крайней мере по умолчанию).

Пишите, пожалуйста, в комментарии, если знаете другие хорошие обзорные книги по этой теме.
👍77👎1