Как стать автором
Поиск
Написать публикацию
Обновить
47
0
Сергей Бронников @estet

Пользователь

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

Баг в софте автомобилей Land Rover приводит к самопроизвольному отпиранию дверей

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


Автопроизводитель Land Rover отзывает более 65 000 автомобилей, чтобы исправить программный баг, который приводит к самопроизвольному отпиранию дверей автомобиля. При этом водитель не увидит никакого оповещения об открытии двери на приборной панели.

Ошибка обнаружена на автомобилях Range Rover и Range Rover Sport, выпущенные начиная с 2012 года. Автопроизводитель заявил о том, что неисправность компьютерной системы не приводила к каким-либо инцидентам или травмам.

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

Хабр умирает?

Время на прочтение2 мин
Количество просмотров108K
Я люблю писать тексты по мотивам проектов, которыми занимаюсь. За последний год я разместил на Хабре больше 20 постов. Меня постоянно удивляло, как мало толковых комментариев удаётся здесь получить. Просмотров много, а комментариев мало и большинство не по делу. Недавно я начал замечать, натыкаясь на старинные посты за 2012, 2013 годы, что в них обсуждение, как будто, более содержательное. Решил проверить это количественно. Скачал инфу по всем постам за все годы и построил несколько простых графиков. То что я увидел меня удивило и даже немного испугало. Решил разместить наблюдения здесь, чтобы проверить правильные ли я делаю выводы и всё ли учёл.

Для всех опубликованных на Хабре постов я собрал даты публикаций, число просмотров, число лайков и дислайков, число звёздочек и комментариев, список хабов и названия блогов компаний. В ходе прокачки узнал, что число плюсиков и минусиков может быть дробным и даже отрицательным, пост может быть опубликовал в блоги нескольких компаний и может не иметь автора. Если что, таблицу можно скачать из репозитория: github.com/alexanderkuk/analyze-habr/blob/master/data/posts.csv



Первым делом я посмотрел как менялось общее число постов со временем. Оно перестало расти в 2013 и немного падает с 2014, что уже немного тревожно:



Потом я построил такой же график для суммарного числа просмотров и испугался. С 2014 оно упало в 3.5 раза:


Это серьёзное утверждение, поэтому я решил свериться с Similarweb.
Читать дальше →

Исследуем китайские роутеры на RT5350

Время на прочтение7 мин
Количество просмотров140K
Однажды, lolipop купил роутер на алиэкспрессе. Да не простой роутер, а очень компактный и дешевый, с 2 Ethernet-портами, USB, да еще и от фирмы, которая в начале 2000-х продавала свои mp3-плееры на территории РФ: Nexx WT1520H.
image
Стандартная прошивка, как и почти всегда, была скудная, и, конечно же, хотелось заменить ее на что-то более вменяемое. Но вот незадача — никаких альтернативных прошивок под роутер нет, и прошить непонятно как, т.к. никакие другие прошивки не принимались через веб-интерфейс, заголовок прошивки я раньше такой не видел, да и binwalk ничего в ней не находил, стало быть, она зашифрована:
00000000  32 33 35 30 6b d9 39 00  00 00 0e 02 00 00 00 00  |2350k.9.........|
00000010  00 00 00 00 00 00 00 00  00 00 00 00 3e 19 53 c5  |............>.S.|
00000020  63 f5 51 9f 82 74 2d 03  2e 2f 1f 32 9c 4a 93 96  |c.Q..t-../.2.J..|
00000030  15 82 23 d0 b2 7e d7 1b  13 c3 1b 1f 06 fa f8 e0  |..#..~..........|
00000040  bb 43 9b c6 ee fc 4b 7a  e6 50 71 2b f4 f3 95 c3  |.C....Kz.Pq+....|
00000050  63 d0 a3 9c 92 2e 16 c6  19 1c 4a 93 cb 95 c3 63  |c.........J....c|
00000060  d2 9b 1a f5 2e 16 c6 19  1c 4a 93 f9 68 3c 9c 73  |.........J..h<.s|
00000070  14 63 d5 10 5e d3 6b 25  2b c2 2e 07 eb 85 73 25  |.c..^.k%+.....s%|
00000080  9b 6b c0 f2 d8 9b cf 65  56 ac a9 c2 28 61 dd 55  |.k.....eV...(a.U|
00000090  18 a4 5b e9 ba 11 93 ec  30 76 4f 40 c1 f0 7c cb  |..[.....0vO@..|.|
000000a0  36 d3 b3 93 fe 3d 6b 10  66 fa 43 39 f2 f6 c0 91  |6....=k.f.C9....|

lolipop слил данные с флешки через программатор, и мы начали в них ковыряться.
Читать дальше →

Быстрая сборка образов ОС с помощью Packer

Время на прочтение4 мин
Количество просмотров43K
Repetitio est mater studiorum
Старинная латинская пословица

Если вам периодически приходится собирать образы операционных систем на базе Linux для разных сред виртуализации или даже облаков, или, тем более, вы пользуетесь Vagrant, то вам стоит взглянуть на новый инструмент от Митчела Хашимото (это создатель Vagrant) — Packer.

Packer — это инструмент для создания одинаковых образов ОС для различных платформ из одного описания.

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

Минималистичная программа в формате ELF

Время на прочтение6 мин
Количество просмотров22K
Вдохновившись статьёй Привет из свободного от libc мира, я так же решил проделать нечто подобное. Чтобы не заниматься этим бесцельно, я решил поставить перед собой следующую задачу. Сделать программу, выводящую какую-нибудь простую строку, вроде «ELF, hello!». Разобраться с тем, как именно она будет представлена в исполняемом файле. Ну и попутно, постараться уложиться в 100 байт.
Читать дальше →

Сделано в МТИ: система контроля версий Gitless

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

Все вы знаете систему Git. Хотя бы слышали — это наверняка. Разработчики, которые пользуются системой, ее или любят, или ругают за сложный интерфейс и баги. Система управления версиями Git де-факто является стандартом в индустрии. У разработчика могут быть мнения о преимуществах Mercurial, но чаще всего приходится мириться с требованием уметь пользоваться Git. Как у любой сложной системы, у нее множество полезных и необходимых функций. Однако, до гениальной простоты добираются не все, поэтому существующая реализация оставляла пространство для совершенствования.

Простыми словами — мудреным приложением было трудно пользоваться. Поэтому в лаборатории Массачусетского Технологического Института взялись за улучшения и отсекли все «проблемные элементы» (ведь то, что для одного проблема, для другого легко может быть преимуществом). Улучшенную и упрощенную версию назвали Gitless. Её разрабатывали с учетом 2400 вопросов, связанных с Git и взятых с сайта разработчиков StackOverflow.

Команда авторов вычленила самые проблемные места в Git, включая две концепции staging и stashing. Затем они предложили изменения, призванные решить известные проблемы.
Читать дальше →

Что случилось, когда мы устали смотреть на графики 5 000 серверов в мониторинге (и когда серверов стало более 10 000)

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


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

Точнее, не так. Когда в седой древности появился примерно 20-й сервер, стали использовать Big Brother — простейший мониторинг, который просто собирает статистику и показывает её в виде мелких картинок. Всё очень, очень просто. Ни приблизить, ни как-то ввести диапазоны допустимых изменений нельзя. Только смотреть картинки. Вот такие:


Два инженера тратили по одному рабочему дню в неделю, просто отсматривая их и ставя тикеты там, где график показался «не таким». Понимаю, звучит реально странно, но началось это с нескольких машин, и потом как-то неожиданно доросло до 5000 инстансов.

Поэтому мы сделали новую систему мониторинга — и сейчас на работу с 10 тысячами серверов тратим по 1-2 часа в неделю на обработку алертов. Расскажу, как это устроено.
Читать дальше →

Как работает реляционная БД

Время на прочтение51 мин
Количество просмотров559K
Реляционные базы данных (РБД) используются повсюду. Они бывают самых разных видов, от маленьких и полезных SQLite до мощных Teradata. Но в то же время существует очень немного статей, объясняющих принцип действия и устройство реляционных баз данных. Да и те, что есть — довольно поверхностные, без особых подробностей. Зато по более «модным» направлениям (большие данные, NoSQL или JS) написано гораздо больше статей, причём куда более глубоких. Вероятно, такая ситуация сложилась из-за того, что реляционные БД — вещь «старая» и слишком скучная, чтобы разбирать её вне университетских программ, исследовательских работ и книг.

На самом деле, мало кто действительно понимает, как работают реляционные БД. А многие разработчики очень не любят, когда они чего-то не понимают. Если реляционные БД используют порядка 40 лет, значит тому есть причина. РБД — штука очень интересная, поскольку в ее основе лежат полезные и широко используемые понятия. Если вы хотели бы разобраться в том, как работают РБД, то эта статья для вас.
Читать дальше →

Использование опыта тестирования реляционной СУБД для технологии NoSQL

Время на прочтение5 мин
Количество просмотров10K
Tarantool — это открытое, высокопроизводительное хранилище данных. Такие характеристики системы, как простота и производительность, во многом определяют область её применимости. На шкале решений для хранения данных Tarantool находится где-то посередине между традиционными реляционными системами, такими как MySQL, и решениями для кэширования данных, такими как memcached. В основе системы лежит персистентное хранилище данных, полностью отображённое в оперативную память, и высокопроизводительные индексы для доступа к данным на основе хэшей и бинарных деревьев.

В мои первые месяцы работы над Tarantool я попытался создать инструментарий тестирования, похожий на тот, что был в моём предыдущем проекте с открытым исходным кодом — MySQL.
Читать дальше →

Тысячелетние фичи карт

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


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

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

Сегодня решим, получилось ли спустя столетия приблизиться к канонической схеме отражения мира.
Читать дальше →

В меру Универсальное Устройство Управления на Raspberry Pi + stratum1 NTP-сервер

Время на прочтение4 мин
Количество просмотров22K
Всем привет.
$(любая картинка с баяном)

Disclaimer: я в курсе, что уже существует 1000+1 реализация stratum1 NTP-серверов на RasPi. Моя будет тысячевторой. Но всё равно очень хочется о ней поведать, тем более что в результате получилось устройство, которое (а) можно смонтировать в стойку, (б) выполняет чуть больше задач, нежели просто NTP-сервер, (в) потребовало некоторых затрат труда, который вполне может быть оценен публикой
Читать дальше →

Как я читал показания датчиков через SNMP (Python+AgentX+systemd+Raspberry Pi) и соорудил ещё одну мониторилку

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

image

Лирическое отступление
Статья лежит в черновиках уже пару недель, потому как не было времени таки допилить описываемый объект. Но под натиском товарищей, которые своими статьями уже покрыли половину того, что я сказать хотел, решил последовать принципу «release fast, release early, release crap» и опубликовать то, что есть. Тем более, что разработка на 80% закончена.

С момента публикации статьи про «В меру Универсальное Устройство Управления» прошло немало времени (а если быть точным, больше года). Немало, но недостаточно много, чтобы я таки написал нормальную программную начинку для этого устройства. Ведь не для красоты ж оно есть — оно должно собирать данные с датчиков и делать так, чтобы эти данные оказывались в системе мониторинга (в моём случае Zabbix)
Читать дальше →

MariaDB на Google Summer of Code: Итоги GSoC16

Время на прочтение7 мин
Количество просмотров5.5K
Несколько запоздалый отчет про MariaDB, наши проекты на последнем GSoC, наших студентов, королей и капусту.

Прошлый — 2015-й — GSoC у нас получился очень неудачный. Всего было восемь студентов, но многие провалились еще в середине лета (на midterm evaluation), причем трое были из одного университета в Камеруне (и явно с одного курса), с прекрасными заявками, но они дружно не сделали ничего, от слова «совсем», ну, может одну строчку комментария подправили за полтора месяца. А после провала на midterm они пытались опротестовать наше решение в Google, и даже прислали нам письмо с туманными угрозами. Мол, нехорошо столько студентов проваливать, имидж себе портить, в следующем году Google мест не даст.

Но Google их не послушался и дал. И этот год, наверное по контрасту, получился на редкость удачный.
Читать дальше →

Автоматизация тестирования вебсайта: Pytest, Allure, Selenium + несколько секретных ингредиентов

Время на прочтение5 мин
Количество просмотров19K
Уже больше года у Acronis новый логотип, о том, как он создавался можно прочитать тут. В рамках ребрендинга обновился и сайт www.acronis.com. Для построения сайта мы выбрали CMS Drupal. Сайт получился классный снаружи и непростой внутри: 28 локалей (!), отзывчивый веб-дизайн, карусели, визарды, всплывающие окна… в итоге пришлось задействовать множество различных модулей друпала, некоторые из них кастомизировать и писать собственные. При работе такой динамичной, сложной системы неизбежны ошибки. Их предотвращением и выявлением занимается команда контроля и обеспечения качества вебсайта. В этой статье мы хотим поделиться своим успешным рецептом автоматизации тестирования нашего сайта.


Добро пожаловать под кат!

Сисадмин с манией автоматизации и большая переделка процессов

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


Пару недель назад в ИТ-отдел зашла сотрудница из опта и попросила доделать мелкую фичу к своему рабочему месту. Заявку вполне ожидаемо поставили в очередь.

Девушка немного обиделась и сказала:
— Это у вас сейчас несезон, и уже не успеваете. Посмотрю я на вас, что тогда к новому году будет!

Предполагалось, что под новогодний раш ИТ-отделу с такой постановкой дел хана. Никто не объяснил милой девушке, что сезон у нашего ИТ приходится на лето. Потому что потом, когда наступит сезон у розницы, будет вообще поздняк метаться.

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

Дональд Кнут и «Сюрреальные числа»: Я творил шесть дней, а на седьмой отдыхал (40,41,42/97)

Время на прочтение9 мин
Количество просмотров24K
«Эксперты по computer science сказали бы, что я допустил самую огромную ошибку, когда взялся за этот проект.»

image

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

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

Стоит ли программисту ехать в Корею работать в Samsung (часть II)

Время на прочтение11 мин
Количество просмотров47K
Мне показалось, что в первой части о специфики жизни Кореи я писал слишком негативно. Но затем дал почитать статью друзьям, которые жили или живут в Корее и они сказали, что все ок… Мол, это еще демократично.

Оборачиваясь назад и смотря на мои 2+ года в этой азиатской стране, я в целом считаю их не самыми продуктивными. На ум приходит много печального опыта от ужасного корейского национализма до невозможности получить нормальную задачу на работе. Но стоит отметить, что я очень активный по жизни человек и если бы все было плохо, я бы уехал оттуда через несколько месяцев. Значит, что-то меня там держало.
Читать дальше →

Цвета в web-дизайне: Выбор правильного сочетания для вашего сайта

Время на прочтение6 мин
Количество просмотров383K
Цвета в web-дизайнеЦвет, безусловно, является важным источником эмоции. Цвета могут устанавливать правильный тон и передавать необходимые эмоции посетителям, могут взволновать, вызвать множество чувств и стимулировать к действиям. Он является чрезвычайно мощным фактором воздействия на пользователей.
Читать дальше →

Пара слов об интернационализации приложений

Время на прочтение12 мин
Количество просмотров46K
Я давно регулярно читаю Хабр и заметил, что здесь довольно мало внятных статей о локализации ПО, ориентированных на разработчиков. По своему опыту управления проектами локализации я могу сказать, что локализация — это не только перевод строк и адаптация приложения к контексту той или иной страны, но и постоянное противоборство (в идеальных случаях — равноправное взаимодействие) с разработчиками.
В этой статье я постараюсь на примере показать, как можно создать так называемый localization-friendly code, то есть, организовать ресурсы таким образом, чтобы существенно облегчить локализацию приложения, снизив избыточные временные и финансовые затраты.
Сразу же оговорюсь, что речь пойдёт в первую очередь об интернационализации, то есть, об учёте всех лингвистических особенностей на этапе разработки. Если же ресурсы вашего проекта изначально не подразумевали локализацию, а впоследствии вы решились на неё, то их «затачивание» под локализацию может выйти намного дороже, чем доход от неё.



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

Как применение кодов избыточности в SDS помогает Яндексу дёшево и надёжно хранить данные

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

Яндекс, как и любая другая большая интернет-компания, хранит много, а точнее очень много данных. Это и пользовательские данные из разных сервисов, и намайненные сайты, и промежуточные данные для расчёта погоды, и резервные копии баз данных. Стоимость хранения ($/ГБ) — один из важных показателей системы. В этой статье я хочу рассказать вам про один из методов, который позволил нам серьезно удешевить хранилище.




В 2015 году, как вы все помните, сильно вырос курс доллара. Точнее, расти-то он начал в конце 2014-го, но новые партии железа мы заказывали уже в 2015-м. Яндекс зарабатывает в рублях, и поэтому вместе с курсом выросла и стоимость железа для нас. Это заставило нас в очередной раз подумать о том, как сделать, чтобы в текущий кластер можно было положить больше данных. Мы такое, конечно, делаем регулярно, но в этот раз мотивация была особенно сильной.


Каждый сервер кластера предоставляет для нас следующие ресурсы: процессор, оперативную память, жёсткие диски и сеть. Сеть здесь — более сложное понятие, чем просто сетевая плата. Это ещё и вся инфраструктура внутри дата-центра, и связность между разными дата-центрами и точками обмена трафиком. В кластере для обеспечения надёжности применялась репликация, и суммарный объём кластера определялся исключительно через суммарную ёмкость жёстких дисков. Нужно было придумать, как обменять оставшиеся ресурсы на увеличение места. Кстати, если после поста у вас останутся вопросы, которые бы вы хотели обсудить лично, приходите на нашу встречу.


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

Информация

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