Pull to refresh
-1
0
Send message

Твоя идея — ерунда

Reading time5 min
Views28K
Я думал, что достиг желанного. Один из моих open-source проектов начал набирать небольшую аудиторию фолловеров на GitHub. Больше никакой нытливой неуверенности в себе, ведь около тысячи наблюдателей за звёздами следят за моим проектом — это всё, что нужно для подтверждения ценности. Это то, что можно вспоминать в моменты неуверенности. Напоминание, что я действительно достиг того, чего стою на самом деле. Никогда не думал, что звёзды могут отвернуться от меня.

* * *

Всё случилось из-за одного из тех самых людей, чьи мнения я так усердно собирал. Я говорю об одном конкретном человеке, который использовал мой проект для управления хранилищем данных бэкенда на платформе его компании. Это была критически важная функция, и как технический директор своей компании он нёс ответственность за её техническую обоснованность. Он очень профессионально вложился в сторону моей разработки. Его проект сильно отличался от большинства других, где мой код обычно использовался для сторонних или любительских задач.

Его ожидания от меня как мейнтейнера и моя собственная вера в своё желание делиться кодом — сочетание этих двух факторов привело к довольно невероятной череде событий, о которой я расскажу.
Читать дальше →
Total votes 88: ↑77 and ↓11+66
Comments81

Восстание машин: Как роботы захватили бухгалтерию

Reading time5 min
Views21K
Кнопочные войны в самом разгаре, роботы продолжают наступать, машины обучаются в разы быстрее людей, а вот Андрей, владелец одной московской кофейни, становится всё больше счастлив… В этот пятничный предпраздничный день мы решили поделиться с вами историей Кнопки, которая в прошлом году создала 42 робота для спасения бухгалтеров от рутинной работы, а сейчас занимается разитием искусственного бухгалтерского интеллекта.


Читать дальше →
Total votes 29: ↑27 and ↓2+25
Comments65

Всё плохо

Reading time19 min
Views43K

image


Что ж, всё плохо. Немного забавно так говорить: на конференции (Web à Québec) было много разговоров об удивительном будущем и вещах, возможных благодаря новым технологиям. О новых средствах и устройствах, которые должны сделать нашу жизнь проще. Мои знакомые знают, что у меня обычно очень циничный взгляд на технологии; лично я боюсь всех этих умных устройств, которые реагируют на мои слова, чем восхищались другие спикеры.


В основном потому, что чем больше времени я трачу на программирование и провожу в этой отрасли, тем больше узнаю, как всё работает изнутри, и тем меньше доверия всё это мне внушает. Я подобрал изображение для слайда. Это картина «Триумф смерти» Питера Брейгеля. В некоторой степени она раскрывает моё отношение к «умному дому».

Читать дальше →
Total votes 65: ↑62 and ↓3+59
Comments44

Роскомнадзор пытается добить Rutracker. Блокировки серверов-анонсеров и методы обхода

Reading time5 min
Views119K
image

Rutracker толком не потерявший свою аудиторию вполне закономерно вызывает недовольство Роскомнадзора и других ведомств. Они все-таки старались, деньги тратили, выступали с заявлениями, а оно все работает и помирать не собирается. Под блокировкой был основной сайт rutracker.org, который, по сути, был просто каталогом magnet-ссылок и torrent-файлов. Новый виток борьбы привел в добавлению в списки блокировок серверов-анонсеров. Именно они поддерживают инфраструктуру ресурса и позволяют отдельным пирам найти друг друга.

Update
2 мая СМИ запестрели заголовками о начале массовой блокировки всех анонсеров и зеркал Rutracker: lenta.ru, Вести, Известия, Ведомости. Однако в интервью Газете.Ру представитель Роскомнадзора сообщил, что блокировки проводятся в плановом режиме и ничего глобального в плане тотальных блокировок они не производили за последние дни.
«Мы не проводим никакие массированные атаки. Мы ведем целенаправленную работу по повышению эффективности блокировки пиратского контента», — подчеркнул пресс-секретарь Роскомнадзора в беседе с корреспондентом «Газеты.Ru».

Он уточнил, что ни о каком замедлении трафика для пользователей трекера речи не идет, а блокировка RuTracker проводится в плановом режиме.

Тем не менее проблема реальна, сервера блокируются, а в посте есть полезные ссылки на открытые трекеры. Поэтому решил не удалять материал.
Читать дальше →
Total votes 101: ↑100 and ↓1+99
Comments173

Понятие системы и конструкции. Их место в проектировании информационных систем

Reading time16 min
Views14K
После прочтения комментариев к предыдущей статье Классификация конструкций: примеры и заблуждения, посвященной классификации конструкций, я понял, насколько разное представление мы имеем относительно термина конструкции. Когда я писал статью, мне казалось, что этот термин трактуется довольно просто. Но, почитав комментарии, понял, что стоит поговорить о нем отдельно.

Конструкция


Толковый словарь Ефремовой определяет два разных понятия, которые обозначаются одним термином конструкция:

  1. Состав и взаимное расположение частей какого-либо сооружения, механизма.
  2. Само сооружение или механизм с таким устройством.

Попробуем перевести их на формальный язык.

Поскольку состав – это множество, то первое понятие переводится так: конструкция — это множество объектов, связанных между собой связями. При этом, судя по определению, объекты должны быть рукотворным и неживыми. То есть, нельзя представить Землю в виде конструкции, если не предположить, что ее сделали инопланетяне. Нельзя представить ДНК в виде конструкции, если только эта ДНК не создана кем-то. То есть, в определение конструкции надо добавить, что объекты рукотворные. Например, множество объектов: {фюзеляж, крылья, хвост} состоит из рукотворных объектов, и, потому, может называться конструкцией. Конструкцией под названием самолет. Замечу, что в данном контексте самолет – это не объект, а множество объектов {фюзеляж, крылья, хвост}. Можно назвать это множество самолет(к).

Сколько объектов может быть в конструкции? В определении нет ответа на этот вопрос. Но мы можем предположить, что их конечное число, большее одного, потому что в определении говорится о связях. Итого получилось: рукотворное множество объектов, созданное человеком, объекты объединены связями, множество конечное, количество элементов больше одного.
Читать дальше →
Total votes 19: ↑11 and ↓8+3
Comments186

Изменяемые свойства классов в питоне: польза для дела и мелкого хулиганства

Reading time3 min
Views7.4K

В питоне аттрибуты класса можно сколько угодно модифицировать во время работы, и изменения видны всем объектам этого класса и других подклассов. Под катом — одно полезное применение этого факта.

Читать дальше →
Total votes 17: ↑10 and ↓7+3
Comments6

Security Week 18: Дыра во всех системах с Intel Core, Apple отобрала сертификат у троянца, рансомварь заполонила планету

Reading time4 min
Views37K
То, о чем так долго говорили большевики безопасники, свершилось. Свершилось почти десять лет назад, а сейчас об этом стало широко известно: в микропрограмме Intel Management Engine обнаружилась уязвимость. В оповещении от Intel указаны версии от 6.0 до 11.6, а, это, на минуточку, все версии, начиная с 2008 года, с платформ для процессоров Intel Core первого поколения.

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

Ежу понятно, что встраивая в материнки легитимный аппаратный бэкдор, надо по-максимуму закрутить гайки в системе безопасности, что Intel и сделала. Код iME, например, зашифрован 2048-битным ключом. Но как обычно, что-то пошло не так, и теперь прогрессивная общественность доподлинно узнала о возможности удаленно захватывать доступ к функциям управления ME. Под угрозой машины, в которых реализованы технологии AMT, ISM и SBT. Ну то есть вообще все на интеловских чипсетах под Intel Core.

Читать дальше →
Total votes 45: ↑44 and ↓1+43
Comments65

Продолжение эксперимента: прохожие рисуют известные логотипы по памяти

Reading time1 min
Views14K
Первая часть эксперимента понравилась многим —собрала много плюсов и попала в лучшее, — поэтому мы опять вышли на улицу и попросили прохожих нарисовать известные логотипы по памяти. Конечно, не все умеют рисовать, но это не важно — интересно посмотреть, какие детали и особенности образов запомнились людям, а какие — нет. В этот раз вспоминаем Старбакс, Пежо, Ладу, Киви и Йоту — пока не открыли пост, можете проверить себя.


Читать дальше →
Total votes 27: ↑19 and ↓8+11
Comments20

Шесть парадигм программирования, которые изменят ваш взгляд на код

Reading time9 min
Views54K
Периодически я натыкаюсь на языки программирования, которые настолько самобытны, что меняют моё представление о коде в целом. В этой статье я хотел бы поделиться некоторыми из самых любимых моих находок.

Здесь вы не найдёте устаревшего посыла «функциональное программирование спасёт мир!»; мой список состоит из куда менее популярных наименований. Готов поспорить, многие из читателей вообще не слышали о большинстве языков и парадигм, о которых пойдёт речь, так что надеюсь, вам будет так же интересно с ними разбираться, как и мне.

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


Читать дальше →
Total votes 40: ↑36 and ↓4+32
Comments49

«Подводные камни» при проведении совещаний команды проекта

Reading time6 min
Views13K
— Что может быть хуже неэффективного совещания?
— Хуже может быть только неэффективное совещание длиной в три часа, где каждый из участников недоумевает: зачем он находится в этой комнате среди этих людей.



Статей и пособий на тему «Как провести совещание» написано великое множество. Казалось бы, тема исчерпала себя, поскольку есть четкое руководство: что такое «хорошо» и что такое «плохо». В таком случае, почему они не работают и компании по-прежнему тратят огромные суммы на «пустые» разговоры своих сотрудников?!

За десять лет регулярной организации совещаний в качестве менеджера проектов и фасилитатора (методом «проб и ошибок») у меня оформился список «подводных камней», которые могут привести к полному фиаско. Я не претендую на истину, поскольку все компании и команды разные. Многое зависит от корпоративной культуры и стадии развития компании, но есть моменты, которые будут актуальны для любой команды. Ниже я остановлюсь на самых важных:

— оправданность проведения совещания;
— время и длительность совещания.

Единого универсального рецепта, когда стоит проводить совещание, а когда нет – не существует. Очевидная причина: если не собрался кворум (минимально необходимое количество участников) – совещание переносится. А вот список неочевидных причин может быть достаточно внушительный, поэтому организатору требуется развивать умение читать между строк.
Читать дальше →
Total votes 15: ↑13 and ↓2+11
Comments27

Типизируя техническое интервью

Reading time9 min
Views9.3K

Предлагаю читателям "Хабрахабра" перевод статьи Kyle Kingsbury, a.k.a "Aphyr".
Ранее: Заклиная техническое интервью


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

Читать дальше →
Total votes 27: ↑20 and ↓7+13
Comments7

Email — это персональные данные?

Reading time5 min
Views44K
На Хабре довольно много написано про Персональные Данные (их попросили именовать ПДн — да будет так). Обсуждался вопрос и на других ресурсах: toster'е (ещё тут), форумах, блогах и много где ещё, что лишь подчёркивает важность вопроса.

Чтобы стало ещё интересней — цитата Главы Роскомнадзора Александра Жарова (на этой должности он, между прочим, уже 5 лет): "… фотография, ФИО, номер телефона и адрес электронной почты позволяют идентифицировать человека достаточно точно. А фотография и имя «Оля» персональными данными считаться не могут, как и отдельно взятый адрес электронной почты или номер телефона. Речь идет именно о совокупности данных".

И, как показывает мой опыт, а также анализ материалов, вопрос о том, относится ли email к ПДн или нет? К тому же — закон Яровой делает из ПДн просто артефакт неведомой важности.


Читать дальше →
Total votes 20: ↑19 and ↓1+18
Comments58

Дерзкий telegram бот

Reading time3 min
Views103K

Недавно, в попытках разобраться с nlp, мне пришла идея написать простого telegram бота, который будет разговаривать, как дерзкий гопник. То есть:


  • давать ответ по слову-триггеру, как "хочу", "короче", "нет" и т.д.;
  • отвечать дерзким вопросом на вопрос;
  • отвечать нецензурной рифмой;
  • если ничего не подходит и бот в замешательстве, отвечать злой фразой.

Для имплементации был выбран JavaScript с ES6 и Flow. Возможно, Python подошёл бы лучше, так как под него существует больше стабильных и проверенных библиотек для nlp. Но для JS есть Az.js, которого вполне хватило.


Для работы с Telegram API был использован node-telegram-bot-api.


TLDR: бот, исходный код


Осторожно, под катом присутствует нецензурная речь и детали реализации!

Читать дальше →
Total votes 66: ↑40 and ↓26+14
Comments25

Как я пишу код

Reading time4 min
Views34K
Мне нравится думать, что я пишу хороший код. Ну или, что я хотя бы пишу больше хорошего кода, чем плохого.

Моя любимая особенность хорошего кода — это его скука. Предсказуемые выражения, одно за другим. Никаких сюрпризов, никаких трюков, никаких уникальных случаев. Никакого мета-программирования, конечно! Скучный код очень легко отлаживать, читать, объяснять.

Скучный код не использует глобальных состояний, не порождает побочных эффектов и старается уменьшить свою связанность с проектом, в котором он живёт. Скучнейшим образом происходят присвоения значений, которые для каждой переменной случаются лишь раз и избавляют нас от возможности увлекательного расследования кто же и когда изменил вот это состояние. Скучный код делает лишь то, что должен и не полагается на какие-то неявно высказанные предположения.

Код, использующий неявное поведение, может быть основан на каком-нибудь недокументированном, но уже реализованном функционале. Например, в мире написана целая куча НЕВЕРНОГО кода, который полагается на то, что функция файловой системы, возвращающая список директорий, вернёт их в отсортированном по алфавиту порядке. Это и вправду часто работает именно так, но ровно до того момента, пока не ломается по «непонятным» причинам. А на самом деле просто никто никогда этой сортировки не гарантировал.
Читать дальше →
Total votes 55: ↑48 and ↓7+41
Comments25

Выбор MQ для высоконагруженного проекта

Reading time5 min
Views172K
Современные масштабируемые системы состоят из микросервисов, каждый из которых отвечает за свою ограниченную задачу. Такая архитектура позволяет не допускать чрезмерного разрастания исходного кода и контролировать технический долг.

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

Если микросервис перестает отвечать на запросы в результате аварии, его клиенты должны быть мгновенно перенаправлены на резервный. Для управления потоком запросов часто используют так называемые очереди сообщений (message queues).

Недавно используемая нами очередь перестала нас устраивать по параметрам отказоустойчивости и мы заменили ее. Ниже мы делимся нашим опытом выбора.
Читать дальше →
Total votes 46: ↑38 and ↓8+30
Comments57

Как избавиться от умных сотрудников в вашей компании

Reading time5 min
Views74K


Хей, а кто у нас тут самый умный? Вы — начальник и не самый умный в комнате? Вы — очень большой босс и не самый умный в здании? Так это легко исправить! Сейчас поделюсь бесценным опытом.

1. Врите

Читать дальше →
Total votes 90: ↑66 and ↓24+42
Comments252

АMP. Что это и с чем его едят?

Reading time5 min
Views125K

Общая информация


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


Суть в том, что на сайте используются специальные теги, количество и функционал которых строго ограничены. Задача разработчика состоит в том, чтобы собрать солянку из доступных схем, которые решат проблему заказчика.


Google находит эти специальные тэги и кэширует информацию в них. После этого, когда пользователь ищет что-то в Гугле, браузер на фоне подгружает информацию из CDN Гугла, в специальный iframe и при переходе по ссылке открывает уже загруженную страницу в специальном окне.


Читать дальше →
Total votes 13: ↑13 and ↓0+13
Comments12

Корпоративный портал. Что это? Зачем? Кому и когда?

Reading time6 min
Views40K

Что это?


image

Давайте для начала разберемся в понятии «Корпоративный портал». Слишком часто его путают с «Корпоративным сайтом», но надо четко понимать разницу. Википедия говорит нам:
Корпоративный сайт — это интернет ресурс, содержащий полную информацию о компании, её услугах/продукции, событиях в жизни фирмы, историю развития и многое другое.

Однако:
Корпоративный портал — это веб-интерфейс, предоставляющий сотрудникам доступ к корпоративным данным фирмы.

Другими словами, корпоративный портал — это ваш «виртуальный офис», который позволяет вашим сотрудникам обмениваться информацией, документами, добавлять, изменять, удалять, а главное совместно работать. Но это в общем смысле.
Читать дальше →
Total votes 15: ↑12 and ↓3+9
Comments2

Управление «силой мысли»: резидент акселератора Университета ИТМО

Reading time4 min
Views5.2K
Проект TuSion, резидент акселератора Future Technologies Университета ИТМО, разрабатывает программный алгоритм, позволяющий пользователям лучше распознавать собственные желания и эмоции, отслеживать поведение потребителя или настраивать гаджеты «умного дома» через нейроинтерфейс и связанное с ним приложение. О том, как это работает, расскажем ниже.

Total votes 15: ↑12 and ↓3+9
Comments2

Индейские хитрости проектировщика ПО. Выпуск 1

Reading time4 min
Views8.4K
Всем привет. Этим выпуском я хочу открыть серию статей которые будут содержать различные приемы и трюки которыми я пользуюсь сам и которые практикуют мои коллеги по опасному бизнесу. Материалы не структурированы и представляют собой разрозненные полевые заметки, которые возможно когда нибудь перерастут в систему, но пока не буду ничего загадывать.

Читать дальше →
Total votes 22: ↑12 and ↓10+2
Comments7

Information

Rating
Does not participate
Date of birth
Registered
Activity