Как стать автором
Обновить
-9
0
Николай @nikolayv81

Разработчик баз данных

Отправить сообщение

LOLWUT: произведение искусства в команде БД

Время на прочтение3 мин
Количество просмотров3.6K
Автор — Сальваторе Санфилиппо aka antirez, один из основных разработчиков БД Redis, сотрудник Redis Labs. Статья опубликована 12 сентября 2018 года

Последние несколько дней оказались весьма напряжёнными. Одним из аргументов в споре о замене или не замене слов, используемых в коде репликации Redis, было следующее: стоит ли делать работу, которая не даёт никакого технологического результата? [Речь о замене терминов «хозяин/раб» при репликации — прим. пер.]

В процессе чистки исходников Redis от определённого слова, где это возможно, я подумал, что мне нравится писать код даже без измеримых технологических эффектов. Замена слов — слишком рутинная работа, она просто раздражает, даже если по ходу встречаются достойные технологические проблемы. Но есть другой вид кода с особым качеством, которое я бы назвал “hack value”. Он может не решать никакой проблемы, но всё равно это достойная задача. Здесь несколько причин. Иногда процесс написания кода полезен сам по себе. Иногда для решения не самой важной проблемы используются технически продвинутые идеи. А иногда код пишется просто из эстетических соображений.
Читать дальше →
Всего голосов 12: ↑11 и ↓1+10
Комментарии1

Как защитить своего ребенка от мусора на YouTube и сделать кастомный плеер с белым списком каналов

Время на прочтение9 мин
Количество просмотров122K

Можно долго спорить на тему, стоит ли давать маленьким детям доступ к планшетам и смартфонам. Кто-то говорит что это вредно для глаз или для психики, кто-то — что родителям надо бы самим играть и читать с детьми, а не пытаться отгородится от них гаджетами. Что характерно, чаще всего такое говорят люди, у которых своих детей нет. И которые не знают, какое это блаженство — когда чадо замолкает хотя бы на полчаса, перестает крушить все вокруг, спокойненько лежит на диване и смотрит мультики. Есть и еще один аргумент — дети чутко все повторяют за родителями, если родители непрерывно сидят уткнувшись в телефон, то очень сложно объяснить детям, почему родителям можно, а им — нет.



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


К сожалению, я очень быстро уяснил, что детский ютуб — это просто АДОВЫЙ ТРЕШ. Про это даже на Хабре уже был перевод статьи. Детские каналы — это какие-то бездонные клоаки, наполненные вырвиглазными видео типа "разворачиваем сто киндер-сюрпризов", "дурацкие стишки с убогой 3д графикой под крикливую музыку" и "гоняем машинки в Beam NG под дурацкие комментарии". По какой-то причине все это является очень привлекательным для маленьких детей, которые бросаются кликать на такие видео как только увидят их в рекомендованных. А YouTube не позволяет управлять рекомендациями. Даже дав своему сыну планшет с включенными "нормальными" мультиками, я уже через пару минут наблюдаю, как он за два клика по рекомендациям опять находит эти чертовы шоколадные яйца и снова начинает в них залипать.


Все, с меня хватит, решил я. И начал пилить свое приложение для просмотра ютуба, позволяющее выбрать список каналов и показывающее только видео с этих каналов. Как я это делал — под катом.

Читать дальше →
Всего голосов 91: ↑87 и ↓4+83
Комментарии364

Embox начинает восхождение на Эльбрус

Время на прочтение8 мин
Количество просмотров11K
Те кто следит за нашим проектом могли заметить, что в каталоге с архитектурами появилась папка e2k, содержащая реализацию поддержки отечественных процессоров с архитектурой Эльбрус. Серия статей о портировании Embox на отечественные платформы была бы неполной без рассказа об этой архитектуре.

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

Приступим.
Читать дальше →
Всего голосов 36: ↑35 и ↓1+34
Комментарии73

I. Дезадаптации. II. СДВГ или ленивый придурок?

Время на прочтение16 мин
Количество просмотров28K
Предупреждение: Данная статья написана не квалифицированным врачом-психиатром, а пациентом с тяжелой патологией.

Напоминание: СДВГ, тем более в выраженной форме, обостряет многие когнитивные искажения. У таких пациентов, как я, выпукло проявляется эффект Даннинга-Крюгера. Переходящая все границы небрежность компрометирует факты и источники информации, а сниженный интеллект при полном отсутствии внимания к значимым деталям ставит под сомнение выводы и обобщения.


Ответ — нет! Вы не ленивый придурок, если задаете себе такой вопрос. Вы “счастливый” обладатель одного или нескольких сразу дезадаптивных механизмов, реализованных вашим мозгом, в результате чего блокируются некоторые поведенческие выходы.
Читать дальше →
Всего голосов 37: ↑33 и ↓4+29
Комментарии111

Журнал «Новости Космонавтики» прекращает своё существование

Время на прочтение3 мин
Количество просмотров49K

Российский журнал и форум «Новости космонавтики» — эпоха, явление, бренд популяризации российской космонавтики и её истории, исчезнет в ближайшее время. В отличии от предыдущего случая в 2015 году, в этот раз нефинансовые причины. Новому руководству Роскосмоса не нужен такой журнал.
Читать дальше →
Всего голосов 129: ↑123 и ↓6+117
Комментарии450

Язвы и грабли CSV и Excel: проблемы и решения

Время на прочтение11 мин
Количество просмотров380K
CSV является стандартом де-факто для связи между собой разнородных систем, для передачи и обработки объемных данных с «жесткой», табличной структурой. Во многих скриптовых языках программирования есть встроенные средства разбора и генерации, он хорошо понятен как программистам, так и рядовым пользователям, а проблемы с самими данными в нем хорошо обнаруживаются, как говорится, на глаз.

История этого формата насчитывает не менее 30 лет. Но даже сейчас, в эпоху повального использования XML, для выгрузки и загрузки больших объемов данных по-прежнему используют CSV. И, несмотря на то, что сам формат довольно неплохо описан в RFC, каждый его понимает по-своему.

В этой статье я попробую обобщить существующие знания об этом формате, указать на типичные ошибки, а также проиллюстрировать описанные проблемы на примере кривой реализации импорта-экспорта в Microsoft Office 2007. Также покажу, как обходить эти проблемы (в т.ч. автоматическое преобразование типов Excel-ом в DATETIME и NUMBER) при открытии .csv.

Читать дальше →
Всего голосов 88: ↑83 и ↓5+78
Комментарии42

[DotNetBook] Span: новый тип данных .NET

Время на прочтение14 мин
Количество просмотров32K

С этой статьей я продолжаю публиковать целую серию статей, результатом которой будет книга по работе .NET CLR, и .NET в целом (уже готово около 200 страниц книги, так что добро пожаловать в конец статьи за ссылками).


Как язык, так и платформа существуют уже много лет: и все это время существовало множество средств для работы с неуправляемым кодом. Так почему же сейчас выходит очередной API для работы с неуправляемым кодом если по сути он существовал уже много-много лет? Для того чтобы ответить на этот вопрос достаточно понять чего не хватало нам раньше.


Разработчики платформы и раньше пытались нам помочь скрасить будни разработки с использованием неуправляемых ресурсов: это и автоматические врапперы для импортируемых методов. И маршаллинг, который в большинстве случаев работатет автоматически. Это также инструкция stackallloc, о которой говорится в главе про стек потока. Однако, как по мне если ранние разработчики с использованием языка C# приходили из мира C++ (как сделал это и я), то сейчас они приходят из более высокоуровневых языков (я, например, знаю разработчика, который пришел из JavaScript). А что это означает? Это означает что люди со все большим подозрением начинают относиться к неуправляемым ресурсам и конструкциям, близким по духу к C/C++ и уж тем более — к языку Ассемблера.


Примечание


Глава, опубликованная на Хабре не обновляется и возможно, уже несколько устарела. А потому, прошу обратиться за более свежим текстом к оригиналу:


Читать дальше →
Всего голосов 38: ↑38 и ↓0+38
Комментарии24

Вся правда о linux epoll

Время на прочтение10 мин
Количество просмотров52K

Ну или почти вся...



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


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


Anyone can wield an axe, but it takes a true warrior to make it sing melees melody.

Я предполагаю, что читатель знаком с epoll, по крайней мере прочел страницу man. О epoll, poll, select написано достаточно много, чтобы каждый кто разрабатывал под Linux, хоть раз о нем слышал.

Читать дальше →
Всего голосов 36: ↑35 и ↓1+34
Комментарии53

AI, практический курс. Предобработка и дополнение данных с изображениями

Время на прочтение7 мин
Количество просмотров12K
Предобработка — это общий термин для всех манипуляций, производимых с данными перед передачей их модели, включая центрирование, нормализацию, сдвиг, вращение, обрезку и т. п. Как правило, предобработка требуется в двух случаях.

  • Очистка данных. Предположим, что на изображениях присутствуют некоторые артефакты. Чтобы облегчить обучение модели, артефакты необходимо удалить на этапе предобработки.
  • Дополнение данных. Иногда небольших наборов данных недостаточно для качественного глубокого обучения модели. Подход с дополнением данных весьма полезен при решении этой проблемы. Это процесс трансформации каждого образца данных различными способами и добавления к набору данных таких измененных образцов. Таким образом можно повысить эффективный размер набора данных.

Рассмотрим некоторые возможные методы трансформации при предобработке и их реализацию через Keras.

Читать дальше →
Всего голосов 21: ↑21 и ↓0+21
Комментарии0

Открытый урок «Многопоточность в Java. Базовые примитивы синхронизации»

Время на прочтение1 мин
Количество просмотров10K
Всем привет!

Делимся с вами очередным открытым вебинаром, который проводили в рамках нашего курса «Разработчик Java». На уроке преподаватель курса Сергей Петрелевич разбирал основные проблемы разработки многопоточных программ, средства работы с потоками в JVM.


Как всегда ждём вопросы, пожелания тут или можете зайти завтра на День открытых дверей и задать любой вопрос там.
Всего голосов 11: ↑8 и ↓3+5
Комментарии9

B+ дерево в реальном проекте

Время на прочтение11 мин
Количество просмотров15K

В этой статье мы подробно рассмотрим, как сделано B+ дерево в распределенной БД Apache Ignite.


Читать дальше →
Всего голосов 25: ↑24 и ↓1+23
Комментарии5

Как open-source побеждает «кровавый энтерпрайз»: битва за BPMS

Время на прочтение5 мин
Количество просмотров21K
Шестеренки современного банка крутятся в соответствии с финансовыми бизнес-процессами. Они сложнее обычных — это правило работает для всего, к чему вы добавите определение «финансовые». С одной стороны, все усложняют регуляторы, бессчетное количество согласований и вовлеченных сторон. С другой — неповоротливые монолитные BPMS (Business Process Management System). В этом посте мы расскажем, как успешно забросили одну такую систему и ушли в гибкий и функциональный open source.


Читать дальше →
Всего голосов 35: ↑33 и ↓2+31
Комментарии19

Летающий робот меняет форму в воздухе

Время на прочтение3 мин
Количество просмотров14K
Беспилотники способны на многое: от съёмки репортажей и свадеб до мониторинга лесных массивов для быстрого реагирования на пожары, отслеживание состояния энергосетей и нефтепроводов. Потенциально летающие роботы могут быть использованы внутри помещений, но для этого они должны быть одновременно юркими и достаточно мощными, чтобы взаимодействовать с окружением. Для этого японские специалисты создали напоминающего летающее щупальце модульного робота DRAGON, который меняет форму, чтобы проникать в небольшие отверстия и в перспективе выступать в качестве манипулятора.


Всего голосов 21: ↑20 и ↓1+19
Комментарии5

Внутри Гиперактивности

Время на прочтение15 мин
Количество просмотров51K
image

Предупреждение: Данная статья написана не квалифицированным врачом-психиатром, а пациентом с тяжелой патологией.

Напоминание: СДВГ, тем более в такой сильно выраженной форме, обостряет многие когнитивные искажения. У таких пациентов, как я, выпукло проявляется эффект Даннинга-Крюгера. Переходящая все границы небрежность компрометирует факты и источники информации, а сниженный интеллект при полном отсутствии внимания к значимым деталям ставит под сомнение выводы и обобщения.

Цель этой статьи — максимально честное и беспристрастное описания работы СДВГшного мозга с примерами конкретных кейсов с максимально доступным мне по части компетентности анализом.
Если для вас это важная тема — касается ребенка или Вы сами придурок, но очень не хотите им быть, добро пожаловать под кат.
Читать дальше →
Всего голосов 62: ↑60 и ↓2+58
Комментарии177

Учёные до сих пор не могут дать определение дереву

Время на прочтение7 мин
Количество просмотров33K

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



Остистая сосна

Несколько лет назад после ужина в День благодарения, проходившего в доме моих родителей в Вермонте, молния ударила в клён, стоявший у нас во дворе. Мы услышали ужасный треск, и темнота за окном кухни на какой-то миг сменилась ярким светом. И только весной мы смогли уже точно удостовериться в том, что дерево погибло.

Этот клён был молодым, его ствол по диаметру не превышал десертной тарелки. Если бы его жизнь не оборвалась в результате катастрофы, он мог бы прожить 300 лет. Но у деревьев смерть в результате несчастного случая встречается удивительно часто. Иногда это происходит из-за грубой людской ошибки, как когда в 2012 году во Флориде болотный кипарис возрастом более 3500 лет был уничтожен в результате намеренного поджога. Чаще беда приходит в виде плохой погоды – засухи, ветра, пожаров или заморозков. И, конечно, деревья подвержены влиянию паразитов и болезней; такая напасть, как грибок, может заметно укоротить время жизни дерева. Но те деревья, которым удалось избежать подобных врагов, способны жить невероятно долго.
Читать дальше →
Всего голосов 45: ↑42 и ↓3+39
Комментарии33

Evil by Design: интерфейсы от Мефистофеля (часть первая)

Время на прочтение12 мин
Количество просмотров9.7K
Крис Ноддер, автор книги «Evil by Design», сразу вызывает доверие. Не столько своим послужным списком достижений в психологии UX дизайне и консалтинге, сколько явным умением цеплять и продавать. По сути, под стильной обложкой с демоненком — собрание техник манипулирования потребителем, многие из которых известны уже давно. Но, согласитесь, «руководство для дизайнера, который служит Злу, пробуждая в людях темные инстинкты» звучит гораздо увлекательнее. Давайте толкать потребителя на смертные грехи!



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

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

Читать дальше →
Всего голосов 14: ↑14 и ↓0+14
Комментарии0

Настройка BGP для обхода блокировок, или «Как я перестал бояться и полюбил РКН»

Время на прочтение11 мин
Количество просмотров140K

Ну ладно, про «полюбил» — это преувеличение. Скорее «смог сосуществовать с».


Как вы все знаете, с 16 апреля 2018 года Роскомнадзор крайне широкими мазками блокирует доступ к ресурсам в сети, добавляя в "Единый реестр доменных имен, указателей страниц сайтов в сети «Интернет» и сетевых адресов, позволяющих идентифицировать сайты в сети «Интернет», содержащие информацию, распространение которой в Российской Федерации запрещено" (по тексту — просто реестр) по /10 иногда. В результате граждане Российской Федерации и бизнес страдают, потеряв доступ к необходимым им совершенно легальным ресурсам.


После того, как в комментариях к одной из статей на Хабре я сказал, что готов помочь пострадавшим с настройкой схемы обхода, ко мне обратились несколько человек с просьбой о такой помощи. Когда у них всё заработало, один из них порекомендовал описать методику в статье. Поразмыслив, решил нарушить свое молчание на сайте и попробовать в кои-то веки написать что-то промежуточное между проектом и постом в Facebook, т.е. хабрапост. Результат — перед вами.

Читать дальше →
Всего голосов 124: ↑120 и ↓4+116
Комментарии303

Кто мутит воду? Большое подробное сравнение-тест бытовых фильтров для очистки воды

Время на прочтение10 мин
Количество просмотров415K


Не так давно мы с супругой наконец-то обзавелись собственным жильём, и я озадачился вопросом — как умнее и экономнее всего организовать дополнительную очистку воды у себя дома. Так как я работаю в компании, занимающейся в том числе и химическими исследованиями, получилось провести почти полноценные лабораторные испытания нескольких моделей фильтров. Процесс тестирования и сравнения оказался интересным, так что я решил поделиться этими своими наблюдениями и выводами здесь.
Всего голосов 68: ↑50 и ↓18+32
Комментарии192

«Хаббл» увидел голубого сверхгиганта на расстоянии 10 млрд световых лет. Это самая дальняя звезда в истории наблюдений

Время на прочтение3 мин
Количество просмотров15K

Набор изображений показывает гравитационно-линзовое скопление галактик, через которое обнаружена новая звезда. Голубой сверхгигант под кодовым названием Icarus отмечен белой стрелочкой на правой нижней фотографии. Фотографии: NASA/ESA/P. Kelly

Астрономы давно применяют гравитационное микролинзирование для «увеличения светосилы» телескопа в десятки-тысячи раз — и наблюдения сверхдальних участков космоса, отдалённых от нас в пространстве-времени на миллиарды световых лет. Неоднократно таким способом обнаруживали сверхдальние галактики, а иногда даже отдельные звёзды. Но найденная сейчас звезда под кодовым названием Icarus находится в 100 раз дальше, чем любая из ранее наблюдаемых звёзд, за исключением взрывов сверхновых.

Международная группа исследователей опубликовала доказательства, что объект, обнаруженный через гравитационно-линзовое скопление галактик, — это голубой сверхгигант почти в 10 млрд световых лет от нас. То есть «Хаббл» зарегистрировал свет, излучённый звездой всего через 4,4 млрд лет после Большого взрыва.
Читать дальше →
Всего голосов 30: ↑30 и ↓0+30
Комментарии5

Дональд Кнут: вот это поворот

Время на прочтение4 мин
Количество просмотров28K
image

Когда вы входите в мой дом… эм… Мы с женой хотели, чтобы у нас были какие-либо произведения искусства в доме, которые были бы личными и также связанными с тем, чем мы занимаемся. И поэтому вы можете увидеть две вещи: одна из них это кривая дракона, я расскажу вам о ней больше через минуту. И другая это вот эта работа. Это строчка из “Дороги к мудрости” Пита Хайна:

imageДолжны мы,
Чтоб к мудрости
Вечной добраться,
Что нам
Так заманчиво
Брезжит,
Опять
И опять,
И опять
Ошибаться,
Но реже
И реже,
И реже.

Это одна из моих любимых фраз. Своего рода история всей моей жизни — это совершение ошибок и попытки научиться чему-то на них. Эту фразу спроектировали в форме суперэллипса, который является одним из великих открытий Пита Хайна. Этот эллипс более полный и он использовался во многих архитектурных изделиях.
Всего голосов 58: ↑54 и ↓4+50
Комментарии17

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность