Pull to refresh
4
0
Send message

Ужасы работы с Интернетом в Антарктиде (и как это исправить), часть 1

Level of difficultyEasy
Reading time16 min
Views5.4K

Часть этого поста я написал, всё ещё находясь в Антарктиде, но уеду, ещё не закончив его.

Я просматривал свои старые черновики постов и понял, что этот почти завершён.

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

В течение 14 месяцев работы в Антарктиде доступ в Интернет у меня был только через крайне ограниченное число спутниковых каналов, предоставленных Антарктической программой США (United States Antarctic Program).

В начале поста нужно дать особое примечание:

Хотя я был ИТ-сотрудником United States Antarctic Program, всё, о чём я буду говорить в этом посте, основано или на публично доступной информации, или на моих личных наблюдениях как обычного участника программы, живущего во льдах.

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

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

Маловероятно, что я смогу ответить на дополнительные вопросы по темам, обсуждаемым в этом посте. Я тщательно старался писать максимально подробно, не допуская при этом раскрытия непубличной информации о правительственных ИТ-системах.

Данная информация отражает мой личный опыт нахождения в Антарктиде с августа 2022 года по декабрь 2022 года в Мак-Мердо, а затем с декабря 2022 года по ноябрь 2023 года на Южном полюсе.

Читать далее
Total votes 16: ↑16 and ↓0+22
Comments15

Попытка получения исходников ядра от производителей, и последующее хамство от них

Level of difficultyEasy
Reading time4 min
Views68K

Нарушение лицензии и отказ технической поддержки предоставить исходники — одни из множества неприятностей. Особенно если речь идёт о довольно крупных компаниях, в моём случае — Digma. В этой статье рассказываю, как я пытался получить исходный код ядра Linux, который используется в планшете Digma Plane 4G 1538E.

Читать далее
Total votes 402: ↑388 and ↓14+459
Comments424

Настройка авторизации через ssl сертификат на уровне nginx

Level of difficultyMedium
Reading time5 min
Views13K

Привет уважаемые, хабровчане!

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

Читать далее
Total votes 13: ↑13 and ↓0+13
Comments11

Вероятно вам не нужен MediatR

Reading time13 min
Views24K

MediatR - это очень популярная библиотека, которая используется для уменьшения зависимостей между объектами. Она популяризует архитектуру, основанную на крайне значимых принципах проектирования:

препятствование прямому общению между объектами для уменьшения связности;

нацеливание на Message-Oriented архитектуру;

поддержка асинхронного внутреннего обмена сообщениями;

ориентирование на переиспользование объектов.

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

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

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

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

Читать далее
Total votes 16: ↑16 and ↓0+16
Comments16

GraphQL: от восторга до разочарования

Reading time14 min
Views19K

Задаётесь вопросом, стоит ли использовать GraphQL в своём проекте? Ваши разработчики спорят, выдвигая аргументы типа «GraphQL — это будущее» и «REST проще»? Мы с моей командой обсуждали эту тему бесконечно. В статье я приведу краткие выводы.

Предисловие: GraphQL в моде, вы найдёте множество статей, насколько он потрясающий, однако спустя три года его использования я немного огорчён и разочарован этой технологией, поэтому не воспринимайте мои слова, как истину в последней инстанции.
Читать дальше →
Total votes 34: ↑30 and ↓4+35
Comments79

Квазигосударство Amazon

Reading time14 min
Views28K

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

«Идиллия» оплачена тяжелым трудом, уходом от налогов и экономическими махинациями.

Читать далее
Total votes 73: ↑62 and ↓11+65
Comments42

Шахматы на C++

Reading time68 min
Views48K

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

Читать далее
Total votes 151: ↑150 and ↓1+188
Comments56

Раздувание кода стало астрономическим

Reading time5 min
Views97K

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

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

… но по сути, речь идёт о том, что нужно зарегистрировать несколько файлов, считать их, загрузить, а затем закрыть соединение и записать в файл лога, всё ли прошло успешно, а если нет, то что именно случилось. В этом нет ничего сложного, и даже я писал с нуля подобный код при помощи Wininet API и PHP на сервере, общающемся с моей базой данных MySQL. Наверно, моя система была не такой надёжной, как системы уровня энтерпрайза, однако поддерживала сотни тысяч загруженных файлов, их верификацию, скачивание и логирование. Наверно, это работа для одного кодера на две-три недели?

Специальный инструмент загрузки на сервер, которым я пользуюсь сегодня, суммарно имеет 230 МБ клиентских файлов и задействует 2,7 тысяч файлов для управления этим процессом.
Читать дальше →
Total votes 338: ↑324 and ↓14+385
Comments864

NFT — бесполезная технология

Reading time4 min
Views125K
Среднему человеку очень сложно понять, насколько бесполезны NFT. Мы верим в разумность действий. Если вокруг этой технологии поднято уже столько шума – если это вообще можно назвать технологией – наверное, что-то полезное она делает?

На самом деле нет, она не делает вообще ничего.

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

Подобные функции в NFT не зашиты. Они полагаются на внешнюю инфраструктуру, существующую независимо от NFT. Если вам интересно, какую роль при этом играет сама NFT – то никакую. Она отнимает у дурачка его деньги из «Монополии».
Читать дальше →
Total votes 202: ↑188 and ↓14+224
Comments1389

Основатель Signal: «Первые впечатления от web3»

Reading time15 min
Views80K

Несмотря на то, что я считаю себя криптографом, меня не особенно привлекает слово "крипто". Не думаю, что я уже староват, но я гораздо чаще кликаю на мемы в духе "Интернет всё помнит" о том, как "крипто" раньше означало "криптография", чем на последние новости об NFT.

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

Читать далее
Total votes 103: ↑101 and ↓2+119
Comments156

Невменяемый, необъятный масштаб браузеров

Reading time3 min
Views73K

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

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

С помощью wget я скачал все 1217 спецификаций W3C, опубликованных на текущий момент. Существенная часть из них должна быть реализована в браузере, чтобы современный веб работал. Я подсчитал объём этих спецификаций. Как думаете, насколько сложен современный веб?

Читать далее
Total votes 166: ↑156 and ↓10+190
Comments695

Го — неведомые земли

Reading time5 min
Views26K
Стратегия ведения войны такова: существуют рассеивающие местности,
ненадежные местности, спорные местности,
пересекающиеся местности, узловые местности,
трудные местности, местности-ловушки,
окруженные местности и смертельные местности.

Сунь Цзы "Искусство войны"
 

Есть люди, которым надоедает всё привычное. В своих поисках нового, они совершают открытия, изобретают, творят. Они делают нашу жизнь лучше, во всех её проявлениях. Го не является исключением.
Читать дальше →
Total votes 25: ↑25 and ↓0+25
Comments11

Распределённый поисковик YaCy версия 1.0

Reading time2 min
Views18K


Активисты движения за свободное ПО запустили новый проект: поисковую систему YaCy, которая в перспективе может составить конкуренцию Google, Yahoo/Bing, «Яндекс» и прочим закрытым коммерческим поисковикам. Версия YaCy 1.0 вышла после пяти лет разработки, и теперь присоединиться к сети наконец-то может любой желающий.
Читать дальше →
Total votes 44: ↑43 and ↓1+42
Comments31

Иностранный язык: 15 препятствий

Reading time20 min
Views48K

На пути к хорошему владению иностранным языком есть ряд препятствий. Каждое из них должно быть преодолено.

Содержание
  • Препятствия
    1. Недооценка своего таланта
    2. Недостаточное внимание практике
    3. Злоупотребление волей
    4. Отсутствие удовольствия
    5. Неэффективное распределение времени между слушанием, чтением, письмом и речью
    6. Игнорирование практики на начальном уровне
    7. Неэффективная организация практики слушания
    8. Неэффективная организация практики речи
    9. Неэффективное повторение изученного
    10. Неблагоприятные условия для обучения
    11. Большая надежда на преподавателя
    12. Игнорирование главной меры прогресса
    13. Несвязывание знаний
    14. Надежда на быстрый результат
    15. Игнорирование теории на продвинутом уровне
  • Ваш личный метод
  • Что вы думаете?

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

Что нужно знать, чтобы хорошо рисовать?

Reading time5 min
Views261K


Давид Ревуа — прекрасный художник, работающий со свободным программным обеспечением, постоянный член сообществ Krita Foundation и Blender Institute, концепт-художник анимационных проектов Gooseberry Open Movie Project, Mango Open Movie Project (Tears of Steel) и Durian Open Movie Project (Sintel). В этой статье он делится с начинающими художниками списком знаний, которые необходимо приобрести, чтобы работы получались реалистичными. Он обращает внимание, что для рисования «в цифре» следует обзавестись теми же навыками, что и в традиционной технике. Итак, приобщимся к его опыту.
Читать дальше →
Total votes 134: ↑128 and ↓6+122
Comments113

Много книг, хороших и разных

Reading time20 min
Views97K
Мой список книг, которые мне хочется прочесть, изрядно вырос, спасибо топику “запасаемся на зиму”. Под катом вы обнаружите список книг, составленный по комментариям в том топике.
Читать дальше →
Total votes 139: ↑124 and ↓15+109
Comments89

Как учить английский язык

Reading time6 min
Views134K
Данный текст был написан моей женой для собственного блога. Мне он показался достаточно интересным и полезным для людей, интересующихся изучением иностранных языков, и я решил опубликовать его здесь, учитывая, что на Хабре таких людей очень много. Почему моя жена решила, что может давать какие-либо советы в этой области? Потому что она окончила иняз, свободно говорит на английском, продолжительное время вела курсы изучения английского языка с разными группами и благодарные ученики не раз положительно отзывались о ней, как о преподавателе, а сейчас она успешно изучает итальянский и уже использует его в своей работе.



Итак, кто заинтересовался — прошу под кат.
Читать дальше →
Total votes 106: ↑77 and ↓29+48
Comments58

Мультфильм на осциЛЛографе

Reading time1 min
Views116K
Потрясающая работа, проделанная умельцем.



Пока автор делал этот шедевр, он:
— получил кучу знаний по оптике и лазерам
— научился работать с ПЛИС (оно же FPGA)
— использовать USB2.0 на полной скорости (поток точек и тайминги идут по usb в плис)
— познакомился с Qt
— научился писать драйвера под Linux

Впечатляет.
Total votes 338: ↑317 and ↓21+296
Comments95

Типичный день под присмотром Алисы

Reading time6 min
Views135K
Недавно вышла новая версия комплекса MajorDoMo, о котором на Хабре была обзорная статья, и я решил, что было бы хорошо показать на живом примере, как оно работает. Возьмём самый обычный будний день и посмотрим, как Умный дом себя вёл в его течении.

Картинка для привлечения внимания

Читать дальше →
Total votes 192: ↑179 and ↓13+166
Comments112
1

Information

Rating
Does not participate
Location
Россия
Registered
Activity