Как стать автором
Обновить
48
Владислав @Wyrdread⁠-⁠only

Архитектор

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

Переезд инженера в Великобританию: IT-сфера, рабочая виза, налоги

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


Зачем разработчику ехать в Европу? Не из-за денег — неоднократно замечали и мы в статьях про переезд, и вы в комментариях к ним.

Можно поехать за интересными задачами в крупных tech-компаниях и новыми челленджами в стартапах, за культурной жизнью/историей той страны, которой восхищаешься. За мобильностью — чтобы на выходных гонять с семьей в самые далекие уголки ЕС.

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

Итак, что ждет инженера в Великобритании?
Читать дальше →
Всего голосов 22: ↑15 и ↓7+15
Комментарии24

Любовь, смерть, роботы и Пелевин

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

В прошлом году, вернувшись с тренировки, я засел перед компьютером, чтоб посмотреть пару забавных мемов про котиков. И, обнаружив новость о выходе нового сериала Любовь, смерть и роботы– «Love, Death & Robots», я лениво потрогал её мышкой — глянуть одним глазком.

Пришел в себя я под утро. С красными глазами, затекшим, от сидения в кресле телом — но совершенно счастливым.

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

При пересмотре сериала, мои впечатления, впрочем, были уже не столь радужны — во мне проснулась писательская зависть. «Почему такое не снимают в России — возмущенно бормотал я, — я бы подобрал рассказы для сериала ничуть не хуже!»

«Я сниму свой сериал! — сказал я, чтоб справиться с завистью, — точнее, соберу 18 рассказов, ничуть не уступающих подборке сериала».
Читать дальше →
Всего голосов 53: ↑42 и ↓11+44
Комментарии58

60+ игр для гиков

Время на прочтение35 мин
Количество просмотров53K
Приветствую всех брутальных Хабрачан и чувственных Хабрачаночек!

Благодаря вашей поддержке я смог написать статьи про сериалы в мире IT. Вместе мы прошли через многое. В последней статье я попросил вас рассказать своё мнение о том, стоит ли мне писать статью про гиковские игры и вы снова поддержали меня. Спасибо за это!

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

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

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

Что же. Давайте не будем тянуть время и поговорим о подобранных мною для вас играх!


Всего голосов 39: ↑34 и ↓5+43
Комментарии83

Как прийти в небо и стать пилотом

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


Привет! Сегодня я расскажу о том, как можно прийти в небо, что нужно для этого сделать, сколько оно все стоит. Также поделюсь своим опытом обучения на частного пилота в Великобритании и развею некоторые мифы, связанные с авиацией. Под катом много текста и фоточек :)

Читать дальше →
Всего голосов 134: ↑127 и ↓7+120
Комментарии171

Проверка компилятора GCC 10 с помощью PVS-Studio

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

PVS-Studio vs GCC 10

Компилятор GCC написан с обильным использованием макросов. Очередная проверка кода GCC с помощью PVS-Studio вновь подтверждает мнение нашей команды, что макросы – это плохо. В таком коде тяжело разбираться не только статическому анализатору, но и программисту. Конечно, разработчики GCC уже привыкли к проекту и хорошо разбираются в нём. Но со стороны очень сложно что-то понять. Собственно, из-за макросов и не удалось полноценно выполнить проверку кода. Тем не менее, анализатор PVS-Studio, как всегда, показал, что может находить ошибки даже в компиляторах.
Читать дальше →
Всего голосов 26: ↑23 и ↓3+31
Комментарии27

10 интересных репозиториев на GitHub, полезных любому разработчику

Время на прочтение4 мин
Количество просмотров83K
Представляем вам перевод статьи Simon Holdorf, опубликованной на сайте medium.com. В ней вы найдете ссылки на полезные репозитории, с помощью которых можно прокачать навык разработки ПО.


Фото с ресурса Unsplash. Автор: Vishnu R Nair

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

Каждый из них имеет множество звезд на GitHub, что только подтверждает их популярность, актуальность и полезность. Одни репозитории научат вас чему-то новому, благодаря другим вы сможете создать какие-то классные штуки. В целом, используя их, можно основательно прокачать навык разработки программного обеспечения.
Читать дальше →
Всего голосов 69: ↑64 и ↓5+78
Комментарии14

Популярно об артиклях в английском языке

Время на прочтение8 мин
Количество просмотров54K
Артикли — это самые распространенные слова в английском языке. Эти невзрачные a, an и the занимают около 8,5% объема любого текста. Если немного утрировать, то из каждого часа работы с текстом вы пять минут тратите только на прочтение артиклей.

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

В общем, сегодня мы решили рассказать вам именно об артиклях. Откуда появились, как развивались исторически и как их использовать правильно сегодня. Поехали!


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

Уязвимость Mikrotik позволяет получать список всех пользователей через winbox

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

Устройства компании Mikrotik стали широко распространены из-за своей цены по отношению к функционалу. Но и ошибки в программном обеспечении никто не отменял. И на этот раз вылез серьёзный баг.


25 марта один из пользователей форума Mikrotik сообщил об обнаружении подозрительной активности маршрутизаторов mikrotik с применением портов telnet (TCP port 23), TR-069 (TCP port 7547) и WINBOX (TCP 8291).


Сотрудники компании сослались на баг, который был закрыт год назад. В последствии выяснилось, что это новая уязвимость и 23 апреля компания Микротик сообщила о выпуске прошивок, где эта уязвимость устранена.


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


Читать дальше →
Всего голосов 27: ↑24 и ↓3+21
Комментарии40

ConfigureAwait: часто задаваемые вопросы

Время на прочтение20 мин
Количество просмотров138K
Привет, Хабр! Представляю вашему вниманию перевод статьи «ConfigureAwait FAQ» автора Стивен Тауб.

image

Async/await добавили в .NET более семи лет назад. Это решение оказало существенное влияние не только на экосистему .NET — оно также находит отражение во многих других языках и фреймворках. На данный момент реализовано множество усовершенствований в .NET с точки зрения дополнительных языковых конструкций, использующих асинхронность, реализованы API-интерфейсы с поддержкой асинхронности, произошли фундаментальные улучшения в инфраструктуре, благодаря которым async/await работает как часы (в особенности, улучшены возможности производительности и диагностики в .NET Core).

ConfigureAwait — один из аспектов async/await, который продолжает вызывать вопросы. Надеюсь, у меня получится ответить на многие из них. Я постараюсь сделать эту статью читаемой от начала до конца, и вместе с тем выполнить ее в стиле ответов на часто задаваемые вопросы (FAQ), чтобы на нее можно было ссылаться в последующем.
Читать дальше →
Всего голосов 23: ↑23 и ↓0+23
Комментарии18

Как писать лёгкие тексты

Время на прочтение2 мин
Количество просмотров22K
Я пишу много текстов, в основном всякую чушь, но, обычно, даже хейтеры говорят, что текст читается легко. Если хотите сделать свои тексты (письма, например) легче, бегом сюда.

Тут я ничего не придумывал, всё из книжки «Слово живое и мёртвое» Норы Галь, советского переводчика, редактора и критика.
Читать дальше →
Всего голосов 68: ↑56 и ↓12+59
Комментарии58

Инструментарий для анализа и отладки .NET приложений

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

Заглянуть «под капот» кода или посмотреть на внутреннее устройство CLR можно с помощью множества инструментов. Этот пост родился из твита, и я должен поблагодарить всех, кто помог составить список подходящих инструментов. Если я пропустил какие-то из них, напишите в комментариях.


Во-первых, я должен упомянуть, что хороший отладчик уже присутствует в Visual Studio и VSCode. Также существует множество хороших (коммерческих) профилировщиков .NET и инструментов мониторинга приложений, на которые стоит взглянуть. Например, недавно я попробовал поработать с Codetrack и был впечатлён его возможностями.


Однако оставшийся пост посвящён инструментам для выполнения отдельных задач, которые позволят лучше понять, что происходит. Все инструменты имеют открытый исходный код.


Всего голосов 50: ↑50 и ↓0+50
Комментарии9

Криптографические атаки: объяснение для смятённых умов

Время на прочтение33 мин
Количество просмотров53K
При слове «криптография» некоторые вспоминают свой пароль WiFi, зелёный замочек рядом с адресом любимого сайта и то, как трудно залезть в чужую почту. Другие вспоминают череду уязвимостей последних лет с говорящими аббревиатурами (DROWN, FREAK, POODLE...), стильными логотипами и предупреждением срочно обновить браузер.

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

За последние годы коллекция криптографических атак превратилась в зоопарк кричащих логотипов, набитых формулами научных статей и породила общее мрачное ощущение, что всё сломано. Но на самом деле многие из атак основаны на нескольких общих принципах, а бесконечные страницы формул часто сводятся к простым для понимания идеям.
Читать дальше →
Всего голосов 103: ↑103 и ↓0+103
Комментарии22

Задача о создании последовательных числовых кодов для нумерации сообщений в исходном коде в Visual Studio (ex. C#)

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

Всем привет


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

image
Читать дальше →
Всего голосов 21: ↑7 и ↓14-7
Комментарии63

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

Время на прочтение14 мин
Количество просмотров96K
Сканеры веб-приложений — довольно популярная сегодня категория софта. Есть платные сканеры, есть бесплатные. У каждого из них свой набор параметров и уязвимостей, возможных для обнаружения. Некоторые ограничиваются только теми, что публикуются в OWASP Top Ten (Open Web Application Security Project), некоторые идут в своем black-box тестировании гораздо дальше.



В этом посте мы собрали восемь популярных сканеров, рассмотрели их подробнее и попробовали в деле. В качестве тренировочных мишеней выбрали независимые точки на двух платформах (.NET и php): premium.pgabank.com и php.testsparker.com.
Читать дальше →
Всего голосов 37: ↑37 и ↓0+37
Комментарии11

Об извращённом толковании Первого закона Ньютона в современной физике

Время на прочтение4 мин
Количество просмотров15K
В начале ХХ века в физике появились умники-недоучки, не признающие саму методологию научного творчества и объявившие о неких «ограничениях», сужающих область применимости механики Ньютона (I. Newton).

Начнём с того, как трактуются законы Ньютона в современных учебниках по физике. Например, в книге А.В. Перышкина и Е.М. Гутника [1] на стр.42 написано следующее:
<…> с точки зрения современных представлений первый закон Ньютона формулируется так:

существуют такие системы отсчёта, относительно которых тела сохраняют свою скорость неизменной, если на них не действуют другие тела или действия других тел компенсируются.
Сравним это убожество с формулировкой самого Ньютона [2], кстати, приведённого в той же книжке страницей ранее:
Всякое тело продолжает удерживаться в состоянии покоя или равномерного прямолинейного движения, пока и поскольку оно не понуждается приложенными силами изменить это состояние.
Читать дальше →
Всего голосов 87: ↑22 и ↓65-43
Комментарии88

Функторы, аппликативные функторы и монады в картинках

Время на прочтение5 мин
Количество просмотров191K
Вот некое простое значение:


И мы знаем, как к нему можно применить функцию:


Элементарно. Так что теперь усложним задание — пусть наше значение имеет контекст. Пока что вы можете думать о контексте просто как о ящике, куда можно положить значение:


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


data Maybe a = Nothing | Just a

Позже мы увидим разницу в поведении функции для Just a против Nothing. Но сначала поговорим о функторах!
Читать дальше →
Всего голосов 184: ↑175 и ↓9+166
Комментарии60

Наиболее распространенные ошибки и заблуждения при настройке DFSR

Время на прочтение8 мин
Количество просмотров18K
[Прим. переводчика. Материал статьи относится к Windows Server 2003/2003R2/2008/2008R2, но большинство из описанного справедливо и для более поздних версий ОС]

Всем привет! Уоррен снова здесь, и этот пост в блоге представляет собой подборку наиболее распространенных проблем DFSR, с которыми я столкнулся за последние несколько лет. Цель этого поста — перечислить распространенные ошибки в конфигурации DFSR, из-за которых возникают эти проблемы, и уберечь вас от совершения аналогичных ошибок. Знать, чего делать не следует, так же важно, как знать, что нужно делать. Многие из описанных пунктов связаны с другими темами, поэтому для углубленного изучения вопроса предоставлены соответствующие ссылки.
Читать дальше →
Всего голосов 11: ↑11 и ↓0+11
Комментарии0

2ГИС вам на руку. Как мы добавили карту на Apple Watch

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


Apple Watch быстро завоевали популярность и стали самыми популярными часами в мире, опередив Rolex и остальных производителей. Идея создания приложения для часов витала в офисе 2ГИС с 2015 года.


До нас полноценное приложение с картой на часах выпустила только сама Apple. Приложение Яндекс.Карт отображает лишь виджеты пробок и время в пути до дома и работы. Яндекс.Навигатор, Google Maps, Waze и Maps.Me вообще недоступны на часах.


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


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


UPD.: https://github.com/teanet/DemoWatch

Про чудо-часы
Всего голосов 77: ↑77 и ↓0+77
Комментарии48

Идея сингулярности перед Большим взрывом устарела

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

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

Почти все слышали о Большом взрыве. Но если попросить разных людей, от обывателей до космологов, закончить предложение: «Вначале было…», вы получите множество различных ответов. Один из наиболее распространённых – «сингулярность», то есть, момент, когда вся материя и энергия Вселенной сконцентрировались в одной точке. Температура, плотность и энергия были бы сколь угодно, бесконечно большими, и это могло совпадать с зарождением самого пространства и времени.

Но эта картина не просто неверна, она уже лет 40, как устарела! Мы совершенно уверены в том, что с горячим Большим взрывом не было связано никакой сингулярности, и у пространства и времени могло вообще не быть момента зарождения. Вот, что нам известно, и откуда.
Читать дальше →
Всего голосов 88: ↑76 и ↓12+64
Комментарии206

Ускорение перечисления процессов и потоков в ОС Windows

Время на прочтение3 мин
Количество просмотров18K
Иногда бывает нужно перечислить все процессы или потоки, которые в данный момент работают в ОС Windows. Это может понадобиться по разным причинам. Возможно, мы пишем системную утилиту вроде Process Hacker, а может быть мы хотим как-то реагировать на запуск/остановку новых процессов или потоков (писать лог, проверять их, внедрять в них свой код). Самым правильным способом это реализовать является, конечно же, написание драйвера. Там всё просто — используем PsSetCreateProcessNotifyRoutine и PsSetCreateThreadNotifyRoutine для установки колбек-функций, которые будут вызываться при запуске/остановке процессов и потоков. Работает очень быстро и не ест ресурсы. Именно так и делают все серьёзные инструменты. Но разрабатывать драйвера — не всегда подходящий способ. Их нужно уметь правильно писать, их с недавних пор обязательно нужно подписывать сертификатами (что не бесплатно) и регистрировать в Microsoft (что не быстро). И ещё их не удобно распространять — например, программы с ними нельзя выкладывать в Microsoft Store.

Ну, давайте тогда пользоваться тем, что предлагает публичный WinAPI. А предлагает он функцию CreateToolhelp32Snapshot(), которую предлагается использовать как-то вот так. Всё, кажется, хорошо — есть информация о процессах, потоках. Немного расстраивает тот факт, что вместо элегантных колбеков мы вынуждены делать бесконечный пулинг в цикле, но это ладно.

Самая большая проблема здесь — это производительность. Связка CreateToolhelp32Snapshot() + Process32First() + Process32Next() работает ну очень медленно. Возможно, проблема лежит где-то в той же области, что и описанная вот в этой статье проблема с Heap32First() + Heap32Next(). Кратко — в силу исторических причин кое-где проход по линейному списку занимает квадратичное время.

Можно ли как-то всё это ускорить? Можно. Но придётся сойти со светлого пути использования одних лишь публичных функций WinAPI.
Читать дальше →
Всего голосов 34: ↑32 и ↓2+30
Комментарии5

Информация

В рейтинге
Не участвует
Откуда
London, England - London, Великобритания
Дата рождения
Зарегистрирован
Активность