Как стать автором
Обновить
137
0
Mikhail @host_m

Хостинг серверов

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

Самый новый из металлов, все ещё — металл будущего

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

В 1825 году мир облетела несколько непонятная, но явно занятная новость: датский ученый Ганс-Христиан Эрстед сумел, используя метод электролиза, добыть из глинозема новый, доселе невиданный металл – алюминий.

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

Эрстед, однако, был нормальным ученым, а не жаждущим безумных богатств обывателем: добившись успеха в этом своем эксперименте, он планово занялся иными научными проблемами.
Говорят, что Эрстед был тогда в весьма преклонном возрасте – ему было 48 лет, и он был крайне чувствителен к расходу времени, которого ему вечно не хватало на его научную работу – в итоге имя свое он обессмертил не этим экспериментом (которому сам он не придал серьезного значения) и не возможным обогащением, а именно научной работой.
Читать дальше →
Всего голосов 40: ↑32 и ↓8+24
Комментарии71

Бэкдоры в наших смартфонах живут уже 20 лет. И это не последние подарки от государства

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

Оборудование для фальшивой базовой станции 4G/LTE, источник

Иногда складывается впечатление, что основная угроза безопасности граждан исходит от государственных спецслужб. Эти не размениваются на мелочи. Их интересует взлом не с одного сайта, а всего трафика в интернете. Прослушка не отдельного человека, а сразу всех. Спецслужбы неоднократно пытались внедрить бэкдоры в алгоритмы публичной криптографии (см. генератор «случайных» чисел Dual EC DRBG с бэкдором АНБ). Прослушка произвольного гражданина в любой стране, на любом устройстве — голубая мечта «Большого брата».

Несколько лет назад вскрылись факты, что ЦРУ давно внедрилось в швейцарскую компанию Crypto AG, крупнейшего мирового производителя криптооборудования. Сейчас ФСБ навязывает российским гражданам отечественную криптографию, где тоже подозревают наличие бэкдора на уровне алгоритма.

Ещё одна интересная история — с алгоритмами шифрования GPRS, которые до сих пор поддерживаются в большинстве телефонов, включая Apple iPhone, Samsung Galaxy S9, Huawei P9 Lite, OnePlus 6T и многие другие.
Всего голосов 70: ↑66 и ↓4+62
Комментарии75

Четыре проекта с веб-скрейпингом, которые позволят упростить себе жизнь

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

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

Веб-скрейпинг — это процесс извлечения данных с веб-сайта. Для изучения веб-скрейпинга достаточно пройти туториал о принципах работы таких библиотек Python, как Beautiful Soup, Selenium или Scrapy; однако если вы не будете применять на практике все изученные концепции, то время окажется потраченным впустую.

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

В этой статье я перечислю проекты, которые автоматизируют четыре задачи, ежедневно выполняемые многими людьми. Проекты изложены по возрастанию сложности, от начальных до продвинутых.
Читать дальше →
Всего голосов 33: ↑27 и ↓6+21
Комментарии2

От жёсткого диска на антресолях до Ransomware: как утекает исходный код игр

Время на прочтение5 мин
Количество просмотров18K
В начале июня компания EA сообщила о том, что её серверы взломали хакеры, похитившие 780 ГБ данных, в том числе исходный код игры FIFA 21 и движка Frostbite. Мы решили вспомнить, как на протяжении многих лет утекал в руки хакеров и широкой публики код различных игровых проектов.

Ultimate Mortal Kombat 3


image

Рекламные материалы порта игры для 3DO. На изображениях использованы скриншоты из версий для Sega Saturn и SNES

В своё время Mortal Kombat 3 получил огромную популярность, поэтому позже была выпущена его дополненная версия под названием «Ultimate Mortal Kombat 3» (UMK3), которую портировали на множество консолей, в том числе на Genesis, Sega Saturn и SNES. Разрабатывался и порт для Panasonic 3DO, но почти завершённый проект был остановлен (вероятно, из-за падения популярности консоли).
Читать дальше →
Всего голосов 22: ↑21 и ↓1+20
Комментарии7

Альтернативная вселенная старых компьютеров

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

Нет ничего более бесполезного, чем старый компьютер, не так ли? Прогресс движется так быстро, что только что купленная машина устаревает ко времени её доставки, двухлетняя машина уже не актуальна, а пятилетняя машина не представляет собой никакой ценности…

Ну, это не совсем так… Действительно, мощность и производительность компьютерного оборудования выросла экспоненциально со времён первых компьютеров с хранящимися программами, появившихся примерно в 1948 году (Manchester Mark I). Соотношение цены и производительности улучшилось ещё существеннее.

Сложно сказать, насколько быстро происходили эти улучшения. Вполне можно сказать, что «очень быстро». Со времён зарождения технологии интегральных микросхем закон Мура сохранял свою истинность — количество транзисторов, которое можно разместить на кристалле, удваивалось примерно каждые два года. Однако ещё одна версия закона Мура — "производительность удваивается каждые 18 месяцев, или в 10 раз каждые 5 лет" — кажется слишком оптимистичной.
Однако для некоторых семейств микропроцессоров на относительно коротком промежутке времени эта версия тоже была справедливой.
Читать дальше →
Всего голосов 38: ↑36 и ↓2+34
Комментарии9

Учимся читать код, изучая стандартную библиотеку Python

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


Итак, вы уже продвинутый новичок — вы изучили основы Python и способны решать реальные задачи.

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

Наверно, вы слышали, что нужно нарабатывать понимание чтением и написанием больших объёмов кода. Это правда.

Но какой же код нужно читать?

«Просто читай то, что нравится». А если вы не знаете, что вам нравится? А если вам не нравится что-то правильное?

Или хуже того — если вам нравится что-то неправильное и из-за этого у вас выработаются вредные привычки?

В конечном итоге, для этого ведь необходимо понимание… Но именно его мы и стремимся обрести.

«На GitHub куча проектов — выберите понравившийся и изучайте, как его реализовали разработчики». Однако самые успешные проекты довольно объёмны — с чего начинать?

И даже если вы знаете, с чего начинать, не всегда очевидно, как разработчики пришли к своему решению.

Да, вы видите код своими глазами, но он не говорит вам о том, почему разработчики написали его так, чего они не делали и как они рассуждали о проекте в целом.

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

В этой статье мы рассмотрим некоторые модули стандартной библиотеки Python.
Читать дальше →
Всего голосов 43: ↑39 и ↓4+35
Комментарии3

Ещё одна 0-Day-уязвимость угрожает многим пользователям Western Digital

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

В прошлом месяце из-за бага в линейке продуктов, которую компания прекратила поддерживать в 2015 году, а также из-за ранее неизвестной уязвимости «нулевого дня» бесчисленное количество покупателей Western Digital потеряло данные на сетевых накопителях MyBook Live. Но подобные серьёзные уязвимости «нулевого дня» присутствуют в гораздо большем количестве более новых сетевых накопителей Western Digital MyCloud. Они не устраняются у тех покупателей, которые не могут или не желают обновляться до последней версии операционной системы.

Проблема с удалённым исполнением кода присуща всем NAS-устройствам Western Digital с операционной системой MyCloud OS 3, которую компания перестала поддерживать только недавно.
Всего голосов 24: ↑23 и ↓1+22
Комментарии8

Как я учил студентов Северной Кореи разрабатывать ПО с открытым исходным кодом

Время на прочтение6 мин
Количество просмотров18K
В 2016 году я отправился в Северную Корею, чтобы учить студентов магистратуры тому, как участвовать в разработке ПО с открытым исходным кодом. Вот фотография с одной из моих лекций:


В рамках курса студенты должны были опубликовать патчи для выбранного ими проекта. В этой статье я расскажу о том, как два патча были внесены в популярные библиотеки машинного обучения mlpack и vowpal wabbit. Я считаю, что эти примеры подчёркивают, что научное сотрудничество между северокорейцами и американцами может принести выгоду обычным гражданам обеих стран и улучшить дипломатические взаимоотношения.
Читать дальше →
Всего голосов 49: ↑44 и ↓5+39
Комментарии49

Видеосалоны. Ретроспектива

Время на прочтение21 мин
Количество просмотров15K
Этот шухер, этот сон — видеомагнитофон,
Мой дружбан взял анадысь на толпе,
Купил за семь кусков всего, не жрал не ел он целый год,
Ну совсем мой корефан опупел.
Я пришёл к нему вчера, чтоб позырить до утра,
Драки, секс, вампиров, трупов, Брюса Ли,
Я глазел во все глаза и мой разум отказал,
А по утру меня в психушку отвезли.
Вида-ак! (с) Сектор Газа «Видак»


Сегодня разговор пойдет о модных течениях в СССР 80-х — просмотре кино. Но не абы какого, а западного. Вместе с Перестройкой, к нам широким шагом, влетая буквально с «двух ног», ворвалась кинопродукция Голливуда, заполнив собою всё культурное пространство.

image
Видеосалоны. Советское детство в миниатюрах Зои Черкасской.
Всего голосов 47: ↑44 и ↓3+41
Комментарии60

Добро пожаловать в мир интровертов

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

Даже если ты «лучше» справляешься с работой, то это не гарантия того, что тебя повысят. Должность/девушка/дом/лучший кусок пирога доставались самому громкому и обаятельному.


Миром больше не управляют самые громкие


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

  • Высокооплачиваемые должности с большей вероятностью получают люди, склонные к интеллектуальной работе в одиночку.
  • Болтовня с глазу на глаз стала менее важной из-за онлайн-работы, в которой самое главное — навык самомотивации.
  • Успех свидания зависит от остроумной фразы в приложении для дейтинга, а не от способности «подцепить» кого-то в баре.

Благодаря технологиям мир повернулся лицом к интровертам. Стоит ожидать, что аналогичный сдвиг произойдёт и в сфере богатства и власти.
Читать дальше →
Всего голосов 38: ↑32 и ↓6+26
Комментарии50

Почему спуфинг устройств сегодня становится практически невозможным

Время на прочтение6 мин
Количество просмотров10K
Если вы смотрели фильм Квентина Тарантино «Бесславные ублюдки», то, вероятно, помните, сцену в баре, когда замаскированный британский шпион выдаёт себя бессознательным жестом.

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


Неотъемлемая угроза мелких деталей.

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

Но прежде чем приступить, давайте вкратце узнаем, почему системы пытаются распознавать устройства, что также даст нам ответ на вопрос, почему люди пытаются распознавать или эмулировать устройства.
Читать дальше →
Всего голосов 29: ↑28 и ↓1+27
Комментарии7

Как Vim стал таким популярным

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

Вероятно, вы слышали о Vim — всемогущем текстовом редакторе, который используется повсюду и из которого люди время от времени не могут выбраться. Ваш знакомый DevOps-инженер рассказывает о том, насколько великолепен и быстр Vim, и вы, вероятно, подумали, что стоит его попробовать. Но как мы пришли ко всему этому? Каким образом одержимость Vim однажды охватила весь мир?

Если посмотреть на опрос StackOverflow 2019 года о самых популярных средах разработки, то Vim по-прежнему находится в нём на пятом месте — его используют примерно 25% веб-разработчиков. Пятое место — это довольно неплохо, учитывая, что первый релиз Vim произошёл почти 30 лет назад (да, мы не ошиблись — первая версия Vim появилась в 1991 году).

Чтобы лучше понять, как и почему Vim стал (и по-прежнему остаётся) столь популярным, нам нужно изучить, с чего всё начиналось. До vim существовал vi, до vi существовал ed. Что это за двух- и трёхбуквенные слова, и какая история за ними стоит? Давайте будем разбираться.
Читать дальше →
Всего голосов 43: ↑39 и ↓4+35
Комментарии200

Для программиста shell так же необходим, как умение читать

Время на прочтение4 мин
Количество просмотров16K
Грамотное владение shell — один из самых важных навыков, которыми вы как программист должны обладать. Unix shell — одна из самых мощных идей, реализованных в коде, и она должна стать вашей второй натурой. Ни один другой инструмент и близко не сравним с возможностью быстрого выполнения сложных задач или с сохранением этих команд в виде скриптов.

В своей работе я использую Vim в качестве редактора, а Unix — в качестве «IDE». Я не модифицирую свой vimrc, чтобы добавить в него функции IDE; самый важный плагин, который использую ежедневно — это Ctrl+P, и он нужен мне только для упрощения открытия файлов. Грамотное владение Vim — ценный навык, но важно понимать, когда от него нужно отказаться. В своей повседневной работе я взаимодействую с несколькими терминалами: обычно в одном из них есть Vim, второй используется для запуска сборок или демонов, а в третьем запущен shell, способный выполнить любые мои команды.



Постоянно открытый shell позволяет мне выполнять сложные задачи и отвечать на сложные вопросы. Интересные вещи я нахожу при помощи git grep, масштабные операции поиска и замены я выполняю через sed, отвечаю на вопросы с помощью awk, а более тонкие задачи я выполняю создаваемыми по ходу работы командами и конвейерами shell. Я обладаю свободой творческого решения задач без ограничений, заложенных проектировщиками IDE.
Читать дальше →
Всего голосов 44: ↑38 и ↓6+32
Комментарии72

gRPCurl — curl для gRPC-серверов

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


gRPC — современный фреймвок для удалённого вызова процедур, разработанный Google в 2015 году. Им начинает пользоваться всё большее количество компаний по всему миру. В России, например, это Яндекс. gRPCurl — инструмент командной строки, написанный на Go. Он разработан компанией FullStory и позволяет взаимодействовать с gRPC серверами. В этой статье будут раскрыты особенности проекта и описаны основные кейсы для его применения.
Читать дальше →
Всего голосов 32: ↑31 и ↓1+30
Комментарии7

10 игр для программистов, которые позволят улучшить свои навыки

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

Планируете изучать Java, C++ или Python, но не знаете, с чего начать? А как насчёт игр для программистов?

Да, именно так.

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

Давайте же узнаем о том, как геймификация помогает нам лучше учиться и какие игры помогут стать программистом!
Читать дальше →
Всего голосов 51: ↑47 и ↓4+43
Комментарии42

Исследование: становилась ли Windows 10 медленнее с каждым feature update?

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

Одной из основных причин того, что некоторые люди избегают обновления своих ПК, стало то, что «обновления тормозят систему». Особенно это актуально для Windows 10 с её схемой Software as a Service, при которой ОС дважды в год получает «feature update». Но так ли это на самом деле?

Сегодня мы выясним, насколько менялась производительность Windows 10 со временем, проведя бенчмарки десяти аспектов работы с ОС:

  • Время установки
  • Время загрузки/перезагрузки
  • Запуск приложений Win32
  • Запуск приложений UWP
  • Windows Search
  • Производительность GDI
  • Нагрузочные испытания GDI
  • Быстрое сканирование Windows Defender
  • Производительность ввода-вывода
  • Выключение

Но для начала небольшое пояснение: хотя я стремился к максимально объективному сравнению метрик производительности, в моих измерениях могут быть погрешности. В этом эксперименте я использовал в качестве гипервизора для каждой сборки Hyper-V с 4 ГБ ОЗУ, 4 ядрами и 32 ГБ накопителя.

Каждая версия устанавливалась на чистую систему.

Итак, давайте приступим!
Всего голосов 85: ↑81 и ↓4+77
Комментарии61

React испортил веб-разработку

Время на прочтение4 мин
Количество просмотров39K
В начале июня я посетил конференцию разработчиков .debug, на которой у моей компании был свой стенд. Смысл стенда заключался в том, чтобы создать ситуацию «Измени моё мнение»: мы представляли какую-нибудь радикальную идею, предлагали людям обсудить её с нами, а потом показывали им, что интересного мы делаем.

Мы решили взять такую идею:


Моим первым оппонентом стал этот молодой парень справа, создающий приложения на нативном React.

Если серьёзно, то React — это хорошая библиотека. Она важна для веб-разработки, потому что в ней используются декларативные и реактивные шаблоны, а такой сдвиг парадигмы в момент её создания был нужен всем. В те времена (6-7 лет назад) возникали проблемы с движками рендеринга и реактивностью, но React довольно неплохо их решил.
Читать дальше →
Всего голосов 65: ↑52 и ↓13+39
Комментарии51

Опасности пользования онлайн-менеджерами паролей

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

Введение


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

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

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

Итак, начнём.
Читать дальше →
Всего голосов 55: ↑53 и ↓2+51
Комментарии35

Что нужно знать об SSD каждому программисту

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

На фото SSD Samsung PM1733

Твердотельные накопители (Solid-State Drives, SSD) на основе флэш-памяти уже заменили многие магнитные диски в качестве стандартных накопителей. С точки зрения программиста SSD и диски очень похожи: и те, и другие являются устройствами постоянного хранения, обеспечивающими страничный доступ через файловые системы и системные вызовы, и имеющими большой объём.

Однако у них есть и важные различия, которые становятся существенными, если нужно достичь оптимальной производительности SSD. Как мы увидим, SSD устроены сложнее и если воспринимать их просто как быстрые диски, то их производительность может вести себя довольно загадочным образом. Цель этого поста — показать, почему SSD так себя ведут, что поможет вам создавать ПО, способное использовать их особенности. (Стоит заметить, что я буду говорить о NAND-памяти, а не о памяти Intel Optane, имеющей другие характеристики.)
Читать дальше →
Всего голосов 54: ↑33 и ↓21+12
Комментарии54

zx – bash скрипты на javascript

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


Bash широко используется в программировании и является превосходным инструментом, но и у него есть свои недостатки. Поэтому Google разработал пакет zx, который позволяет использовать bash внутри javascript / typescript и имеет около 17к звёзд на github. В данной статье будут рассмотрены плюсы и минусы библиотеки, главные аспекты использования и примеры работы.
Читать дальше →
Всего голосов 33: ↑28 и ↓5+23
Комментарии14
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Meppel, Drenthe, Нидерланды
Зарегистрирован
Активность