Search
Write a publication
Pull to refresh
56
0
Илья @WST

Инженер-программист

Send message

Junior, который в первый день работы удалил базу данных с production

Reading time2 min
Views146K
Reddit и другие иностранные ресурсы буквально покорила история о младшем разработчике, который, придя на свою первую работу, в первый же день удалил базу данных на production.


«Два типа людей в эксплуатации: кто уже сломал production, кто ещё только собирается это сделать»

Опубликованная 10 дней назад заметка собрала более 23 тысяч положительных голосов на Reddit и разошлась по другим специализированным ресурсам вроде The New Stack. Суть истории такова:
Читать дальше →

Как уничтожить биткоины

Reading time4 min
Views36K
image

Мы знаем, как создать биткоины, но вот как их можно уничтожить?

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

Простейший метод


Очень легко сжечь биткоины, отправив их на фиктивный адрес. К счастью, у пользователей Bitcoin шанс нечаянно сжечь биткоины таким способом чрезвычайно мал, поскольку в адресе присутствует 4-байтовая контрольная сумма, предотвращающая опечатки (на bitcoin wiki есть подробная инструкция по созданию биткоин-адресов).
Читать дальше →

Списки инициализации в C++: хороший, плохой, злой

Reading time9 min
Views105K

В этой статье я бы хотел рассказать о том, как работают списки инициализации (braced initializer lists) в C++, какие проблемы они были призваны решать, какие проблемы, в свою очередь, вызвали и как не попасть в просак.

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

Как сделать context switch на STM32

Reading time11 min
Views25K
Добрый день!

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

Я бы хотел рассказать про то, как мы делали переключение потоков для Cortex-M, и тестировали на STM32. Кроме того, постараюсь рассказать о том как это сделано в других ОС — NuttX и FreeRTOS.
Читать дальше →

Билайн, зачем ты лезешь в мой HTTPS?

Reading time3 min
Views104K
Приехал я на выходные на дачу, пожарил шашлычок, натопил баньку, да сел в интернете посидеть немножко. А интернет мой неожиданно стал выглядеть вот так (надеюсь продавец мерса на меня не обидится, но скриншот сохранился вот такой только):

Сначала я грешил на скорость 3G, браузер, ОС и т.д. и т.п., но как оказалось все не то.

А проблема в том, что HTTPS-сайты через 3G модем Билайн вдруг практически перестали открываться. Все уже привыкли к «фокусам» Билайна с вмешательством в HTTP и добавлением своего кода на страницы, со «сливом» данных пользователей для активации платных подписок кликом на сайте и.т.д. А теперь тренировка с HTTPS?
Читать дальше →

Восстановление данных с внешнего жесткого диска Seagate FreeAgent Go

Reading time6 min
Views42K
Внешний жесткий диск Seagate FreeAgent Go 500Gb верой и правдой служил своей владелице, но в один из не самых лучших для него дней стал жертвой человеческих эмоций, когда владелица в пылу семейной драмы швырнула устройство в объект, вызывающий у нее сильное раздражение – в своего мужа. Муж серьезно не пострадал, а вот с накопителем дела обстояли хуже. При подключении в USB порт компьютера накопитель издавал тихие жужжащие звуки и не начинал вращение вала.


рис. 1
Читать дальше →

Работа в команде. Как помирить дизайнера и верстальщика

Reading time5 min
Views20K
image

Частая жалоба верстальщиков: «Они делают непонятный макет! Отступы пляшут, заголовки разных размеров и начертаний, элементы выпадают из сетки! Не хочу с ними работать”. Дизайнеры, в своё время, жалуются на то, что верстальщики портят макеты.

Эти жалобы взаимодополняемы. Если начать разбираться в корне проблемы, то виноватыми окажутся оба. Как помирить этих двух работников фронта?
Читать дальше →

Перевод статьи: Лучшая практика создания Git Commit'ов от OpenStack

Reading time17 min
Views26K

Предлагаю читателям "Хабрахабра" перевод статьи "Хорошая практика в сообщении коммитов от OpenStack".


1 Git Commit Лучшая практика


Следующий документ основан на опыте разработки кода, устранении ошибок и просмотре кода в ряде проектов, использующих Git, включая libvirt, QEMU и OpenStack Nova. Рассмотрение других проектов с открытым исходным кодом, таких как Kernel, CoreUtils, GNULIB а также других, предполагает, что все они следуют достаточно распространенной практике. Это мотивировано желанием улучшить качество истории Git проекта Nova. Качество — это абстрактный термин для определения в разработке; когда для одного человека некий код «Красивый» (Thing of Beauty) — то для другого это «Костыль» (Evil Hack). Тем не менее мы можем сформулировать некоторые общие рекомендации о том, как и что делать, или, наоборот, чего не делать, когда отправляют Git коммиты для слияния с проектами в OpenStack.


Эта тема может быть разделена на две области:


  1. Порядок объединения или разбиения на несколько коммитов
  2. Информация в сообщениях коммитов
Читать дальше →

Да, Python медленный, но меня это не волнует

Reading time9 min
Views77K
Разговоры о снижении производительности ради продуктивности.


Я беру паузу в моём обсуждении asyncio в Python, чтобы поговорить о скорости Python. Позвольте представиться, я — ярый поклонник Python, и использую его везде, где только удаётся. Одна из причин, почему люди выступают против этого языка, — то, что он медленный. Некоторые отказываются даже попробовать на нём поработать лишь из-за того, что «X быстрее». Вот мои мысли на этот счёт.
Читать дальше →

Как я поголодал 5 дней и узнал много нового о липидном метаболизме

Reading time7 min
Views304K
В комментариях к моим постам об ограничении калорий (1, 2) пару раз прозвучала мысль, что было б неплохо, если бы я привел данные по исследованиям и многдневного полного голодания. Что ж, попытаюсь.

Скажу сразу, что в сети очень много восторженных отзывов о том, как кому-то помогло длительное голодание (1, 2, 3). Отрицательных же (или хотя бы нейтральных) в разы меньше. Думаю, тут дело не только в мега-полезности голодания, но и в reporting bias — те, кому от голодания стало хуже, не особо горят желанием делиться опытом: ведь мало того, что неприятно рассказывать о своих неудачах, так еще и есть риск оскорбить религиозные чувства адептов голодания, которые расскажут, что ты всё делал неправильно, и вообще врёшь.


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

SMF — управление сервисами в Solaris

Reading time13 min
Views19K
Прочитав недавно статью «Собираем пакет для Solaris из сорцов» я понял, что функционал SMF вообще никак не освещен на Хабре.
Давайте исправим эту ситуацию и посмотрим что из себя представляет SMF и какие преимущества он дает администраторам.

Введение


Service Management Facility (SMF) — система управления сервисами, которая появилась в Solaris 10. SMF позволяет более гибко управлять процессами, назначать им зависимости и перезапускать при необходимости. В дополнение к этому SMF позволяет делегировать права управления сервисами обычным (non-root) пользователям.
Для управления SMF достаточно «всего» трех команд:
  • svcs — проверяет состояние сервисов,
  • svcadm — управление состоянием сервисов,
  • svccfg — настройка параметров сервиса.

Попробуем разобраться с управлением SMF на примере добавления собственного сервиса.
Недавно мне понадобился nginx под Solaris, пришлось собрать пакет и интергрироваться в общую систему сервисов — на его примере и подсмотрим как может быть оформлен сервис для управления через SMF.
Читать дальше →

Анонимность в Tor: что нельзя делать

Reading time18 min
Views531K

Посещать собственный сайт в анонимном режиме


«Интересно, как выглядит мой сайт, когда я анонимный?» [1]

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

Такое поведение ведёт к утечке анонимности, поскольку после посещения веб-сайта вся схема Tor становится «грязной». Если сайт малопопулярен и не получает много трафика, то выходные узлы Tor могут быть почти уверены, что посетитель этого сайта — владелец сайта. С этого момента разумно предположить, что последующие соединения с этого выходного узла Tor тоже идут с компьютера этого пользователя.

Источник: [2]
Читать дальше →

Cбор логов с rsyslog, именами файлов в тегах, многострочными сообщениями и отказоустойчивостью

Reading time17 min
Views187K

image


Изображение с сайта oxygen-icons.org


Задача


Передавать лог-файлы на центральный сервер:


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

Условия: в инфраструктуре используются только Linux-сервера.

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

Большинство частиц распадается, а некоторые — нет

Reading time9 min
Views19K
Хотя большинство частиц дезинтегрируются, или распадаются, на другие частицы, некоторые из них так себя не ведут. Но почему?

В мире есть много типов частиц, часть из них выглядит элементарными, другие можно построить из элементарных – к примеру, протоны, нейтроны и атомное ядро – но большинство из них распадаются за малую долю секунды. В предыдущей статье я объяснил, почему они распадаются; на самом деле это форма рассеивания, о которой мы имеем интуитивное представление, происходящее из нашего опыта, связанного с волнами и вибрациями. Но почему же несколько типов частиц вообще не распадаются, или, по крайней мере, живут гораздо дольше, чем 13,7 миллиардов лет, дольше возраста Вселенной?

Единственные из известных в природе стабильных частиц – это электрон (и антиэлектрон), легчайший из трёх типов нейтрино (и его античастица), фотон, и предполагаемый гравитон (оба последних являются античастицами сами себе). Другие нейтрино, протон и множество атомных ядер (и их античастиц – тут я прекращаю упоминание античастиц, оно будет подразумеваться), вероятно, нестабильны, но живут очень, очень, очень долго. Протоны, например, живут так долго, что с Большого взрыва их распалось очень малое количество, так что со всех практических точек зрения они стабильны. Другая долгоживущая частица – это нейтрон, который сам по себе, вне атомного ядра, живёт всего около 15 минут. Но внутри атомных ядер нейтроны могут жить дольше возраста Вселенной. Наконец, стоит добавить, что если тёмная материя состоит из частиц, тогда эти частицы тоже должны быть стабильными или очень, очень долгоживущими.
Читать дальше →

Бюджетная (и городская) deep sky астро фотография

Reading time2 min
Views22K

Андромеда. Не из города, но и без телескопа.

Для того, чтобы фотографировать deep sky объекты нужна и дорогая техника (телескопы с большим зеркалом, маунт с двигателем и т.д.) и выезд за город — там, где нет засветки.

А что делать тем, у кого нет денег на дорогую технику, нет места на хранение 10 дюймовых рефлекторов и нет времени регулярно ездить в пустыню?

Я вот и пытаюсь понять, что делать в таком случае, когда снимать Deep Sky (т.е. туманности, галактики звездные скопления) очень хочется.

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

Skytracker надевается на штатив, а уже на него надевается штативная головка.
Ориентируешь его на полярную звезду, включаешь двигатель и он поворачивает камеру на штативной головке так, как вращается Земля.
Читать дальше →

Почему рискованно запрещать детям заниматься рискованными вещами

Reading time14 min
Views59K
В прошлой статье серии, посвящённой причинам и следствиям современного тренда, развивающегося в сторону чрезмерной родительской опеки, мы исследовали правдивость главной причины, по которой родители всё сильнее опекают детей и отказываются от метода «свободных прогулок», по которому росли они сами: что сегодняшний мир стал опаснее, чем был ранее.

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

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

Это можно было бы считать разумным подходом к воспитанию ребёнка, если бы такая чрезмерная бдительность не приводила бы к своим собственным рискам и недостаткам. Но, к сожалению, у этой бдительности есть недостатки.
Читать дальше →

Что намазать на зубы, чтобы они не выпали

Reading time8 min
Views194K


Хорошо зафиксированный пациент в анестезии не нуждается

По многочисленным просьбам трудящихся сегодня мы будем заниматься очень важными вопросами:


  • Как правильно мазать зубы пальцем?
  • Хорошо ли растворяются пломбы в кислоте?
  • Почему больно, когда сверлят зубы дрелью без анестезии?
  • Зачем мазать зубы зеленкой?
  • Лечение кариеса на дому
  • Глубокое микрофторирование эмали

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

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

The uWSGI Spooler

Reading time3 min
Views7.5K


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


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


К счастью, есть альтернативное решение — uWSGI Spooler, и в этой статье я расскажу о нём подробнее.


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

О том, как в Instagram отключили сборщик мусора Python и начали жить

Reading time8 min
Views47K
Отключив сборщик мусора Python (GC), который освобождает память, отслеживая и удаляя неиспользуемые данные, Instagram стал работать на 10% быстрее. Да-да, вы не ослышались! Отключив сборщик мусора, можно сократить объем потребляемой памяти и повысить эффективность работы кэша процессора. Хотите узнать, почему так происходит? Тогда пристегните ремни!

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

WannaCry: анализ, индикаторы компрометации и рекомендации по предотвращению

Reading time9 min
Views91K
В прошлую пятницу, аккурат под конец дня, когда все администраторы и специалисты по безопасности засобирались по домам и дачам, мир облетела новость о начале беспрецедентной атаке WannaCry. По истечении пары дней уже можно сказать, что не зря название этой атаки ассоциируется с песней Кита Урбана «Tonight I Wanna Cry» («Сегодня я хочу плакать»). Ее масштабы оказались достаточно зловещими — на момент написания число жертв превысило 230 тысяч и это число может вырасти, когда многие вернутся с выходных и отпусков и включат свои домашние и рабочие компьютеры. Мы, в нашем подразделении Cisco Talos, еще в пятницу опубликовали свое исследование данной вредоносной программы и сейчас хотели бы поделиться отдельными ключевыми моментами с пользователям Хабра.

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

Information

Rating
Does not participate
Location
Красногвардейское, Адыгея, Россия
Date of birth
Registered
Activity