Как стать автором
Обновить
-21
Сергей @Nilpferd read⁠-⁠only

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

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

Что делать, если украли смартфон

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


Евгений (MalDeckard) Черешнев поделился личным опытом и написал исчерпывающий гайд, который может помочь многим людям и предостеречь от последствий:

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

Справедливости ради, большинство воров уже в курсе того, что каждый смартфон — это, по сути, радиомаяк, по которому всегда можно укравшего отследить. Поэтому они редко оставляют его включенным — практически сразу достают и выбрасывают SIM-карту, сам телефон вырубают и сдают на запчасти за копейки. Что крайне обидно — ибо шансы того, что, например, мой iPhone 12 Pro Max 512 банально разберут на экран, аккумулятор и несколько особо востребованных микросхем — стремятся к 100%. То есть, вор украл крайне дорогой девайс, а получит за него или хрен или (если он идиот) — срок. Но это не всегда так. Иногда можно получить реально грузовичок и тележку проблем. Во-первых, в ряде типов краж (как в моем случае) телефон попадает в руки плохого парня в разлоченном состоянии и есть риск, что злоумышленник девайс специально не залочит — будет держать его активированным и извлекать из него максимальную пользу, на что у него будет в теории до 24ч (после чего сработает система защиты в заводских настройках и снова попросит ввести пин-код, даже, если телефон до сих пор разлочен).
Читать дальше →
Всего голосов 167: ↑157 и ↓10 +147
Комментарии 486

Git для новичков (часть 1)

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

Git - это консольная утилита, для отслеживания и ведения истории изменения файлов, в вашем проекте. Чаще всего его используют для кода, но можно и для других файлов. Например, для картинок - полезно для дизайнеров.

С помощью Git-a вы можете откатить свой проект до более старой версии, сравнивать, анализировать или сливать свои изменения в репозиторий.

Читать далее
Всего голосов 18: ↑11 и ↓7 +4
Комментарии 10

Нормальный алгоритм Маркова для деления чисел

Время на прочтение 3 мин
Количество просмотров 29K
Добрый день. Хотелось бы поделиться с Вами очень интересным вариантом ненормального прграммирования — составлением нормальных алгоритмов Маркова. Этот вариант программирования может служить великолепным умственным отдыхом от привычных языков и сред программирования.
Студенты, которых я имею возможность учить, кричат криком, что это сложно, но только до первого собственными руками сделанного рабочего алгоритма, потом это перетекает в очень интересные алгоритмические задачки.
Собственно, к теме этого поста: наша задача написать нормальный алгоритм Маркова для деления двух целых чисел с точностью 4 знака после запятой(для задания чисел пользуемся унарной системой исчисления). Например, вход: |/||||, выход: 0.25.
При этом у нас есть только одна операция — замена одной подстроки в исходной строке на другую. Кому интересно что это такое и как это работает — добро пожаловать под кат.
Читать дальше →
Всего голосов 62: ↑53 и ↓9 +44
Комментарии 35

Чек-лист по настройке инфраструктуры для повышения скорости работы 1С  с  MS SQL (особенно важно в облаках)

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

При размещении 1С в облачной инфраструктуре и среде виртуализации наиболее важными и непростыми задачами являются повышение скорости работы платформы «1С» и настройка СУБД. Для достижения максимальной производительности инфраструктуры 1С рекомендуется правильно выбирать архитектуру инфраструктуры, режимы работы, проверить и выполнить ряд важных настроек:

Читать далее Чек-лист
Всего голосов 11: ↑10 и ↓1 +9
Комментарии 35

Взять, разобраться и настроить свой домашний кинотеатр: 10 экспертных обзоров и руководств

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

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

Читать далее
Всего голосов 14: ↑10 и ↓4 +6
Комментарии 1

Почему в мозгах есть баги?

Время на прочтение 14 мин
Количество просмотров 7.6K
Когда мы используем любую программу, у нас есть две причины для получения неправильных результатов:

  • Неправильные/недостаточные входные данные. Если на входе программа получает бред, на выходе мы тоже получим бред, даже если внутри все отработало идеально. Такой концепт называется Garbage In, Garbage Out. Исправить это мы не сможем — проблема не в программе.
  • Из правильных данных мы получили неправильный ответ. Тогда мы считаем, в программе есть баг и пытаемся его чинить.

Тоже самое можно сказать и про нас.

Иногда необходимая информация — отсутствует и мы не можем предотвратить ошибку.
Например, мы даем оценку времени на решение какого-то списка задач. В процессе оказывается, что список должен был быть в 3 раза больше. Ожидаемо, что наша первая оценка будет ошибочна. От нас здесь ничего не зависело. Garbage In — Garbage Out.

Но если мы уже 20 раз подряд наблюдали как количество задач вырастает в 3 раза от начального, странно предполагать, что на 21-й раз все пойдет как по маслу.

Если бы моя программа 20 раз подряд выдала результат, который не совпал с реальностью, я бы предположил, что с ней что-то не так. Зачем она мне, если при ее использовании я все равно получаю неверный ответ? Она должна учитывать факт, что количество задач может вырасти. Ее надо починить и адаптировать к таким условиям работы.

Когда я наблюдаю такую ошибку за собой — я делаю тот же вывод.

Ситуация, описанная выше — называется «Ошибкой планирования». Она — один из пунктов большого списка «Когнитивных искажений». На эту тему много статей, книг, ресурсов — но ни один из них не ответил на мой простой вопрос: «Откуда ошибки берутся и как лучше их исправлять?». Что не так с мозгом, что он предсказуемо выдает неверные результаты? Как накатить на это патч? Если так нельзя, то где подпирать костылями?

Я начал изучать основные принципы работы мозга, чтобы выяснить на каком этапе возникают ошибки, чем они обусловлены и как лучше их чинить.
Читать дальше →
Всего голосов 14: ↑12 и ↓2 +10
Комментарии 20

DBA: находим бесполезные индексы

Время на прочтение 12 мин
Количество просмотров 18K
Регулярно сталкиваюсь с ситуацией, когда многие разработчики искренне полагают, что индекс в PostgreSQL — это такой швейцарский нож, который универсально помогает с любой проблемой производительности запроса. Достаточно добавить какой-нибудь новый индекс на таблицу или включить поле куда-нибудь в уже существующий, а дальше (магия-магия!) все запросы будут эффективно таким индексом пользоваться.

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

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

Доработки происходят итеративно силами множества распределенных команд, которые бывают разнесены не только в пространстве, но и во времени. И тогда, не зная всей истории развития проекта или особенностей прикладного распределения данных в его БД, можно легко «напортачить» с индексами. Но соображения и проверочные запросы под катом позволяют заранее предсказывать и обнаруживать часть проблем:

  • неиспользуемые индексы
  • префиксные «клоны»
  • timestamp «в середине»
  • индексируемый boolean
  • массивы в индексе
  • NULL-мусор
Читать дальше →
Всего голосов 19: ↑19 и ↓0 +19
Комментарии 6

Эпигенетические часы старения — а всё-таки, они тикают!…

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


Что такое эпигенетические часы я когда-то уже писал. Если вкратце, на сегодняшний день это лучший показатель биовозраста, который точнее паспорта отражает, сколько нам осталось жить. Почему эпичасы так важны? Потому что я считаю, что старение — это эпигенетическая программа. Кто-то называет это моё убеждение религиозным. Да без проблем, готов считать этот тезис своим «Символом веры». Ну или «Символом Юры» — верую, что старение есмь эпигенетическая программа и чаю её взлом.

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

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

При этом наблюдается и обратный процесс: некоторые совсем ненужные нам гены, такие как вредоносные ретротранспозоны, в раннем возрасте не просто выключены, а находятся за семью печатями, но к определённому моменту печати почему-то распечатываются и эта «пятая колонна» начинает свою активность, подвергая бомбардировке наши гены своими копиями. Это приводит к гиперактивации врождённого иммунитета, то есть к пресловутому «инфламэйджингу» — стерильному возрастному воспалению, — которое поголовно наблюдается у пожилых людей и животных.
Читать дальше →
Всего голосов 75: ↑71 и ↓4 +67
Комментарии 104

Функциональное программирование: дурацкая игрушка, которая убивает производительность труда. Часть 1

Время на прочтение 10 мин
Количество просмотров 87K
Возможно, вы уже слышали о так называемом «функциональном» программировании. Возможно, вы даже подумываете о том, что вам стоит его как-нибудь попробовать.

Ни в коем случае этого не делайте!



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

▍→ Часть 2
Читать дальше →
Всего голосов 168: ↑100 и ↓68 +32
Комментарии 403

Информация

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