Pull to refresh
5
0
Дмитрий @17th

User

Send message

Надежный обход блокировок в 2024: протоколы, клиенты и настройка сервера от простого к сложному

Level of difficultyMedium
Reading time45 min
Views134K

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

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

Читать далее
Total votes 506: ↑498 and ↓8+490
Comments351

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

Reading time23 min
Views227K

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

Одна из простых задач звучит так: «При переводе картинки из цветового пространства RGB в YUV мы выполняем прореживание, то есть выкидываем каждый четный столбец и каждую четную строку в компонентах U и V (все компоненты пикселя по 1 байту). Вопрос: во сколько раз меньше данных у нас стало?» Эта операция называется chroma subsampling и широко используется при сжатии видео, например.

Забавно, что когда-то давно, когда винчестеры были меньше, а дискеты больше, студенты реально отвечали на этот вопрос быстро. А в последние годы регулярно народ в ступор впадает. Приходится разбирать по частям: «Если выкинуть каждую четную строку и каждый четный столбец, во сколько раз меньше данных будет у компоненты?» Почти хором: «В четыре». Начинаю подкалывать: «Отлично! У нас было 3 яблока, первое осталось как есть, а от второго и третьего осталось по четвертинке. Во сколько раз меньше яблок у нас стало?» Народ ржет, но, наконец-то, дает правильный ответ (заметим, не все). 

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

И хорошо видно, как эта способность в широких массах студентов заметно плавно падает. Причем не только в нашей стране. Придуман даже специальный термин: «цифровое слабоумие» ("digital dementia") — снижение когнитивных способностей, достаточно серьезное, чтобы повлиять на повседневную деятельность человека. 

Кому интересно как теряют мозг студенты масштабы бедствия и что с этим делать — добро пожаловать под кат!

Читать далее
Total votes 411: ↑395 and ↓16+379
Comments795

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

Reading time11 min
Views89K

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

Ну-ка, ну-ка...
Total votes 190: ↑172 and ↓18+154
Comments258

Принципы работы детского отделении интенсивной терапии в виде ответа на «Программист, стая и Джон Стейнбек» или

Reading time3 min
Views8.5K
Это ответ на статью за авторством nmivan.

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

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

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

Работа докторов мне очень напомнила работу программистов — у них даже стендапы есть. Просто дебажат они людей, а не код. Я участвовал в куче разного рода митингов и обсуждениях решений совершенно непонятных и очень срочных проблем и подметил некоторые интересные принципы работы народа там.
Читать дальше →
Total votes 70: ↑69 and ↓1+68
Comments39

Зачем выполнять рутинную работу, когда её можно поручить машине?

Reading time11 min
Views21K
В очередной раз пересматривая «Железного Человека» вместе с другом, меня снова пропитывало желание стать супергероем создать свой железный костюм, ну или хотя бы Джарвиса. И вдруг меня посетила гениальная идея.

Лирическое отступление
Пару дней назад был матч СуперКубка Европы 2015 по футболу, который я включил лишь на 70 минуте. Да, я досмотрел оставшуюся часть игры, но все равно остался неприятный осадок из-за того, что 70 минут отличного футбола я смогу посмотреть лишь в записи (что, как вы понимаете, совсем не то), ведь я как-то напрочь забыл про то, что летом тоже идут официальные матчи. Поплакали и хватит.

Так вот, с недавнего времени я начал активно пользовался системным календарём на Mac, и подумал, а почему бы не добавить все игры Барсы в этот самый календарь?



Читать дальше →
Total votes 20: ↑17 and ↓3+14
Comments7

Используем console на полную

Reading time6 min
Views457K
Метод console.log() — отличный способ вывести отладочную информацию, не мешая пользователю. Но знаете ли Вы, что объект console имеет еще уйму других не менее полезных методов? Очень редко разработчики используют этот функционал, ограничиваясь неблокирующим alert'ом. Что-ж, давайте исправим это положение.

Вкусности console
Total votes 172: ↑168 and ↓4+164
Comments29

Теория близости: главное правило дизайна, которое помогает перейти от субъективных ощущений к конкретике

Reading time3 min
Views71K
Впервые о теории близости я прочитал в 2007 году. Она была сформулирована так: «объекты, расположенные близко друг к другу, воспринимаются связанно». Тогда я подумал: «спасибо, Кэп! Я как-то и сам догадался, что букву “М” нужно вешать ближе к мужскому туалету, а не к женскому». Тогда я не осознал, что это одно из главных правил дизайна, которое помогает подбирать расстояния между элементами, размеры полей, расположение кнопок, размер логотипов и многое другое. А главное, теория позволяет быстро понять, хороший перед вами дизайн или нет, даже если вы не дизайнер.
image
Читать дальше →
Total votes 64: ↑60 and ↓4+56
Comments23

Интерфейс рецептов

Reading time3 min
Views30K


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

«Варить до полуготовности». Ну чёрт побери, откуда я знаю, сколько это? То есть мне надо приготовить одну порцию, засечь время, потом выкинуть её и сделать вторую, да? Отличный план.

Тесто для пиццы — «соль и сахар по вкусу». Ну спасибо, чуваки. Когда пицца испечётся, я не смогу посыпать её сверху сахарком или солью. Причём сахар там вообще для дрожжей, а я не знаю, сколько нужно на их вкус.
Читать дальше →
Total votes 117: ↑108 and ↓9+99
Comments578

Начало работы с OpenCV и его применение в C#

Reading time3 min
Views128K
Хочу немного рассказать про технологию OpenCV и её применение на языке программирования C#.

OpenCV (англ. Open Source Computer Vision Library, библиотека компьютерного зрения с открытым исходным кодом) — библиотека алгоритмов компьютерного зрения, обработки изображений и численных алгоритмов общего назначения с открытым кодом. Реализована на C/C++, также разрабатывается для Python, Java, Ruby, Matlab, Lua и других языков. Может свободно использоваться в академических и коммерческих целях — распространяется в условиях лицензии BSD.

На эту библиотеку я натолкнулся буквально недавно. На сайте toster.ru я задал вопрос про необычные темы для дипломных работ и в одном из ответов получил ссылки на результат работы с этой библиотекой. Вот некоторые из них:

www.youtube.com/watch?v=h9kPI7_vhAU
www.youtube.com/watch?v=256bg5_vNvg
www.youtube.com/watch?v=PUhwGTSNGhI
Читать дальше →
Total votes 20: ↑12 and ↓8+4
Comments8

Костыльный программист

Reading time5 min
Views50K
Автор: Джоэль Спольски. Оригинал.

Статья посвящена оверинженирингу и тем, кто предпочитает старые костыльные решения лишь потому, что они очень просты. Перевод под катом.
Читать дальше →
Total votes 154: ↑139 and ↓15+124
Comments198

ISO 9241-110 — Принципы организации диалога

Reading time6 min
Views16K


В настоящее время я получаю второе высшее образование по программе MSc Usability Engineering в Райн-Ваальском Университете Прикладных Наук (Германия).

Данная программа является единственной в Германии, полностью посвященной Usability и HCD. Кроме того, в качестве преподавателей как правило выступают Usability-эксперты, работающие на такие компании, как Samsung, Siemens, Wargaming, Porsche и другие. Более того, некоторые из преподавателей входят в рабочие группы по разработке стандартов ISO для Usability.

В этой и последующих статьях я планирую поделиться частью тех знаний, что получаю в рамках обучения.
Читать далее
Total votes 12: ↑12 and ↓0+12
Comments2

Information

Rating
Does not participate
Location
Кокошкино, Москва и Московская обл., Россия
Date of birth
Registered
Activity