Pull to refresh
2
0
Юрий Сухов @wombatonfire

User

Send message

Мой опыт разработки на языке Nim

Reading time 13 min
Views 29K


Привет, Хабр!


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


Давным-давно, когда трава была зеленее, а небо чище, я встретил nim. Хотя нет, не так. Давным-давно я хотел заниматься разработкой игр, чтобы написать свою Самую Классную Игру — думаю, многие проходили через это. В те времена Unity и Unreal Engine только-только стали появляться на слуху и, вроде как, ещё не были бесплатными. Я не стал их использовать, не столько из-за жадности, сколько из-за желания написать всё самому, создать игровой мир полность с нуля, с самого первого нулевого байта. Да, долго, да, сложно, зато сам процесс приносит удовольствие — а что ещё для счастья надо?

Читать дальше →
Total votes 44: ↑43 and ↓1 +42
Comments 51

В США с бодишопом: ехать или не ехать?

Reading time 3 min
Views 26K
На этот вопрос вы не найдете четкий ответ в этой статье. Я предлагаю вам почву для размышлений на тему компаний-перевозчиков в США.

Что это такое?


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

Дальше я расскажу больше о плюсах и минусах бодишопов для переезжающих по H1B визе и о том, как минусы сделать плюсами.
Читать дальше →
Total votes 31: ↑27 and ↓4 +23
Comments 47

«Ycombinator Startup School 2019». Видео первых трех недель

Reading time 2 min
Views 2.4K
Меня зовут Вячеслав. Мы с командой развиваем стартап Golf Robotics (Herr Robot).

Один из крупнейших акселераторов силиконовой долины каждый год проводит Школу стартапов. В этом году мне удалось принять участие в данной программе. В течение 10 недель уроки и групповые обсуждения с другими стартапами. В данном посте представлены видео первых трех недель, которые прошли. Уроки на английском, мои краткие выводы.


Total votes 10: ↑9 and ↓1 +8
Comments 2

В каких странах выгодно регистрировать IT-компании в 2019 году

Reading time 9 min
Views 38K
IT-бизнес остаётся направлением с высокой маржинальностью, далёко опережая производство и некоторые другие виды услуг. Создав приложение, игру или сервис, можно работать не только на локальных, но и на международных рынках, предлагая услуги миллионам потенциальных клиентов.

image

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

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

Я составила список стран, где в 2019 году интересно и выгодно регистрировать компании для ведения IT-бизнеса. Единственная оговорка – не проговаривались особенности регистрации Fintech-стартапов, которым нужно получать лицензию на выпуск электронных денег или на ведение банковской деятельности.

Что нужно учитывать при выборе страны для регистрации IT-компании?


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

Читать дальше →
Total votes 32: ↑22 and ↓10 +12
Comments 44

Что такое UI и UX дизайн? Что в них общего и что различного?

Reading time 6 min
Views 21K
Всем привет! Предлагаем вам изучить простой в освоении материал, чтобы лучше понять разницу между дизайном пользовательского интерфейса (UI) и пользовательским интерфейсом (UX)

UI-дизайн и UX-дизайн — два наиболее часто запутанных и противоречивых понятия, использующихся как в веб-дизайне, так и в дизайне приложений. Обычно их совмещают вместе в один термин — UI/UX-дизайн и с первого взгляда кажется, что они описывают один и то же процесс. Часто бывает трудно найти четкое описание для каждого из них в отдельности, не опускаясь при этом до профессионального жаргона. Однако мы постараемся сделать это!

Ниже, мы подготовили простой в освоении материал по этим терминам.
К концу этой статьи вы будете достаточно хорошо понимать, Что в них схожего и что различного. Итак, давайте приступим!
Читать дальше →
Total votes 15: ↑11 and ↓4 +7
Comments 5

Галерея лучших блокнотов по ML и Data Science

Reading time 3 min
Views 33K
Привет, читатель.

Меня зовут Рушан, и я автор Telegram‑канала Нейрон. Не забудьте поделиться с коллегами или просто с теми, кому интересны такие статьи. Представляю пост который идёт строго (!) в закладки и передаётся коллегам. Он с подборкой примечательных файлов формата Jupyter Notebook по Machine Learning, Data Science и другим сферам, связанным с анализом данных. Эти блокноты Jupyter, будут наиболее полезны специалистам по анализу данных — как обучающимся новичкам, так и практикующим профи.

image

Итак, приступим.

Вводные курсы в Jupyter Notebook


Читать дальше →
Total votes 41: ↑34 and ↓7 +27
Comments 7

Рецепты для ELFов

Reading time 16 min
Views 30K

image


На русском языке довольно мало информации про то, как работать с ELF-файлами (Executable and Linkable Format — основной формат исполняемых файлов Linux и многих Unix-систем). Не претендуем на полное покрытие всех возможных сценариев работы с эльфами, но надеемся, что информация будет полезна в виде справочника и сборника рецептов для программистов и реверс-инженеров.


Подразумевается, что читатель на базовом уровне знаком с форматом ELF (в противном случае рекомендуем цикл статей Executable and Linkable Format 101).


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

Поработаем с эльфами
Total votes 23: ↑23 and ↓0 +23
Comments 19

Hello, World! Глубокое погружение в Терминалы

Reading time 24 min
Views 86K


На написание данной статьи меня вдохновила статья об анализе Сишного printf. Однако, там был пропущен момент о том, какой путь проходят данные после того, как они попадают в терминальное устройство. В данной статье я хочу исправить этот недочет и проанализировать путь данных в терминале. Также мы разберемся, чем отличается Terminal от Shell, что такое Pseudoterminal, как работают эмуляторы терминалов и многое другое.

Читать дальше →
Total votes 110: ↑110 and ↓0 +110
Comments 44

Почему Mozilla назвали «главным злодеем интернета»?

Reading time 4 min
Views 54K

Личная приватность или общественная безопасность


В начале июля Ассоциация интернет-провайдеров Великобритании (ISPA-UK) подвела итоги ежегодной номинации «главный герой» и «главный злодей» интернета. В число «главных злодеев» попала организация Mozilla.

Это неожиданное решение. Широко известны Манифест и 10 принципов, в соответствии с которыми Mozilla обещает бороться за здоровье Интернета: «Открытый, глобальный Интернет — это самый мощный из известных нам ресурсов коммуникации и сотрудничества. Он воплощает наши самые глубокие надежды на прогресс человечества. Он предоставляет новые возможности для обучения, взаимопонимания и решения глобальных проблем».

Mozilla — одна из немногих организаций, которая ставит своей целью не получение прибыли, а именно развитие интернета и защиту пользователей. За что же ей присудили звание «главный злодей»? Оказывается, именно за это, то есть за «излишнюю» защиту пользователей. Яблоком раздора стал протокол DoH (DNS-over-HTTPS).
Читать дальше →
Total votes 57: ↑53 and ↓4 +49
Comments 137

«Мобильный контент» бесплатно, без смс и регистраций. Подробности мошенничества от Мегафона

Reading time 12 min
Views 158K
UPD 07: Телеграм чат для обсуждения операторов сотовой связи t.me/opsosru

После того как я опубликовал статью «Как Мегафон спалился на мобильных подписках», я попытался получить комментарий от Мегафона.


Ответа до сих пор нет.

Но вместо этого я получил зависающий интернет. То есть в какой-то момент трафик перестаёт идти и ютубчик перестаёт играть. Так же с мобильного Мегафона совсем перестал открываться moy-m-portal.ru. На Теле2, МТС и Билайне всё стабильно. То есть Мегафон решил просто мне отомстить…

Это подогрело мой интерес, чтобы раскрутить этот клубок «мобильных подписок» и поделиться с Вами своими исследованиями.

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


Читать дальше →
Total votes 496: ↑488 and ↓8 +480
Comments 483

Знакомство с виртуальными интерфейсами Linux: туннели

Reading time 8 min
Views 44K
Linux поддерживает множество видов туннелей. Это запутывает новичков, которым бывает сложно разобраться в различиях технологий, и понять то, каким туннелем лучше воспользоваться в конкретной ситуации. В материале, перевод которого мы сегодня публикуем, будет дан краткий обзор часто используемых туннельных интерфейсов ядра Linux. Сильно углубляться в эту тему мы не будем, рассмотрев лишь общие особенности туннелей и варианты их использования в Linux.



Автор этого материала полагает, что то, о чём пойдёт здесь речь, может быть интересно всем, кто имеет какое-то отношение к управлению компьютерными сетями. Список туннельных интерфейсов, а также справочные сведения о конкретной конфигурации можно получить с помощью iproute2-команды ip link help.

Здесь будут рассмотрены следующие часто используемые интерфейсы: IPIP, SIT, ip6tnl, VTI и VTI6, GRE и GRETAP, GRE6 и GRE6TAP, FOU, GUE, GENEVE, ERSPAN и IP6ERSPAN.

Прочитав эту статью, вы узнаете об особенностях этих интерфейсов и выясните различия между ними. Вы научитесь их создавать и узнаете о ситуациях, в которых их лучше всего использовать.
Читать дальше →
Total votes 34: ↑33 and ↓1 +32
Comments 0

Matrix 1.0 — релиз протокола децентрализованного обмена сообщениями

Reading time 2 min
Views 12K
11 июня 2019 разработчики Matrix.org Foundation объявили о релизе Matrix 1.0 — протокола для реализации федеративной сети, построенной на основе линейной истории событий (events) внутри ациклического графа (DAG). Самым распространённым способом использования протокола является реализация серверов сообщений (например, сервер Synapse, клиент Riot) и «соединение» других протоколов друг с другом посредством мостов (например, реализация на libpurple с поддержкой XMPP, Telegram, Discord и IRC).



Основным новшеством (и обязательным условием использования) сервера Synapse 1.0 — реализации протокола Matrix 1.0 — является использование TLS сертификата (бесплатный Let's Encrypt тоже подходит) для домена сервера, что обеспечивает защищенную передачу данных между серверами, участвующими в федеративной сети. Поэтому если вы используете self-signed сертификат для своего домашнего сервера — необходимо создать валидный сертификат — иначе ваш сервер перестанет взаимодействовать с другими серверами сети.
Читать дальше →
Total votes 22: ↑22 and ↓0 +22
Comments 12

Software Defined Radio — как это работает? Часть 1

Reading time 6 min
Views 136K
Привет, Хабр.

Продолжая цикл статей про радио, есть смысл рассказать про последние достижения в этой области — Software Defined Radio. Я не знаю адекватного перевода термина на русский, поэтому оставим так, да и термин SDR уже прижился в технических и радиолюбительских кругах.

За последние 100 лет радио изменилось настолько, что вряд ли тогдашний инженер вообще понял бы, как это работает.



Мы все же попробуем разобраться.
Читать дальше →
Total votes 61: ↑58 and ↓3 +55
Comments 142

Эволюция архитектуры торгово-клиринговой системы Московской биржи. Часть 1

Reading time 9 min
Views 18K


Всем привет! Меня зовут Сергей Костанбаев, на Бирже я занимаюсь разработкой ядра торговой системы.

Когда в голливудских фильмах показывают Нью-Йоркскую фондовую биржу, это всегда выглядит так: толпы людей, все что-то орут, машут бумажками, творится полный хаос. У нас на Московской бирже такого никогда не было, потому что торги почти с самого начала ведутся электронно и базируются на двух основных платформах — Spectra (срочный рынок) и ASTS (валютный, фондовый и денежный рынок). И сегодня хочу рассказать об эволюции архитектуры торгово-клиринговой системы ASTS, о различных решениях и находках. Рассказ будет длинный, так что пришлось разбить его на две части.
Читать дальше →
Total votes 54: ↑50 and ↓4 +46
Comments 24

Пишем Reverse socks5 proxy на powershell.Часть 1

Reading time 6 min
Views 7.7K
История об исследовании и разработке в 3-х частях. Часть 1 — исследовательская.
Буков много — пользы еще больше.

Постановка задачи


В ходе проведения пентестов и RedTeam кампаний не всегда удается воспользоваться штатными средствами Заказчиков, такими как VPN, RDP, Citrix и т.д. в качестве закрепления для захода во внутреннюю сеть. Где-то штатный VPN работает по MFA и в качестве второго фактора используется железный токен, где-то он жестоко мониторится и наш вход по VPN сразу же становится виден, как говорится — со всеми вытекающими, а где-то таких средств попросту нет.

В подобных случаях постоянно приходится делать так называемые «обратные туннели» — соединения из внутренней сети к внешнему ресурсу или контролируемому нами серверу. Внутри такого туннеля мы уже можем работать с внутренними ресурсами Заказчиков.

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

Конечно же, со своей стороны разработчики защитных решений не стоят в стороне и активно детектируют подобные действия.

К примеру, MSF-сессии успешно детектируются современными IPS от Cisco или Positive Tech, а обратный SSH- туннель можно задетектить практически любым мало-мальским нормальным файерволлом.

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

Давайте попробуем найти или изобрести нечто подобное.
Читать дальше →
Total votes 17: ↑17 and ↓0 +17
Comments 0

Асинхронная библиотека для работы с API Mikrotik

Reading time 1 min
Views 9.8K
Категорически приветствую.

Недавно мне понадобилось поработать с Mikrotik через его API. Вроде бы ничего примечательного, есть официальная библиотека, есть еще на гитхабе обёртка, но вот беда — мне надо было работать асинхронно через asyncio и c использованием плюшек async/await. И такой библиотеки я не нашел.

Читать дальше →
Total votes 19: ↑18 and ↓1 +17
Comments 9

CJDNS мертв, да здравствует Yggdrasil

Reading time 4 min
Views 58K
image


Что такое Yggdrasil?
Yggdrasil — это распределённая Mesh сеть, которая работет в Overlay режиме, позволяя сделать интернет поверх интернета.

Причем, сеть может одновременно работать в двух режимах — через интернет и без интернета, соединяясь напрямую с физически соседними пирами (через Ethernet, Wi-Fi или Bluetooth) работая на 3-ем уровне модели OSI.

На Apple устройствах использован протокол AWDL.
Последние новости о сети cjdns датируются 2017 годом, может показатся, что сеть умерла и разработка остановлена (на самом деле — да), однако появился самозванец — Yggdrasil, который практически полностью копирует cjdns однако делает это намного лучше.

В посте рассмотрим:

  • Что такое Yggdrasil
  • Зачем это нужно
  • Откуда он взялся
  • Можно ли ему доверять
  • В чем отличее от cjdns
  • Почему его стоит установить прямо сейчас
  • Поддержка iOS (Да!)
  • Что в планах
  • Как настроить

Читать дальше →
Total votes 55: ↑52 and ↓3 +49
Comments 71

VMware NSX для самых маленьких. Часть 3. Настройка DHCP

Reading time 2 min
Views 7.5K


Часть первая. Вводная
Часть вторая. Настройка правил Firewall и NAT

DHCP – сетевой протокол, позволяющий вашим виртуальным машинам автоматически получать IP-адрес и другие параметры, необходимые для работы в сети TCP/IP.

В NSX Edge есть три опции настроек DHCP:

  1. DHCP pool – создание пула адресов, которые будут выдаваться автоматически клиентам DHCP;
  2. DHCP binding – привязка конкретного IP-адреса к определенному mac-адресу;
  3. DHCP Relay – использование стороннего DHCP-сервера, выдающего IP-адреса серверам, которые находятся в других подсетях (отличных от DHCP-сервера).
Читать дальше →
Total votes 21: ↑20 and ↓1 +19
Comments 2

Конференция PyCon Russia 2018: видео всех докладов и презентации

Reading time 6 min
Views 9.4K
22-23 июля прошла шестая конференция для python-программистов PyCon Russia. Под катом — много видео, презентации и фотографии. А еще посмотрите отчетный ролик — в нем коротко о том, как прошел PyConRu-2018.


Читать дальше →
Total votes 20: ↑20 and ↓0 +20
Comments 1

С — не низкоуровневый язык

Reading time 11 min
Views 79K


Ваш компьютер не является быстрой версией PDP-11


Привет, Хабр!

Меня зовут Антон Довгаль, я С (и не только) разработчик в Badoo.

Мне попалась на глаза статья Дэвида Чизнэлла, исследователя Кембриджского университета, в которой он оспаривает общепринятое суждение о том, что С — язык низкого уровня, и его аргументы мне показались достаточно интересными.

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

Производители процессоров не одиноки в этом. Разработчики компиляторов C/C++ тоже внесли свою лепту.
Читать дальше →
Total votes 206: ↑198 and ↓8 +190
Comments 296

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Registered
Activity