Как стать автором
Обновить
5
0

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

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

Бобры-п[р]огромисты

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров14K

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

Бобер-HRобер: я увидела как грызете дерево в соседнем лесу, не хотите перебраться к нам? У нас деревья синие и потолще ваших, зеленые деревья нынче не в моде.
Бобер-погромист: хм, наверное нет, толщина текущих деревьeв меня устраивает.

Бобер-HRобер: ну вы всё-таки приходите, мы заложили пару делянок, где самые опытные бобры будут распиливать очень старую монолитную сосну с ветками длиной 98 см, на доски очень модной нынче длины 23 см, а еще у вас также будет возможность повлиять на толщину досок длиной 26 см.
Бобер-погромист: а вот это интересно, отправляйте соловья.

Через неделю, на комфортабельной полянке где-то в синем лесу.

Senior-Бобер: Итак, вы считаете себя хорошим бобром?
Бобер-погромист: Всё верно. Грызу деревья разной толщины уже лет двадцать.

Lead-Бобер: А ветки какой длины предпочитаете?
Бобер-погромист: Ветки 17см самые вкусные

Бобры идут, бобрам дорогу!
Всего голосов 93: ↑82 и ↓11+89
Комментарии27

Разбираемся со считыванием и записью магнитных домофонных ключей

Время на прочтение19 мин
Количество просмотров36K
Приветствую всех!

Мы уже давно привыкли, что самыми распространёнными типами домофонных ключей являются Touch Memory (iButton) и EM-Marine. Набирают популярность Mifare и различные проприетарные решения в формате Touch Memory. Но, конечно, так было далеко не всегда.



Итак, в сегодняшней статье поговорим о той эпохе, когда возможность размагничивания ключей от подъезда была не городской легендой, а суровой реальностью. Узнаем, как работали такие домофоны, как устроены подъездные домофонные сети, как считывать и записывать такие ключи. Традиционно будет много интересного.
Читать дальше →
Всего голосов 66: ↑66 и ↓0+66
Комментарии68

Всё про USB-C: механика разъёмов

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров35K

Бывает два случая, в которых электронщикам приходится задумываться о механике разъёмов USB-C. Первый связан с поломкой разъёма, а второй с потребностью его установки на собственную плату. В этой статье мы разберём оба.
Читать дальше →
Всего голосов 55: ↑53 и ↓2+75
Комментарии56

Эпические баги прошлого

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

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

Но иногда возникают такие ошибки, которым удалось укорениться в базовых системах: в процессорах, ядре ОС. Их обнаруживают не сразу и они имеют куда более критические последствия.

Читать далее
Всего голосов 56: ↑54 и ↓2+75
Комментарии89

Умещаем простую 16-битную VM в 125 строк Си

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

Это руководство предназначено для тех, кто только начинает изучение Си и хочет получить ценный опыт в области низкоуровневого программирования, а также понять внутреннее устройство виртуальных машин. К завершению статьи у нас будет рабочая регистровая виртуальная машина, способная интерпретировать и выполнять ограниченный набор инструкций ASM, плюс несколько дополнительных программ для тестирования ее работоспособности.
Читать дальше →
Всего голосов 56: ↑54 и ↓2+71
Комментарии21

Понимание утечек памяти в Java

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

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

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

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

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

Читать далее
Всего голосов 13: ↑11 и ↓2+9
Комментарии21

Странные вещи в Солнечной системе

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

Когда Илон Маск запустил в космос кабриолет, интернет наполнился возмущёнными комментариями неравнодушной общественности: что за глупая идея и к чему это бесполезная вещь в космосе? Лучше бы запустил что-нибудь полезное для науки! Однако до автомобиля Маска в космосе оказалось немало непонятных и, в общем, бесполезных вещей: грампластинка в межзвёздном пространстве, осколочное ядро на Луне, одноцентовая монета на Марсе, игрушки у Юпитера, и вообще непонятная загогулина в поясе астероидов…
Читать дальше →
Всего голосов 86: ↑85 и ↓1+115
Комментарии70

Скандал вокруг Хитмана и будущее DRM-free

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

На фоне проблем с доступностью социальной сети Facebook и взлома стриминговой платформы Twitch, новость о том, что из сервиса цифровой дистрибуции GOG была удалена Hitman — Game of the Year Edition, прошла незамеченной. А между тем это событие является одной из важнейших побед сообщества геймеров, хотя его значимость оценит далеко не каждый. Ведь, как бы громко это ни прозвучало, именно произошедшее 8 октября 2021 года определило то, как именно мы с вами будем играть в видеоигры на ПК в ближайшие годы.

Что же произошло?
Всего голосов 91: ↑86 и ↓5+107
Комментарии308

Чему нас может научить теорема о четырех красках в разработке ПО

Время на прочтение5 мин
Количество просмотров31K
Теорема о четырёх красках — это математическая формулировка, связанная с картами. Все примеры карт, которые я нашёл в Интернете, были слишком сложными для введения, поэтому я набросал собственный неказистый рисунок:


Если посмотреть под другим углом, то можно воспринимать её как граф — достаточно ужать все области до кругов и соединить круги, соответствующие соседним областям карты:


Теорема о четырёх цветах утверждает, что для разметки любого рисунка, похожего на мой, (или соответствующего ему графа) достаточно четырёх цветов, чтобы никакие соседние области не имели одинаковой раскраски. Это значит, что если мы возьмём карту США или Европы, даже со всеми этими причудливыми границами, и присвоим каждому штату или стране свой цвет, то для разметки всей карты будет достаточно четырёх цветов.

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

Первое, что поразило меня, как разработчика ПО: четыре цвета — это совсем мало. Кажется поразительным, что любой граф можно раскрасить всего четырьмя цветами; мне кажется, что если я нарисую графы некоторых из кодовых баз, с которыми я работал, где рёбрами будут соединены обменивающиеся данными объекты, то им запросто может потребоваться дюжина цветов.
Читать дальше →
Всего голосов 43: ↑43 и ↓0+43
Комментарии13

Светодиодные лампы Geniled

Время на прочтение3 мин
Количество просмотров8.7K
Светодиодные лампы Geniled не так часто встречаются в магазинах, но они стоят того, чтобы обратить на них внимание. Я протестировал 24 лампы этого бренда.



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

Бойтесь регистраторов, они могут разрушить бизнес. Или хотя бы попытаться

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

Жила-была одна подмосковная швейная фабрика. Ну она и сейчас жива, но так принято начинать рассказы. И было у неё несколько юридических лиц, ООО и ИП разные. Бухгалтерские тонкости, в которые вдаваться – себе дороже. И вся эта большая дружная семья работала вместе, принимала заказы, шила, собирала, развозила и в ус не дула. Это присказка, а сказка впереди.

Как-то раз погожим майским днём пришло на почту админу письмо, которое показалось настолько шуткой, что админ даже посмотрел на адрес отправителя в надежде, что это спам…
Читать дальше →
Всего голосов 117: ↑103 и ↓14+127
Комментарии241

Откровения трезвого инженера

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

Ответ на: Откровения пьяного старшего инженера

… Я выскажу свое мнение и значительно короче, наверное.

  1. Работа в нашей отрасли полностью построена на порочных стимулах.
  2. Лучший способ продвинуться по карьерной лестнице — это смена компании. Компании, в которых вы работаете, будут вознаграждать хорошую работу большей работой и ответственностью, а не большим количеством времени и/или денег. Компании, в которые вы переходите, вознаградят вашу предыдущую хорошую работу в других компаниях большими деньгами. На самом деле это не имеет смысла… См. Пункт №1.
  3. Каждый раз, когда я меняю работу, я сокращаю свои обязанности на 50% и увеличиваю зарплату на 50%. На моей первой работе я был очень раздражен, когда новые сотрудники, которые были на моем уровне квалификации, зарабатывали больше, чем я. Теперь другие старожилы в моей компании с таким же уровнем квалификации раздражаются, когда я зарабатываю намного больше, чем они (обратите внимание, что количество смен работы >= 3). На самом деле это не имеет смысла… См. Пункт №1.
Читать дальше →
Всего голосов 116: ↑101 и ↓15+124
Комментарии148

Повышаем качество кода с Dart Code Metrics

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

Dart Code Metrics — это инструмент статического анализа кода, который позволяет собирать метрики по коду и предоставляет дополнительные правила для анализатора. Основная задача — помогать разработчикам следить за качеством кода и улучшать его. В этой статье мы хотим поделиться возможностями инструмента с сообществом. Он помог нам в Wrike решить часть проблем на фронтенде, и, надеемся, поможет и вам.

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

Самый беззащитный — уже не Сапсан. Всё оказалось куда хуже…

Время на прочтение8 мин
Количество просмотров543K
{UPD 10.02.2021} Евгений Чаркин дал интервью на эту тему gudok.ru/newspaper/?ID=1552569
Под катом мои комментарии на некоторые тезисы.
{/UPD}

Больше года назад хабравчанин keklick1337 опубликовал свой единственный пост «Самый беззащитный — это Сапсан» в котором рассказывает как он без серьёзных ухищрений получил доступ ко внутренней сети РЖД через WiFi Сапсана.

В ОАО «РЖД» прокомментировали результаты этого расследования. «Есть результаты проверки. Почему удалось взломать? Наверное, потому, что злоумышленник. Наверное, из-за этого… Ну, он из „фана“. Юный натуралист. Там уязвимостей, которые бы влияли на утечку каких-то критических данных, нет. Мультимедийный портал „Сапсанов“ функционирует как положено и не нуждается в доработке», — заявил Евгений Чаркин.

То есть вместо того, чтобы выразить благодарность за обнаруженную уязвимость, автора обозвали «злоумышленником» и «Юным натуралистом».

К сожалению, но специалисты РЖД, начиная с директора по информационным технологиям, отнеслись к статье очень пренебрежительно, проигнорировав важное указание автора:
Также оттуда в сеть РЖД есть впн. Если захотите — найдёте её там сами.

И вот, год спустя я попал в сеть РЖД даже не садясь в Сапсан.



Видимо, только этот котэ добросовестно охраняет вокзал.

Как именно я попал в сеть РЖД с пруфами, чего не сделал директор по информационным технологиям ОАО «РЖД» Чаркин Евгений Игоревич и возможные последствия — под катом.
Читать дальше →
Всего голосов 1135: ↑1132 и ↓3+1447
Комментарии990

Ящики, усы и скрипки

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


Очень часто данные необходимо сравнивать. Например, у нас есть несколько рядов данных из какой-то области деятельности человека (промышленности, медицины, государственного управления, …), и мы хотим сравнить, насколько они похожи или, наоборот, чем одни показатели выделяются по сравнению с другими. Для простоты восприятия возьмем данные более простые, универсальные и нейтральные — высоту в холке и вес нескольких пород собак по сведениям Американского клуба собаководства (American Kennel Club). Данные по размерам пород в среднем можно найти здесь. Прибавим к ним функцию random.uniform из Python-библиотеки numpy, переведем дюймы в сантиметры, а фунты в килограммы, и вот мы получаем реалистично выглядящий набор данных по размерам собак нескольких пород, с которым можно работать. В нашем примере это чихуахуа, бигли, ротвейлеры и английские сеттеры.
Читать дальше →
Всего голосов 6: ↑6 и ↓0+6
Комментарии0

От поиска к исследованию документов в сетевых шарах и файловых помойках

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


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

Читать дальше →
Всего голосов 10: ↑9 и ↓1+8
Комментарии2

Пишем действительно тестируемый код

Время на прочтение18 мин
Количество просмотров18K
Что такое тестируемый код? Каких правил стоит придерживаться для его написания? Как начать писать такой код, если кодовая база к этому не готова?

Статья с большим количеством примеров кода и иллюстраций, в основе которой – выступление Антона на конференции Mobius 2017 в Питере. Антон является разработчиком Android-приложений в Juno, и в своей работе затрагивает множество смежных технологий. Этот доклад не об Android и не о Kotlin, он о тестировании в целом, об идеях, которые лежат над платформой и над языком и которые могут быть адаптированы к любому контексту.


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

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность