Есть такое приложение «Госуслуги Решаем вместе». Можно на карте города обозначить проблему, приложить фото, и отправить на рассмотрение в администрацию губернатора или ещё куда. Вашу проблему в общем случае увидят все остальные на той же карте. А ещё там появится через некоторое время официальный ответ.
Совершенно неожиданно, но 90% ответов это длинный канцелярит, суть которого сводится к: «Вот мы нашли бюрократическую формальность, благодаря которой можем ничего не делать с вашей проблемой. Спасибо за обращение». Реально, грустно и смешно читать. Люди пишут, например, фонари во дворе не работают. А им в ответ: фонарями заведует управляющая компания, город тут не при чем, забрать у них контроль тоже не можем, спасибо, до свидания. Или, скажем, просят люди где-то на опасном участке добавить пешеходный переход, потому что все перебегают. Ответ: мы посмотрели, переход и правда нужен, но делать его долго и дорого, а ещё куча бюрократии, так что не будет.
Люди, впрочем, тоже хороши. Пачками валятся обращения по поводу неуборки снега. Зачем забивать этим приложение? Снег это общеизвестная беда в Питере, правительство уже и так показало, что ничего не будет с ним делать. На мой взгляд, подобное приложение нужно для того, чтобы обратить внимание администрации города на какие-то вещи, о которых они могут не знать. Какая-то локальная проблема в определенном месте, где чиновники не ездят. А про снег и так понятно.
Направил жалобу и я. Расчетный срок ответа 30 дней, посмотрим, какую отписку мне придумают. Моё предположение такое: напишут, что территория в частной собственности или владелец в состоянии суда/спора. А город там не при делах, он на «чужую» территорию повлиять не может.
#life
Совершенно неожиданно, но 90% ответов это длинный канцелярит, суть которого сводится к: «Вот мы нашли бюрократическую формальность, благодаря которой можем ничего не делать с вашей проблемой. Спасибо за обращение». Реально, грустно и смешно читать. Люди пишут, например, фонари во дворе не работают. А им в ответ: фонарями заведует управляющая компания, город тут не при чем, забрать у них контроль тоже не можем, спасибо, до свидания. Или, скажем, просят люди где-то на опасном участке добавить пешеходный переход, потому что все перебегают. Ответ: мы посмотрели, переход и правда нужен, но делать его долго и дорого, а ещё куча бюрократии, так что не будет.
Люди, впрочем, тоже хороши. Пачками валятся обращения по поводу неуборки снега. Зачем забивать этим приложение? Снег это общеизвестная беда в Питере, правительство уже и так показало, что ничего не будет с ним делать. На мой взгляд, подобное приложение нужно для того, чтобы обратить внимание администрации города на какие-то вещи, о которых они могут не знать. Какая-то локальная проблема в определенном месте, где чиновники не ездят. А про снег и так понятно.
Направил жалобу и я. Расчетный срок ответа 30 дней, посмотрим, какую отписку мне придумают. Моё предположение такое: напишут, что территория в частной собственности или владелец в состоянии суда/спора. А город там не при делах, он на «чужую» территорию повлиять не может.
#life
👍2
В этот романтический день поговорим о поэзии.
Мне всегда нравилась теория стихосложения. Она приближала непонятный мне мир литературы к понятному мне миру математики. Эта любовь получила развитие и в программировании.
Опубликовал вот статью об алгоритме вычисления силлабо-тонического стихотворного размера по строчке на русском языке. Задача интересная и не такая простая, как может показаться на первый взгляд.
#dev
https://habr.com/ru/post/651395/
Мне всегда нравилась теория стихосложения. Она приближала непонятный мне мир литературы к понятному мне миру математики. Эта любовь получила развитие и в программировании.
Опубликовал вот статью об алгоритме вычисления силлабо-тонического стихотворного размера по строчке на русском языке. Задача интересная и не такая простая, как может показаться на первый взгляд.
#dev
https://habr.com/ru/post/651395/
Хабр
Вычисление стихотворного размера
Привет, Хабр. Я последние пару лет играюсь с естественной речью на русском языке. Решил поделиться своим опытом по работе с поэзией. Будет две статьи: вот эта и про рифму (когда дойдут руки всё...
Какой язык программирования учить? У меня есть ответ.
Каждый год один из крупнейших в мире порталов для разработчиков StackOverflow проводит опрос своих пользователей. В этом году его ещё не было, но я решил взять из результатов 2021 года два графика и объединить их.
На графике расположены языки программирования в следующих координатах:
- По горизонтали "Приятность". Мера того, как разработчики отзываются о своих чувствах по отношению к языку, сколько удовольствия он им доставляет, насколько им приятно на нём писать. Эта шкала в процентах, и опрос составлен так, что значение ниже 50% следует понимать как "язык скорее неприятный, чем приятный".
- По вертикали "Популярность". Буквально, людей спрашивали, с какими технологиями они по факту работают в своих проектах. Чем больше голосов — тем чаще язык встречается. Здесь я провёл черту по матожиданию всей выборки, которое равно около 14%. Использовать в данном случае медиану мне кажется неправильным, потому что она сильно зависит от того, попал ли какой-то язык в опрос или нет. А очень много языков не попало.
В целом субъективно я бы описал квадранты этого графика так:
1. Справа вверху популярные и приятные языки — можно смело брать и учить любой, и вообще они вверху списка на рассмотрение. Но следует понимать, что и другие люди могут хотеть в первую очередь выучить именно их, так что конкуренция на рынке труда будет высокой.
2. Слева вверху популярные, но менее приятные языки — в основном это устаревшие технологии, на которых очень много легаси. На мой взгляд, это надёжный вариант, чтобы найти высокооплачиваемую работу. Рынок не скоро сможет отказаться от них, а поддерживать кому-то надо.
3. Справа внизу приятные но менее популярные языки. Кажется, логично взять какой-то из них в качестве второго языка, на котором вы будете делать пет-проекты для личного удовольствия и саморазвития. Кстати, все функциональные языки попали сюда. И некоторые языки оттуда будут уходить наверх: например Go и Kotlin уже вырвались. Уверен, опрос текущего года покажет их подъём.
4. Ну и слева внизу Бездна Боли. У которой есть неожиданное дно: если язык не очень популярен, и люди его не любят, то вы, как специалист, будете чудовищно ценным в тех немногих местах, где язык всё-таки используют. Говорят, разработчики на COBOL получают фантастические деньги даже по меркам IT. Оба ещё живых разработчика на COBOL, да.
Следует внести одну поправку: на графике отсутствует такой параметр, как "сложность". Она тоже, безусловно, влияет на выбор. Что более важно — она влияет и на положение языка по другим параметрам. Так, например, люди, которые попробовали относительно простые JavaScript и Python, могут на этом остановиться и не браться ни за какие другие языки. И такие люди будут отмечать JavaScript и Python как приятные, приносящие удовольствие. Я тоже когда-то любил JS. И даже любил PHP. Пока не попробовал Java. Потом я какое-то время был в восторге от неё, пока не попробовал C#, и сейчас считаю его лучшим языком. Вполне возможно, что через 5 лет я буду писать на Clojure и не понимать, как я мог так восторгаться ужасным C#.
#dev
Каждый год один из крупнейших в мире порталов для разработчиков StackOverflow проводит опрос своих пользователей. В этом году его ещё не было, но я решил взять из результатов 2021 года два графика и объединить их.
На графике расположены языки программирования в следующих координатах:
- По горизонтали "Приятность". Мера того, как разработчики отзываются о своих чувствах по отношению к языку, сколько удовольствия он им доставляет, насколько им приятно на нём писать. Эта шкала в процентах, и опрос составлен так, что значение ниже 50% следует понимать как "язык скорее неприятный, чем приятный".
- По вертикали "Популярность". Буквально, людей спрашивали, с какими технологиями они по факту работают в своих проектах. Чем больше голосов — тем чаще язык встречается. Здесь я провёл черту по матожиданию всей выборки, которое равно около 14%. Использовать в данном случае медиану мне кажется неправильным, потому что она сильно зависит от того, попал ли какой-то язык в опрос или нет. А очень много языков не попало.
В целом субъективно я бы описал квадранты этого графика так:
1. Справа вверху популярные и приятные языки — можно смело брать и учить любой, и вообще они вверху списка на рассмотрение. Но следует понимать, что и другие люди могут хотеть в первую очередь выучить именно их, так что конкуренция на рынке труда будет высокой.
2. Слева вверху популярные, но менее приятные языки — в основном это устаревшие технологии, на которых очень много легаси. На мой взгляд, это надёжный вариант, чтобы найти высокооплачиваемую работу. Рынок не скоро сможет отказаться от них, а поддерживать кому-то надо.
3. Справа внизу приятные но менее популярные языки. Кажется, логично взять какой-то из них в качестве второго языка, на котором вы будете делать пет-проекты для личного удовольствия и саморазвития. Кстати, все функциональные языки попали сюда. И некоторые языки оттуда будут уходить наверх: например Go и Kotlin уже вырвались. Уверен, опрос текущего года покажет их подъём.
4. Ну и слева внизу Бездна Боли. У которой есть неожиданное дно: если язык не очень популярен, и люди его не любят, то вы, как специалист, будете чудовищно ценным в тех немногих местах, где язык всё-таки используют. Говорят, разработчики на COBOL получают фантастические деньги даже по меркам IT. Оба ещё живых разработчика на COBOL, да.
Следует внести одну поправку: на графике отсутствует такой параметр, как "сложность". Она тоже, безусловно, влияет на выбор. Что более важно — она влияет и на положение языка по другим параметрам. Так, например, люди, которые попробовали относительно простые JavaScript и Python, могут на этом остановиться и не браться ни за какие другие языки. И такие люди будут отмечать JavaScript и Python как приятные, приносящие удовольствие. Я тоже когда-то любил JS. И даже любил PHP. Пока не попробовал Java. Потом я какое-то время был в восторге от неё, пока не попробовал C#, и сейчас считаю его лучшим языком. Вполне возможно, что через 5 лет я буду писать на Clojure и не понимать, как я мог так восторгаться ужасным C#.
#dev
👍3
Получил спам с ошибками. Сначала подумал: «Ну дураки, не могут свой спам проверить на ошибки». А потом вспомнил, как в одной статье про рекламу читал следующее: слово roulete, написанное с ошибкой, может стоить в рекламе дороже, чем правильное слово roulette. Вы, наверное, и сами догадались, почему: более низкий уровень грамотности увеличивает средние траты в онлайн-казино. Кто бы мог подумать, должно быть, это просто случайное совпадение!
Ещё было другое исследование. Есть такой вид мошенничества: «Нигерийские письма». Вам приходит письмо, что в Нигерии умер какой-то дальний ваш родственник миллиардер, и вот вам наследство, нужно лишь скинуть $100 на оформление документов. Там именно Нигерия использовалась чаще всего, поэтому в народе название этой страны прямо вошло в название вида мошенничества. Но мошенники не перестали использовать Нигерию. Почему? Потому что дешевле на первом шаге сразу отсечь тех, кто уже про такое где-то слышал или читал, и не тратить своё время на менее надёжную попытку развести их в дальнейшем общении.
Из этого субъективно хочу сделать три вывода.
1. Грамотность очень часто является индикатором интеллекта. Возможны разные исключения и нюансы, разумеется, но в целом комментарии в сети типа «Мы не на уроке русского!» это звоночек.
2. Некоторая информационная осведомлённость полезна. Не очень правильно говорить о том, что ценна только та информация, которая относится к вашей работе и областям ваших интересов.
3. Если вы видите рекламу с ошибками, не покупайте этот товар, не пользуйтесь услугами, не принимайте предложение. Хорошие рекламщики для настоящей продукции будут свои тексты вычитывать.
#web #life
Ещё было другое исследование. Есть такой вид мошенничества: «Нигерийские письма». Вам приходит письмо, что в Нигерии умер какой-то дальний ваш родственник миллиардер, и вот вам наследство, нужно лишь скинуть $100 на оформление документов. Там именно Нигерия использовалась чаще всего, поэтому в народе название этой страны прямо вошло в название вида мошенничества. Но мошенники не перестали использовать Нигерию. Почему? Потому что дешевле на первом шаге сразу отсечь тех, кто уже про такое где-то слышал или читал, и не тратить своё время на менее надёжную попытку развести их в дальнейшем общении.
Из этого субъективно хочу сделать три вывода.
1. Грамотность очень часто является индикатором интеллекта. Возможны разные исключения и нюансы, разумеется, но в целом комментарии в сети типа «Мы не на уроке русского!» это звоночек.
2. Некоторая информационная осведомлённость полезна. Не очень правильно говорить о том, что ценна только та информация, которая относится к вашей работе и областям ваших интересов.
3. Если вы видите рекламу с ошибками, не покупайте этот товар, не пользуйтесь услугами, не принимайте предложение. Хорошие рекламщики для настоящей продукции будут свои тексты вычитывать.
#web #life
👍9🔥3
Система кармы на Хабре похожа на попытку программистов сделать справедливое самоуправляемое общество.
В теории всё хорошо:
1. Вы получаете карму за хорошие статьи и реже за хорошие комментарии. Ну в основном конечно за статьи: действительно ценный вклад в общество (местное общество, имеется ввиду).
2. Теряете карму за плохие статьи (какой-нибудь откровенный мусор или текст низкого качества) и за социально неприемлемое поведение в комментариях.
3. Каждый человек может повысить карму другому только один раз. И понизить только один раз.
4. Влиять на карму других можно только если ваша собственная карма не ниже некоторого порога. Чем выше у вас карма — тем больше голосов за других людей и другие комментарии в день вы имеете.
5. Высокая карма даёт не только больше возможностей по публикациям и голосам, но и позволяет с некоторого значения зарабатывать на статьях деньги. Небольшие, но всё же.
То есть да, теоретически люди, которые делают благо, получают больше возможностей и больше влияют на возможности других людей. Это вам не лайки бесполезные :)
На практике, конечно же, идеальных систем нет, и у этой обнаружились косяки. Если вы высказываете в комментариях непопулярное мнение, то вам могут массово слить карму в глубокий минус. Не важно, что вы вежливо и может даже с аргументацией выразили свои субъективные взгляды — толпа закидает камнями. Получив сильный минус, вы теряете способность отвечать: сначала не можете минусить других, а потом вообще не можете комментировать. Невыведенные деньги за статьи при потере нужного статуса теряются. Забили камнями до онемения, ограбили.
Некоторым людям настолько претит эта система, что они только из-за неё отказываются вообще вести какую-либо активность на Хабре. В любом случае, в обсуждении острых вопросов будешь аккуратен.
Тем не менее, мне система скорее симпатична, чем нет. Да, Хабр явно не для яростных дискуссий. Зато там почти нет откровенного мусора и внутреннего воровства контента, что на мой личный взгляд является одной из главных проблем всех остальных контентных площадок.
#web
В теории всё хорошо:
1. Вы получаете карму за хорошие статьи и реже за хорошие комментарии. Ну в основном конечно за статьи: действительно ценный вклад в общество (местное общество, имеется ввиду).
2. Теряете карму за плохие статьи (какой-нибудь откровенный мусор или текст низкого качества) и за социально неприемлемое поведение в комментариях.
3. Каждый человек может повысить карму другому только один раз. И понизить только один раз.
4. Влиять на карму других можно только если ваша собственная карма не ниже некоторого порога. Чем выше у вас карма — тем больше голосов за других людей и другие комментарии в день вы имеете.
5. Высокая карма даёт не только больше возможностей по публикациям и голосам, но и позволяет с некоторого значения зарабатывать на статьях деньги. Небольшие, но всё же.
То есть да, теоретически люди, которые делают благо, получают больше возможностей и больше влияют на возможности других людей. Это вам не лайки бесполезные :)
На практике, конечно же, идеальных систем нет, и у этой обнаружились косяки. Если вы высказываете в комментариях непопулярное мнение, то вам могут массово слить карму в глубокий минус. Не важно, что вы вежливо и может даже с аргументацией выразили свои субъективные взгляды — толпа закидает камнями. Получив сильный минус, вы теряете способность отвечать: сначала не можете минусить других, а потом вообще не можете комментировать. Невыведенные деньги за статьи при потере нужного статуса теряются. Забили камнями до онемения, ограбили.
Некоторым людям настолько претит эта система, что они только из-за неё отказываются вообще вести какую-либо активность на Хабре. В любом случае, в обсуждении острых вопросов будешь аккуратен.
Тем не менее, мне система скорее симпатична, чем нет. Да, Хабр явно не для яростных дискуссий. Зато там почти нет откровенного мусора и внутреннего воровства контента, что на мой личный взгляд является одной из главных проблем всех остальных контентных площадок.
#web
👍2
Увидел тут проект Doka Guide. Это такой ресурс, на котором авторы пытаются писать техническую документацию простым языком. В целом, идея не нова: "Объяснять что-то энциклопедичное человеческим языком, будто рассказываешь другу, а не читаешь лекцию". Это ещё Лурк использует — там многие вещи вполне себе содержат настоящие знания, но простыми словами.
Пока есть вопросы к реализации, конечно. Например, я увидел в статье опечатку, но к системе не подключён никакой модуль исправлений (как на новостных сайтах — жмёшь Ctrl+Enter и отправляешь сразу ошибку редактору). То есть мне надо искать эту статью в репозитории, делать форк, оформлять пулреквест... Лениво.
Структура местами странная. Статья о трёхслойной архитектуре в блоке JavaScript, хотя эта концепция не только не связана конкретно с JS, но он ещё и один из наименее удачных примеров её применения. Потому что вообще такие архитектурные паттерны для сложных энтерпрайз-разработок, как правило с сильной статической системой типов на каком-нибудь Java или C#.
Осталось стойкое ощущение, что авторы знают только JS и фронтенд. Впрочем, я всё равно не понимаю, как с развитием проекта в одну кучу свалят документацию по всем популярным языкам.
Тем не менее, инициатива отличная, и я желаю проекту хорошего будущего. Для начинающих фронтендеров там уже есть много ценного. Буду посматривать иногда, что там происходит.
#dev
Пока есть вопросы к реализации, конечно. Например, я увидел в статье опечатку, но к системе не подключён никакой модуль исправлений (как на новостных сайтах — жмёшь Ctrl+Enter и отправляешь сразу ошибку редактору). То есть мне надо искать эту статью в репозитории, делать форк, оформлять пулреквест... Лениво.
Структура местами странная. Статья о трёхслойной архитектуре в блоке JavaScript, хотя эта концепция не только не связана конкретно с JS, но он ещё и один из наименее удачных примеров её применения. Потому что вообще такие архитектурные паттерны для сложных энтерпрайз-разработок, как правило с сильной статической системой типов на каком-нибудь Java или C#.
Осталось стойкое ощущение, что авторы знают только JS и фронтенд. Впрочем, я всё равно не понимаю, как с развитием проекта в одну кучу свалят документацию по всем популярным языкам.
Тем не менее, инициатива отличная, и я желаю проекту хорошего будущего. Для начинающих фронтендеров там уже есть много ценного. Буду посматривать иногда, что там происходит.
#dev
Дока
Документация для разработчиков на понятном языке
👍4
Я прям до последнего не хотел смотреть Peacemaker. Во-первых, мне не очень понравился первый Suicide Squad и совсем не понравился второй, так что не назову себя фанатом Ганна. Во-вторых, сам по себе персонаж максимально нелепый. Окей, они там все нелепые, но конкретно этот прям нелепо-карикатурный, и я не понимал, как и зачем про него можно делать отдельный сериал.
В отзывах было много критики. Помимо общей трэшовости, народ указывал на очередную отработку повесточки. Я всё-таки начал смотреть, и первые серии прям действительно показались мне, как сейчас говорят, «кринжем». Но сюжетная завязка была цепляющей, так что я продолжил.
И, к моему огромному удивлению, чем дальше серия, тем адекватнее, драматичнее и ближе к жизни становилось происходящее. Да, трэш никуда не делся, но остался фоном для размышлений над настоящими проблемами людей. А Джон Сина не только по типажу отлично подошёл, но и вполне убедительно сыграл. Отдельно понравилось то, что типичная для жанра планетарная катастрофа как бы отходит на второй план по сравнению с личными переживаниями и трудностями персонажей. Серьёзно, в трэшовом сериале-пародии на супергероику больше жизненных высказываний, чем в серьёзных полнометражках вроде какой-нибудь «Лиги Справедливости» или «Чудо-Женщины».
При этом на месте остался обалденный экшен и классный саундтрек. Чего стоит одна только сцена с полицейским участком под She's my beautiful monster.
Впрочем, если вы не перевариваете супергероику и с настороженностью относитесь к спорному юмору, я вам всё-таки не советую. Однако конкретно на мой взгляд шоу оказалось значительно превышающим ожидания.
#fiction
В отзывах было много критики. Помимо общей трэшовости, народ указывал на очередную отработку повесточки. Я всё-таки начал смотреть, и первые серии прям действительно показались мне, как сейчас говорят, «кринжем». Но сюжетная завязка была цепляющей, так что я продолжил.
И, к моему огромному удивлению, чем дальше серия, тем адекватнее, драматичнее и ближе к жизни становилось происходящее. Да, трэш никуда не делся, но остался фоном для размышлений над настоящими проблемами людей. А Джон Сина не только по типажу отлично подошёл, но и вполне убедительно сыграл. Отдельно понравилось то, что типичная для жанра планетарная катастрофа как бы отходит на второй план по сравнению с личными переживаниями и трудностями персонажей. Серьёзно, в трэшовом сериале-пародии на супергероику больше жизненных высказываний, чем в серьёзных полнометражках вроде какой-нибудь «Лиги Справедливости» или «Чудо-Женщины».
При этом на месте остался обалденный экшен и классный саундтрек. Чего стоит одна только сцена с полицейским участком под She's my beautiful monster.
Впрочем, если вы не перевариваете супергероику и с настороженностью относитесь к спорному юмору, я вам всё-таки не советую. Однако конкретно на мой взгляд шоу оказалось значительно превышающим ожидания.
#fiction
👍1
Допустим, вы разработчик, и вам от пользователя приходит строка user-agent с описанием того, каким браузером он пользуется.
В этой строке будет что-то типа такого:
И вы хотите из неё узнать мажорную версию Chrome, то есть вытащить число 51. Что вы сделаете? Можно, конечно, написать свой парсер, но я уверен, многие воспользуются регулярными выражениями. Я бы воспользовался. Какое выражение сюда подходит? С виду кажется, что вот такое:
Мы ищем слово Chrome и слэш, затем ловим в группу две цифры, после которых стоит точка. Так?
По крайней мере, мышление достаточного количества разработчиков именно таково. Зачастую программистам не хватает умения отойти от техзадания на уровень вещественной сути того, с чем они работают. На самом деле число 51 это версия. Версия будет увеличиваться со временем. «Марти, где твоё четырёхмерное воображение?» Если уже прошло 50 версий, то и следующие 50 не за горами, число станет трёхзначным, регулярка или парсер, сделанные под двухзначные числа, перестанут работать.
Трехзначная версия Chrome и Firefox приближается уже сейчас. И да, в них падает куча функций на сайтах, включая крупные корпорации: Yahoo, Bethesda, HBO и бог знает сколько сайтов поменьше. Чисто из-за цифры. Это уже назвали «Проблема сотой версии» по аналогии с «Проблемой 2000 года» (программисты записывали год двумя цифрами, 2000 стал неотличим от 1900).
К чему это я? Полезно задумываться о физическом воплощении того, что вы представляете в своей программе. Ваш код должен описывать не столько требования заказчика, сколько законы, по которым существует этот объект в реальном мире.
#dev
В этой строке будет что-то типа такого:
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36И вы хотите из неё узнать мажорную версию Chrome, то есть вытащить число 51. Что вы сделаете? Можно, конечно, написать свой парсер, но я уверен, многие воспользуются регулярными выражениями. Я бы воспользовался. Какое выражение сюда подходит? С виду кажется, что вот такое:
/Chrome\/(\d\d)\./gМы ищем слово Chrome и слэш, затем ловим в группу две цифры, после которых стоит точка. Так?
По крайней мере, мышление достаточного количества разработчиков именно таково. Зачастую программистам не хватает умения отойти от техзадания на уровень вещественной сути того, с чем они работают. На самом деле число 51 это версия. Версия будет увеличиваться со временем. «Марти, где твоё четырёхмерное воображение?» Если уже прошло 50 версий, то и следующие 50 не за горами, число станет трёхзначным, регулярка или парсер, сделанные под двухзначные числа, перестанут работать.
Трехзначная версия Chrome и Firefox приближается уже сейчас. И да, в них падает куча функций на сайтах, включая крупные корпорации: Yahoo, Bethesda, HBO и бог знает сколько сайтов поменьше. Чисто из-за цифры. Это уже назвали «Проблема сотой версии» по аналогии с «Проблемой 2000 года» (программисты записывали год двумя цифрами, 2000 стал неотличим от 1900).
К чему это я? Полезно задумываться о физическом воплощении того, что вы представляете в своей программе. Ваш код должен описывать не столько требования заказчика, сколько законы, по которым существует этот объект в реальном мире.
#dev
👍7
Попал в Программу Поощрения Авторов на Хабре. Если ваша карма 50 или более, то за статьи в профильных хабах (то есть, тематические узкоспециализированные) вы получаете деньги в зависимости от рейтинга статьи.
Шкала ступенчатая. В целом, 5000 рублей за статью это почти максимум. Можно больше, но ненамного, вот как у меня. И ещё накинули 1000 за факт попадания в программу, впоследствии такой лафы не будет.
Не стану скрывать — я специально метил в ППА после первой статьи полтора года назад. В итоге за три статьи попал. С одной стороны, писать по такой статье например раз в месяц — дело подъёмное. А 5000 рублей уже не совсем копейки, можно себе что-то приятное прикупить. С другой стороны — хорошая техническая статья это недели или даже месяцы предварительной работы, исследования материала. Я когда-то давно писал для научпоп-журнала, там давали 4000 рублей за статью, и подготовки требовалось значительно меньше, я мог за 2-3 вечера выдать подходящий текст. На Хабре соотношение денег к объёму работы меньше. Впрочем, тот журнал загнулся, видимо, слишком дорого обходились авторы, а Хабр живее всех живых :)
Но я очень доволен. Есть мотивация писать чаще. Стоит ли говорить, что другим текстовым площадкам до такого уровня поддержки авторов, как до Луны? Думаю в течение недели-двух будет ещё статья.
#dev #web
Шкала ступенчатая. В целом, 5000 рублей за статью это почти максимум. Можно больше, но ненамного, вот как у меня. И ещё накинули 1000 за факт попадания в программу, впоследствии такой лафы не будет.
Не стану скрывать — я специально метил в ППА после первой статьи полтора года назад. В итоге за три статьи попал. С одной стороны, писать по такой статье например раз в месяц — дело подъёмное. А 5000 рублей уже не совсем копейки, можно себе что-то приятное прикупить. С другой стороны — хорошая техническая статья это недели или даже месяцы предварительной работы, исследования материала. Я когда-то давно писал для научпоп-журнала, там давали 4000 рублей за статью, и подготовки требовалось значительно меньше, я мог за 2-3 вечера выдать подходящий текст. На Хабре соотношение денег к объёму работы меньше. Впрочем, тот журнал загнулся, видимо, слишком дорого обходились авторы, а Хабр живее всех живых :)
Но я очень доволен. Есть мотивация писать чаще. Стоит ли говорить, что другим текстовым площадкам до такого уровня поддержки авторов, как до Луны? Думаю в течение недели-двух будет ещё статья.
#dev #web
👍17
Есть такое понятие Liminal Space — пространство, являющееся переходным между двумя другими. Как правило это пустой коридор, пустая проходная комната, большой пустой двор и так далее. Такие места вызывают у людей определённые эмоции, поэтому за данным понятием стоит целая визуальная эстетика. Есть сабреддит по теме, и из него данные публикуются в твиттер аккаунт Liminal Spaces, у которого более 800 тысяч подписчиков (по меркам Твиттера это как на ютубе 20 млн).
Эстетика сама по себе интересная, но сегодня хочу рассказать вам об игре Superliminal, на которую недавно наткнулся. Она из тех игр, что целиком продают себя своей идеей, и вообще, строятся вокруг неё. Посмотрите на видео ниже, и сразу станет понятно, в чём прикол. Помимо классной идеи не могу не отметить техническую реализацию: мне страшно даже представить, с каким количеством сложностей и краевых случаев столкнулись разработчики. Там дальше по игре вообще такие выверты пространства идут, что авторы Portal нервно курят в сторонке. И да, игра активно использует концепцию Liminal Space. Под конец даже слишком.
Хотя местами создаётся ощущение, что ты словил баг, но это так и задумано. И один раз мне пришлось подсмотреть на ютубе, как проходить — оказалось, что был неочевидный для меня способ взаимодействия с предметами, который нигде не презентуется. Возможно, разработчики как раз и ставили перед игроком задачу догадаться, но я не осилил.
Тем не менее, очень яркое и запоминающееся видеоигровое впечатление. Рекомендую.
#games
Эстетика сама по себе интересная, но сегодня хочу рассказать вам об игре Superliminal, на которую недавно наткнулся. Она из тех игр, что целиком продают себя своей идеей, и вообще, строятся вокруг неё. Посмотрите на видео ниже, и сразу станет понятно, в чём прикол. Помимо классной идеи не могу не отметить техническую реализацию: мне страшно даже представить, с каким количеством сложностей и краевых случаев столкнулись разработчики. Там дальше по игре вообще такие выверты пространства идут, что авторы Portal нервно курят в сторонке. И да, игра активно использует концепцию Liminal Space. Под конец даже слишком.
Хотя местами создаётся ощущение, что ты словил баг, но это так и задумано. И один раз мне пришлось подсмотреть на ютубе, как проходить — оказалось, что был неочевидный для меня способ взаимодействия с предметами, который нигде не презентуется. Возможно, разработчики как раз и ставили перед игроком задачу догадаться, но я не осилил.
Тем не менее, очень яркое и запоминающееся видеоигровое впечатление. Рекомендую.
#games
👍3
Американский философ и когнитивист Дэниел Деннет одним из первых приравнял религию и вирус. Я уже об этом как-то рассказывал: вирус это неодушевлённая конструкция, которая сбивает работу поражённой системы так, чтобы:
1. Нарушать естественные функции этой системы
2. Способствовать самораспространению
Нельзя сказать, что вирус думает или что-то делает специально. У него нет концепции зла и агрессии. Это просто механизм, который -- чаще всего из-за случайного совпадения обстоятельств -- способствует разрушению и копированию. Представьте, что вы подбрасываете в воздух детали от Лего, и они по каким-то странным законам при падении соединяются в случайную конструкцию. Вы делаете это очень много раз, вариантов конструкций тоже очень много. В какой-то момент среди прочих конструкций получается робот, который собирает из окружающих его деталей свои копии. Но при этом остальные конструкции он ломает, нарушая их функции. Очевидно, довольно быстро такие роботы потратят всё доступное Лего на себя, и давать им новое Лего будет опасно.
Так вот, религия работает по такому же принципу, только её средой выполнения являются не клетки с белками, а когнитивные функции. Она изменяет механизм функционирования разума так, чтобы сбивать некоторые естественные свойства (например, критическое мышление, запрос на эмпирические подтверждения и так далее). Но при этом религиозные люди нередко занимаются активным распространением своих взглядов и обращением еретиков. То есть, другими словами, механизм религии в их мозгу распространяет себя на другие мозги. Как вирус.
В широком смысле идеология это тоже религия. У нас нет сведений относительно всех без исключения нюансов существования мира, мы строим себе базовую основу, а затем прямо на неё навешиваем результаты наблюдений. Например, я верю в урбанистику, моя базовая основа это логика в урбанистической теории, статистика из других городов, плюс мои личные ощущения комфорта/дискомфорта, а на неё я уже навешиваю, допустим, отсутствие ненависти к электросамокатам.
К сожалению, иногда сам базис идеологии заражён. Это может приводить к тому, что человек даже на самые чудовищные события выдумывает оправдательные объяснения, которые идеологию выгораживают. Я уверен, в стране не сотни и даже не тысячи, а куда больше людей, которые смотрят телевизор, верят пропаганде и объясняют себе сегодняшние события каким-то оправдывающим образом. Например, у меня есть гипотеза, почему старшее поколение может так сильно вестись на откровенно нелепую пропаганду: сознание уже пережило крах идеологии в 91 году и защищается от того, чтобы пережить его снова. Звучит парадоксально: люди уже совершенно точно знают, что по телевизору могут десятилетиями лгать и выдавать ложную картину действительности, и именно из-за этого эти же люди не видят сейчас того же самого.
Воспринимайте это как форму болезни. Постарайтесь не ссориться со своими друзьями и близкими. Они могут быть глубоко не правы, а их неправота -- часть общей проблемы, которая привела к сегодняшнему дню. Но они не понимают. Функции их сознания отключены или искажены вирусом пропаганды в комбинации с личными страхами. Их не убедит курс доллара, записи о гибели людей, потеря работы. Даже новая волна пустых полок в магазинах не убедит. Даже понимание того, что их дети уже живут в мире, где возможна война.
#life
1. Нарушать естественные функции этой системы
2. Способствовать самораспространению
Нельзя сказать, что вирус думает или что-то делает специально. У него нет концепции зла и агрессии. Это просто механизм, который -- чаще всего из-за случайного совпадения обстоятельств -- способствует разрушению и копированию. Представьте, что вы подбрасываете в воздух детали от Лего, и они по каким-то странным законам при падении соединяются в случайную конструкцию. Вы делаете это очень много раз, вариантов конструкций тоже очень много. В какой-то момент среди прочих конструкций получается робот, который собирает из окружающих его деталей свои копии. Но при этом остальные конструкции он ломает, нарушая их функции. Очевидно, довольно быстро такие роботы потратят всё доступное Лего на себя, и давать им новое Лего будет опасно.
Так вот, религия работает по такому же принципу, только её средой выполнения являются не клетки с белками, а когнитивные функции. Она изменяет механизм функционирования разума так, чтобы сбивать некоторые естественные свойства (например, критическое мышление, запрос на эмпирические подтверждения и так далее). Но при этом религиозные люди нередко занимаются активным распространением своих взглядов и обращением еретиков. То есть, другими словами, механизм религии в их мозгу распространяет себя на другие мозги. Как вирус.
В широком смысле идеология это тоже религия. У нас нет сведений относительно всех без исключения нюансов существования мира, мы строим себе базовую основу, а затем прямо на неё навешиваем результаты наблюдений. Например, я верю в урбанистику, моя базовая основа это логика в урбанистической теории, статистика из других городов, плюс мои личные ощущения комфорта/дискомфорта, а на неё я уже навешиваю, допустим, отсутствие ненависти к электросамокатам.
К сожалению, иногда сам базис идеологии заражён. Это может приводить к тому, что человек даже на самые чудовищные события выдумывает оправдательные объяснения, которые идеологию выгораживают. Я уверен, в стране не сотни и даже не тысячи, а куда больше людей, которые смотрят телевизор, верят пропаганде и объясняют себе сегодняшние события каким-то оправдывающим образом. Например, у меня есть гипотеза, почему старшее поколение может так сильно вестись на откровенно нелепую пропаганду: сознание уже пережило крах идеологии в 91 году и защищается от того, чтобы пережить его снова. Звучит парадоксально: люди уже совершенно точно знают, что по телевизору могут десятилетиями лгать и выдавать ложную картину действительности, и именно из-за этого эти же люди не видят сейчас того же самого.
Воспринимайте это как форму болезни. Постарайтесь не ссориться со своими друзьями и близкими. Они могут быть глубоко не правы, а их неправота -- часть общей проблемы, которая привела к сегодняшнему дню. Но они не понимают. Функции их сознания отключены или искажены вирусом пропаганды в комбинации с личными страхами. Их не убедит курс доллара, записи о гибели людей, потеря работы. Даже новая волна пустых полок в магазинах не убедит. Даже понимание того, что их дети уже живут в мире, где возможна война.
#life
👍8😢5❤1
Получил ответ на одну из двух жалоб через «Госуслуги Решаем Вместе». Я изначально отправил не только ту жалобу про двор, о которой вам писал, но и вторую: про заброшенную подземную парковку, с которой никто ничего не делает, поэтому вандалы её изрисовали, а бомжи сломали дверь, чтобы бухать внутри.
Ожидаемо получил ответ в духе "Я не я, хата не моя". Фирма-банкрот уже год ведёт "инвентаризацию", ага. А у нас, похоже, реально такие законы, которые позволяют купить у города землю рядом с жилыми домами и превратить её в свалку на много лет. Посмотрел бы я на такую заброшку напротив квартиры Беглова.
#life
Ожидаемо получил ответ в духе "Я не я, хата не моя". Фирма-банкрот уже год ведёт "инвентаризацию", ага. А у нас, похоже, реально такие законы, которые позволяют купить у города землю рядом с жилыми домами и превратить её в свалку на много лет. Посмотрел бы я на такую заброшку напротив квартиры Беглова.
#life
Мой VPN-провайдер Surfshark при подключении по-умолчанию ищет ближайшую страну с нормальным интернетом.
Запустил вот его сейчас (нужно нажать на картинку, чтобы стало понятно):
Запустил вот его сейчас (нужно нажать на картинку, чтобы стало понятно):
😁6
Новый любопытный фантастический сериал Severance. По сюжету люди могут добровольно пойти на операцию: им в голову встраивают чип, который на работе отрезает доступ ко всем личным воспоминаниям, чтобы не отвлекаться, а дома отрезает доступ ко всем рабочим воспоминаниям.
Грубо говоря, человеку создают искусственное раздвоение личности. Первая личность приходит на работу, а потом по субъективному времени в тот же момент уходит с неё. Вторая личность по субъективным представлениям живёт только на работе и занимается только работой.
Конечно, сама идея в таком виде абсурдна — никто не согласится жить на работе и не знать вообще никакой жизни, кроме своего офиса. Всё-таки на работе нам важно понимать, ради чего мы зарабатываем эти деньги. Да и в обычной жизни важна идентификация себя, как профессионала в какой-то сфере.
Но мне нравится новизна идеи и нравится то, в каком виде через призму фантастики предлагается поразмышлять о work / life balance. Пока вышло три серии — сериал неспешный и не сказать что переполненный событиями, явно на любителя. Тем не менее, на мой взгляд внимания заслуживает.
#fiction
Грубо говоря, человеку создают искусственное раздвоение личности. Первая личность приходит на работу, а потом по субъективному времени в тот же момент уходит с неё. Вторая личность по субъективным представлениям живёт только на работе и занимается только работой.
Конечно, сама идея в таком виде абсурдна — никто не согласится жить на работе и не знать вообще никакой жизни, кроме своего офиса. Всё-таки на работе нам важно понимать, ради чего мы зарабатываем эти деньги. Да и в обычной жизни важна идентификация себя, как профессионала в какой-то сфере.
Но мне нравится новизна идеи и нравится то, в каком виде через призму фантастики предлагается поразмышлять о work / life balance. Пока вышло три серии — сериал неспешный и не сказать что переполненный событиями, явно на любителя. Тем не менее, на мой взгляд внимания заслуживает.
#fiction
👍7
Сопоставление с образцом (pattern matching) — сильный механизм языков программирования, который, к сожалению, встречается не так часто. Причём, как в коде разработчиков, так и в поддержке со стороны самого языка.
Разработчики на функциональных языках используют этот механизм довольно часто, потому что у них вообще многое определяется статически через правильный подход к системе типов. Разработчики же на императивных языках очень любят огромные многоуровневые ветвления. Есть даже такое понятие «Спагетти-код» — раньше его применяли к коду, перегруженному операторами перехода, но в современном виде это скорее об избытке операторов условия.
Pattern matching позволяет накладывать на объекты некоторый трафарет и смотреть, попадают ли они под него. Это не только выглядит лаконичнее и короче, чем дерево условий, но ещё и понятнее с точки зрения восприятия человеком: вот у нас заказ содержит более 10 элементов и при этом стоит более 1000 долларов, значит делаем на него скидку 10 центов. При этом трафарет работает как сортировщик монеток: самая маленькая проваливается в первый паз, следующая по размеру в следующий итд, применение условий идёт сверху вниз. Есть и неявный плюс: такой подход автоматически провоцирует разработчиков проводить проверку на null. Ведь null не может подходить под трафарет «содержит более 10 товаров».
К счастью, в C# этот механизм в последних версиях активно развивают и совершенствуют. И это одно из многочисленных преимуществ C# над Java.
#dev
Разработчики на функциональных языках используют этот механизм довольно часто, потому что у них вообще многое определяется статически через правильный подход к системе типов. Разработчики же на императивных языках очень любят огромные многоуровневые ветвления. Есть даже такое понятие «Спагетти-код» — раньше его применяли к коду, перегруженному операторами перехода, но в современном виде это скорее об избытке операторов условия.
Pattern matching позволяет накладывать на объекты некоторый трафарет и смотреть, попадают ли они под него. Это не только выглядит лаконичнее и короче, чем дерево условий, но ещё и понятнее с точки зрения восприятия человеком: вот у нас заказ содержит более 10 элементов и при этом стоит более 1000 долларов, значит делаем на него скидку 10 центов. При этом трафарет работает как сортировщик монеток: самая маленькая проваливается в первый паз, следующая по размеру в следующий итд, применение условий идёт сверху вниз. Есть и неявный плюс: такой подход автоматически провоцирует разработчиков проводить проверку на null. Ведь null не может подходить под трафарет «содержит более 10 товаров».
К счастью, в C# этот механизм в последних версиях активно развивают и совершенствуют. И это одно из многочисленных преимуществ C# над Java.
#dev
👍2
У меня тут три дня скачет давление, и я пользуюсь новым электронным тонометром. Это прибор размером чуть больше пачки сигарет, крепится на запястье и питается от пары ААА батареек. Он полностью автоматический: надел, нажал одну кнопку, всё.
Моё поколение застало, как измеряли давление наши родители: манжета на плечо, которую не всегда легко затянуть одной рукой. Необходимость вручную накачать её грушей, а усилие для этого требуется немаленькое — удивительно, как бабушки справлялись. Затем нужно правильно закрепить головку стетоскопа на сгибе локтя. И слушать, параллельно следя за аналоговой стрелкой и стравливая воздух в нужном темпе.
Технологии в этом отношении сделали гигантский шаг в плане удобства. Хотя ничего принципиально магического в современном тонометре нет: и электрический компрессор и возможность прибором определить сердцебиение были и раньше. Но развитие вот таких бытовых вещей в целом идёт по пути автоматизации и уменьшения размеров. Можно попредставлять, какая техника сейчас не слишком удобна, и куда её будут улучшать. Хотя, конечно, где-нибудь в пределе ТРИЗ намекает нам о том, что решать задачу нужно совсем иначе — например, собрать человеку новое тело, вообще не нуждающееся в измерении давления. Но это уже другая история.
#gadgets #life
Моё поколение застало, как измеряли давление наши родители: манжета на плечо, которую не всегда легко затянуть одной рукой. Необходимость вручную накачать её грушей, а усилие для этого требуется немаленькое — удивительно, как бабушки справлялись. Затем нужно правильно закрепить головку стетоскопа на сгибе локтя. И слушать, параллельно следя за аналоговой стрелкой и стравливая воздух в нужном темпе.
Технологии в этом отношении сделали гигантский шаг в плане удобства. Хотя ничего принципиально магического в современном тонометре нет: и электрический компрессор и возможность прибором определить сердцебиение были и раньше. Но развитие вот таких бытовых вещей в целом идёт по пути автоматизации и уменьшения размеров. Можно попредставлять, какая техника сейчас не слишком удобна, и куда её будут улучшать. Хотя, конечно, где-нибудь в пределе ТРИЗ намекает нам о том, что решать задачу нужно совсем иначе — например, собрать человеку новое тело, вообще не нуждающееся в измерении давления. Но это уже другая история.
#gadgets #life