Search
Write a publication
Pull to refresh
393
4.8
Дмитрий EvilDBA @Tzimie

DBA

Send message

Вечер трудного дня

Reading time1 min
Views3K

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

- Алексей. Алексей! Алексеееееей!!

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

- Алексей, к сожалению время на решение задачи уже вышло, а ответа мы так и не получили, - заученно, но вежливо отчеканила девушка.

Читать далее

Запускаем DOOM на лампочке

Reading time3 min
Views24K
image

В DOOM уже поиграли на пианино и на клавиатуре, на тесте на беременность (кстати, это был фейк) и на паяльнике, на самолёте, банкомате, принтере и осциллографе.

Пришло время для лампочек.

imageВнутри лампочки TRÅDFRI RGB GU10 (IKEA model: LED1923R5) хакеры из Next-Hack нашли модуль Silicon lab's MGM210L RF module с 108кб оперативки и запустили на нем DOOM. Исследователям-хакерам пришлось попотеть над оптимизацией использования оперативки, потому что оригинальный DOOM требует 4мб, но они смогли.

Модуль имеет только 1 МБ внутренней флэш-памяти, поэтому умельцы добавили внешнюю флэш-память SPI для хранения файла WAD, который можно загрузить с помощью YMODEM. Процессор у лампочки 40-MHz Cortex M4.

О сложности в работе программиста

Reading time7 min
Views14K

Я хочу сегодня порассуждать об окружающей нас (людей) сложности и о нашем умении с ней работать. Не о той сложности, про которую пишут в статусах семейного положения в соцсетях, типа, «всё сложно», а о сложности в организационно-технических системах (кстати, по-моему, неплохое название для ВУЗовской специальности получилось). На оригинальность и, тем более, истину не претендую (тем более что, как минимум, наполовину я тут собираюсь низводить, курощать и дуракавалять). Часть этих рассуждений я уже выносил куда-то в комментарии, но для меня этот вопрос не закрыт. Поэтому жизнь всегда подбрасывает мне разные показательные примеры, которые побуждают размышлять дальше. Несмотря на пятницу, это не задумывалось, как развлекательное чтиво, тут не будет весёлых картинок, если что – я вас предупредил. Если хотите прочитать только одно предложение, и пойти читать остальные весёлые пятничные статьи – то вот оно: «Упрощать сложность там, где это можно сделать, справляться со сложностью там, где упрощать её нельзя, и нарабатывать опыт и умение отличать первый случай от второго». Годится как пятничный тост.
Читать дальше →

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

Reading time3 min
Views4.6K

Мой Дорогой Друг Шон недавно написал пост, рассказывающий о том, как люди неправильно обслуживают индексы. Я собираюсь зайти немного дальше и поговорить о том, что сам метод, которым ваш скрипт, обслуживающий индексы, оценивает фрагментацию индексов - неправильный.

Если вы посмотрите на то, как ваш скрипт решает нужно или нет перестраивать индексы, и тоже самое касается планов обслуживания (я запускал ПРОФАЙЛЕР ДА ЗДРАВСТВУЕТ ПРОФАЙЛЕР ВПЕРЁД ПРОФАЙЛЕР чтобы проверить), вы увидите, что они выполняют запрос к sys.dm_db_index_physical_stats.

Все эти запросы используют столбец avg_fragmentation_in_percent, чтобы понять - нужно ли перестроить индекс

Читать далее

Реклама Creative Commons творчества русской группы Complex Numbers, что с 1996 года создает хорошую научную фантастику

Reading time3 min
Views7.6K

Здравствуйте, я давно знаком с творчеством Complex Numbers, насколько я помню сначала меня поразила их опера 2032, которая вышла за год до первого айфона, где человек общается с машиной об оптимальной социальной формации, потом волосы встали дыбом от песенки Последее Кольцо, где рассказывается о тепловой смерти вселенной, что даже если мы и станем бессмертными пост-человеками то ничего не сможем поделать с законами физики.

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

На Хабре не нашел ни одной статьи об этой группе, подумал что они достойны рекламы. Тем более что творчество их мало того что бесплатно, так еще и Creative Commons. 25 лет, создавая после работы, такие особенные филосовские произведения. Какбы андерграунд, но стало удивлением что в Дальневосточном федеральном университете на кафедре «Основы биологии человека и биоэтики» в программе обучения от 2017 года содержится задание по написанию эссе после прослушивания Русалочки (одна из опер группировки). Вопросы студентам предлагаются следующие:

Read more

Услуга за услугу. Как русские учёные впряглись за Пастера в споре с антипрививочниками

Reading time11 min
Views24K


В 2020 у нас появился новый повод гордиться Россией — вакцина от коронавируса, разработанная центром имени Н.Ф. Гамалеи.

Я расскажу о событиях 135-летней давности. О приключениях молодого доктора Гамалеи в Париже и о том, как в мире победили вирус бешенства.


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

Если вас укусила подозрительная собака (или милый уличный котёнок) — обратитесь в травмпункт. В детстве нас пугали 40 уколами в живот, но современные вакцины требуют 3-6 уколов в плечо, пережить можно. Можете конечно ничего не делать, ведь не от каждого укуса получают заражение (вероятность 30% в случае собак). Но это как играть в русскую рулетку с двумя патронами в револьвере — оно вам надо?

Карикатура 1826 года: бешеный пес на улицах Лондона. Покусанная женщина скорее всего уже не жилец:


Читать дальше →

HTML-теги и атрибуты, о которых вы, возможно, не знали

Reading time14 min
Views54K

image


Эта статья — шпаргалка по HTML-тегам. Поэтому не будем разглагольствовать, сразу к делу.


abbr


Тег abbr определяет аббревиатуру или акроним. Аббревиатура или акроним расшифровываются с помощью атрибута title.


<abbr title="HyperText Markup Language">HTML</abbr> был разработан британским ученым Тимом Бернерсом-Ли приблизительно в 1986—1991 годах.

abbr часто используется совместно с тегом dfn, идентифицирующим понятие или термин:


<p><dfn><abbr title="Cascading Style Sheets">CSS</abbr></dfn> - формальный язык описания внешнего вида документа (веб-страницы).</p>

address


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

Читать дальше →

Логическое программирование на Prolog для чайников

Reading time14 min
Views99K

Дисклеймер: этот туториал написан преимущественно для студентов, изучающих Пролог. Если вы человек практического толка, то, скорее всего, вы не найдете здесь ничего полезного.

Выделяют три основные парадигмы программирования: императивное, функциональное и логическое. Императивное — это про C/C++, Java, Golang, Javascript и тд. Я даже могу сказать "C подобный, значит императивный". Функциональное — это про Haskell, F#, Lisp, ленивые вычисления, чистые функции и т.д. Но что такое логическое программирование? Какие задачи оно решает и на чем программировать? Не уже ли логическое программирование способно доказать любую математическую теорему? Или как?

Это статья — туториал по логическому программированию на Пролог для чайников.

Туториал будет интересен в первую очередь:
1. Любознательным
2. Студентам, которым приходится изучать Prolog в вузе

Я постарался лаконично, понятно, без излишних приступлений и отступлений научить основам программирования на Пролог.

Давайте разбираться

Исследование: какие способы обхода антивирусов используют хакеры

Reading time8 min
Views9.6K

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

Для решения этой проблемы хакеры используют техники упаковки, шифрования и мутации кода. Такие техники часто реализуют отдельные инструменты — «крипторы» (crypters) или просто «пакеры». В этой статье на примере банковского трояна RTM мы рассмотрим, какие «пакеры» могут использовать злоумышленники и как эти «пакеры» осложняют обнаружение ВПО.

Полная версия данного исследования доступна по ссылке.

Читать далее

Pocket 6K. Макросъемка через объектив микроскопа

Reading time2 min
Views22K


В последнее время я увлекся макросъемкой, и мне стало любопытно, смогу ли я использовать отцовские объективы от микроскопа для своих фото и видео камер. Замысел этот не нов, и гугл-поиск показал, что реализовать его действительно возможно, потребуется лишь специальный переходник “RMS — M42”, который доступен на Aliexpress.
Читать дальше →

Защищали ли кольчуги рыцарей?

Reading time9 min
Views59K

Автор: Azirsan

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

Читать далее

Тёмная сторона SQL Server In-Memory OLTP

Reading time7 min
Views16K

Пару лет назад, в разговоре с кем-то промелькнула примерно такая фраза: "Мы используем In-Memory OLTP - это очень быстро, зачастую даже вместо временных таблиц создаём In-Memory и всем советуем". Спустя какое-то время, мне задали вопрос как можно держать одну таблицу в памяти, чтобы работать с ней максимально быстро. Выяснив подробности - небольшая таблица, данные должны храниться только за последние несколько минут, суммарно не больше 10000 записей "приемлемых" (не LOB) типов данных, потеря данных при перезагрузке/файловере не страшна и даже приветствуется. In-Memory OLTP, без тени сомнения ответил я.

Перед запуском в продакшн я излазил всю документацию, проводил свои тесты - просто огонь. Работает реально быстро, таблица SCHEMA_ONLY и IO не генерирует вообще (я же умный, смотрю sys.dm_io_virtual_file_statss до и после). С обращениями через natively compiled stored procedures - не просто быстро работает, летает. Одним словом мечта.

Правда, оказалось, что у моей мечты есть тёмная сторона.

Переходи на тёмную сторону %username

Смотрим любое кино мгновенно

Reading time2 min
Views161K

После ареста серверов Moonwalk жить стало в разы труднее. Лично я уже совсем отвык от торрентов. Нужно что-то качать, ждать, чем-то открывать, куда-то кликать, иногда еще и место на диске кончается. Как можно ждать час пока скачается фильм? За час можно жизнь прожить. Пришлось искать решение, которое позволит смотреть кино также просто, как и раньше. Норматив: от идеи посмотреть что-нибудь до начала просмотра - не более минуты.

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

Читать далее

Рядовой SNAFU идет в DBA

Reading time2 min
Views5.1K

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

При наборе людей на позицию SQL server developer, я часто был покорен тем, как они отвечали на вопросы. Я готов был сказать им ДА, если бы меня не спасала небольшая задача в одну строчку, которую предложил мой коллега. Удивительно, сколько всего может дать эта задача в одну строку SQL. И вот уже кандидат уже с упоением ходит по граблям. А грабель, как вы увидите, там много. Конечно, ни один человек не собрал ВСЕ возможные грабли. Но, чтобы их все показать, мне и понадобился SNAFU.
Читать дальше →

Скромное обаяние конспирологии

Reading time23 min
Views46K


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

Мэнциус Молдбаг — идеология для ультраправых технарей

Reading time11 min
Views38K


Кертис Гай Ярвин, также известный под псевдонимом Менциус Молдбаг, является американским ультраправым блоггером. Ярвин и его идеи часто ассоциируются с альтернативными правыми, несмотря на попытки его и других мыслителей Темного Просвещения дистанцироваться от них. С 2007 по 2014 год он вел блог под названием «Unqualified Reservations», в котором утверждалось, что американская демократия — это неудачный эксперимент и что ее следует заменить монархией или корпоративным управлением. Он известен, наряду с другим неореакционистом Ником Лэндом, за разработку антиэгалитарных и антидемократических идей, лежащих в основе Темного Просвещения.
Читать дальше →

Как отличать птиц от цветов. Или цветы от птиц

Reading time12 min
Views13K
В качестве программы выходного дня мне захотелось поиграться с как бы «нейронной» сетью (спойлер — в ней нет нейронов). А чтобы потом не было мучительно больно за бесцельно прожитые годы часы, я подумал, что зря мы его кормим, пусть пользу приносит — пусть заодно эта сетка разберет домашний фотоархив и хотя бы разложит фотографии цветов в отдельную папку.

Самая простая сеть


Самая простая сеть нашлась в статье "Нейросеть в 11 строчек на Python" (это перевод от SLY_G статьи "A Neural Network in 11 lines of Python (Part 1)", вообще у автора есть еще продолжение "A Neural Network in 13 lines of Python (Part 2 — Gradient Descent)", но здесь достаточно первой статьи).

Краткое описание сетки — в этой сети есть ровно одна зависимость — NumPy.

Множество входов рассматривается как матрица $X$, множество выходов — как вектор $y$. В оригинальной статье сеть умножает входную матрицу, размерностью (4 x 3), на матрицу весов входов $syn0$ (3 x 4), к произведению применяет передаточную функцию, и получает матрицу слоя $l1$ (4 x 4).
Читать дальше →

Может ли разум подделать Вселенную?

Reading time8 min
Views16K

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


Софи Хебден
FQXi Awardees: Маркус Мюллер 1
18 января 2019 г.


Творение космоса.
Credit: Юрий Акурс, iStock

Читать дальше →

Не выбрасывайте умные лампочки в мусор, или опасность IoT

Reading time5 min
Views19K


По оценкам аналитиков GlobalData, объем рынка IoT-решений в прошлом году составил около $130 млрд. К 2023 году этот показатель вырастет почти в три раза, до $318 млрд. Ежегодный рост (GAGR) составляет сейчас около 20%. Объем же подключенных устройств к 2020 году составит 20-50 млрд штук.

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

Введение в Python

Reading time12 min
Views97K
В данной статье мы затронем основы Python. Мы все ближе и ближе к цели, в общем, скоро приступим к работе с основными библиотеками для Data Science и будем использовать TensorFlow (для написания и развертывания нейросетей, тобишь Deep Learning).

Установка


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

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

Пробельные символы


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

# пример отступов во вложенных циклах for
for i in [ 1, 2, 3, 4, 5] :
print (i) # первая строка в блоке for i
for j in (1, 2, З, 4, 5 ] :
print ( j ) # первая строка в блоке for j
print (i + j) # последняя строка в блоке for j
print (i) # последняя строка в блоке for i
print ( "циклы закончились ")
Читать дальше →

Information

Rating
1,848-th
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Registered
Activity

Specialization

Specialist
English
C
SQL
Python
High-loaded systems
C#