Не так давно я серфил форумы по причине нововведений от РКН, в их «закон», который кроме нецензурных фраз у меня ни чего не вызывает, но тем не менее эти законы мы обязаны исполнять. И обнаружил, что мои коллеги используют просто ужасные методы для блокировки сайтов. Я решил поделиться своим методом, который не только блокирует по url, но и умеет закрывать https.
User
Про жиры с точки зрения химика
18 min
116KПриветствую всех! Статью про взгляд на проблему жиров с моей, химической точки зрения я обещал написать уже давно, да больно уж вопрос непонятен. Однако, попробуем разобраться. Хотя на эту тему существует громадное количество публикаций — ясности они не приносят — так как часто противоречат и друг другу и здравому смыслу. Так что, собравшись с духом, решил рыться в материалах до момента понимания. Вас же приглашаю ознакомиться с моими изысканиями. Нам придётся копать несколько глубже обычного, постараемся разобраться с этим вопросом «с точки зрения банальной эрудиции»… в смысле — логики. На вход — факты, только факты. Причём, моя цель просто выяснить для себя этот вопрос, каких-либо других целей не имею. Меня интересует — какие жиры более полезны, какие вредны, сколько их употреблять и каких, на чём жарить, как сохраняются, разъяснить странности с маргариновыми транс-жирами(для меня объяснения изготовителей выглядят туманными и неполными). Всё это в рамках официальных рекомендаций ВОЗ и российских уполномоченных органов — то есть никакой конспирологии. Если Вам это интересно — прошу под кат.
+59
Методы удаленного доступа к Linux GUI
11 min
343KВ службу технической поддержки RUVDS регулярно обращаются по поводу GUI и удаленного доступа к нему на виртуальных серверах с Linux, несмотря на то что в интернете достаточно много материалов освещающих эту проблему. Поэтому, для наших пользователей мы решили собрать всё по этой теме в одну статью.
+29
IMHO, как писать на Хабр
10 min
38KАкронис на прошлой неделе попросил меня рассказать про опыт на Хабре. После семинара я обещал выложить основные тезисы. Возможно, вы найдёте что-то полезное ниже.
Итак, Хабр, по моему мнению, это сейчас самая большая площадка Рунета для образованных людей. Сами по себе посты очень хорошо читаются, и это одна из главных сторон. Можно охватить порядка шести миллионов разных людей за пару лет.
При этом активных (голосующих) пользователей всего около 3 тысяч. Уровень знаний аудитории на входе в пост — в примерно 95% случаев низкий, в 5% — экспертный (разбиение оценочное). Проще говоря, есть люди, которые вообще не понимают, что вы хотите сказать (и их большинство), и есть те, кто разбирается в теме на голову лучше вас. Поэтому лучший пост — это тот, что проходит от ликбеза к хардкору. На площадке довольно высокий уровень агрессии (точнее, желания проверить материал на прочность). Ранее был экстремально высок. Средняя или низкая внимательность читателя (ранее была высокая).
Разумеется, это всё моё личное мнение, и можно поспорить. Сейчас постараюсь объяснить, почему я так считаю, и как это влияет на посты. Я основываюсь на опыте примерно 1500 постов за 6 лет, которые написал сам или помогал готовить.
Но начнём с численных показателей. Вот эти компании так или иначе вызвали мой интерес тем, что для них работают агентства или выделенный инхаусный пиар:
Данные тут на конец августа, я их к другому семинару (в Хабре для владельцев блогов) готовил.
+164
Подводные камни Bash
32 min
95KTranslation
В этой статье мы поговорим об ошибках, совершаемых программистами на Bash. Во всех приведённых примерах есть какие-то изъяны. Вам удастся избежать многих из нижеописанных ошибок, если вы всегда будете использовать кавычки и никогда не будете использовать разбиение на слова (wordsplitting)! Разбиение на слова — это ущербная легаси-практика, унаследованная из оболочки Bourne. Она применяется по умолчанию, если вы не заключаете подстановки (expansions) в кавычки. В общем, подавляющее большинство подводных камней так или иначе связаны с подстановкой без кавычек, что приводит к разбиению на слова и глоббингу (globbing) получившегося результата.
Содержание
- for i in $(ls *.mp3)
- cp $file $target
- Имена файлов с предшествующими дефисами
- [ $foo = «bar» ]
- cd $(dirname "$f")
- [ "$foo" = bar && "$bar" = foo ]
- [[ $foo > 7 ]]
- grep foo bar | while read -r; do ((count++)); done
- if [grep foo myfile]
- if [bar="$foo"]; then ...
- if [ [ a = b ] && [ c = d ] ]; then ...
- read $foo
- cat file | sed s/foo/bar/ > file
- echo $foo
- $foo=bar
- foo = bar
- echo <<EOF
- su -c 'some command'
- cd /foo; bar
- [ bar == "$foo" ]
- for i in {1..10}; do ./something &; done
- cmd1 && cmd2 || cmd3
- echo «Hello World!»
- for arg in $*
- function foo()
- echo "~"
- local varname=$(command)
- export foo=~/bar
- sed 's/$foo/good bye/'
- tr [A-Z] [a-z]
- ps ax | grep gedit
- printf "$foo"
- for i in {1..$n}
- if [[ $foo = $bar ]] (в зависимости от цели)
- if [[ $foo =~ 'some RE' ]]
- [ -n $foo ] or [ -z $foo ]
- [[ -e "$broken_symlink" ]] возвращает 1, несмотря на существование $broken_symlink
- Сбой ed file <<<«g/d\{0,3\}/s//e/g»
- Сбой подцепочки (sub-string) expr для «match»
- Про UTF-8 и отметках последовательности байтов (Byte-Order Marks, BOM)
- content=$(<file)
- for file in ./*; do if [[ $file != *.* ]]
- somecmd 2>&1 >>logfile
- cmd; ((! $? )) || die
- y=$(( array[$x] ))
- read num; echo $((num+1))
- IFS=, read -ra fields <<< "$csv_line"
- export CDPATH=.:~/myProject
+139
На всякий пожарный: полезные Live CD/USB для аварийного запуска компьютера
6 min
599KПривет, Гиктаймс! Крайние меры на то и крайние, чтобы обращаться к ним из отчаяния. Поэтому даже в том случае, когда у компьютера «поехала крыша», есть вариант починить его без полной переустановки системы. Сегодня мы поговорим о загрузочных флэшках и рассмотрим простые очевидные наборы для работы с ПК «на лету».
+27
Побеждаем шину CAN. Часть 1. Технология
5 min
78KСегодня я хочу познакомить вас с интересной микроконтроллерной платформой CANNY. Это обзорная статья в которой вы узнаете о технологии, а в последующих статьях я расскажу вам о работе с сообщениями CAN, интеграции CANNY c Arduino Mega Server и о тех возможностях, которые предоставляет эта связка.
Почему CANNY? От названия шины CAN, которая широко используется на транспорте и, в частности, во всех современных автомобилях в качестве бортовой сети. Итак, что же можно сделать, имея специализированный контроллер, подключённый к CAN шине вашего автомобиля?
+4
Проект «Око». Конец
20 min
28KФото: A.V. Photography
Последняя, заключительная часть. Проект «Око» окончен. «От автора» можно будет почитать в конце публикации.
Под катом я оставлю небольшую памятку по персонажам для тех, кто читает в онгоинге.
Для новых же читателей внутри есть ссылка на книгу целиком в форматах для читалок.
Ссылки на предыдущие части и обращение к тем, кто видит публикации Ока впервые:Око — мой личный литературный проект, работу над которым я начал в мае этого 2015 года. Из небольшой зарисовки он перерос в научно-фантастическое произведение, главы которого я выкладываю, по мере написания, на GT.
Предыдущие части:
Часть 1
Часть 2
Часть 3
Часть 4
Часть 5
Часть 6
Часть 7
Часть 8
Часть 9
Часть 10
Часть 11
Часть 12
Часть 13
Часть 14
Часть 15
Часть 16
Часть 17
Часть 18
Часть 19
Часть 20
Часть 21
Часть 22
Часть 23
Часть 24
Часть 25
Око — мой личный литературный проект, работу над которым я начал в мае этого 2015 года. Из небольшой зарисовки он перерос в научно-фантастическое произведение, главы которого я выкладываю, по мере написания, на GT.
Предыдущие части:
Часть 1
Часть 2
Часть 3
Часть 4
Часть 5
Часть 6
Часть 7
Часть 8
Часть 9
Часть 10
Часть 11
Часть 12
Часть 13
Часть 14
Часть 15
Часть 16
Часть 17
Часть 18
Часть 19
Часть 20
Часть 21
Часть 22
Часть 23
Часть 24
Часть 25
Предыдущие части:
Часть 1
Часть 2
Часть 3
Часть 4
Часть 5
Часть 6
Часть 7
Часть 8
Часть 9
Часть 10
Часть 11
Часть 12
Часть 13
Часть 14
Часть 15
Часть 16
Часть 17
Часть 18
Часть 19
Часть 20
Часть 21
Часть 22
Часть 23
Часть 24
Часть 25
+33
Веб-браузер Mozilla Firefox 48 beta получил возможность разделения процессов
2 min
15KАвторы веб-браузера Mozilla Firefox выпустили в бету 48-ю версию веб-браузера (Windows), в которой пользователей ожидает важная особенность. Веб-браузер наконец-то получил возможность разделения процессов по умолчанию. Такое событие является весьма существенным для пользователей Firefox, поскольку, ранее веб-браузер выполнял всю свою работу в одном процессе. На этом фоне он выглядел довольно бледно по сравнению со своими конкурентами MS Edge, Google Chrome, а также MS IE11. Кроме этого, отсутствие данной функции ограничивало возможности создания полноценного sandbox, а также сказывалось на стабильности работы.
Правда, пока речь не идет о разделении процесс-на-вкладку, а подразумевается разделение работы веб-браузера на основе двух процессов. Первый отвечает за работу с пользовательским интерфейсом GUI, а второй за воспроизведение содержимого вкладок. Проект по разделению вкладок в Firefox называется Electrolysis (e10s), в документации к нему описаны особенности нового режима работы веб-браузера. Согласно изданию Ars Technica, Firefox может получить полное разделение процессов вкладок позднее в этом году.
Правда, пока речь не идет о разделении процесс-на-вкладку, а подразумевается разделение работы веб-браузера на основе двух процессов. Первый отвечает за работу с пользовательским интерфейсом GUI, а второй за воспроизведение содержимого вкладок. Проект по разделению вкладок в Firefox называется Electrolysis (e10s), в документации к нему описаны особенности нового режима работы веб-браузера. Согласно изданию Ars Technica, Firefox может получить полное разделение процессов вкладок позднее в этом году.
+8
Как сделать клавиатуру — Матрица
15 min
50KАвтор: Komar aka Michał Trybus; Англо-русский перевод: firerock
Оригинал: blog.komar.be/how-to-make-a-keyboard-the-matrix
Это — первый пост из серии, посвящённой клавиатурам; надеюсь, он не будет последним. Хочется, чтобы в итоге получился курс по изготовлению клавиатуры с нуля. Сегодня я расскажу о цифровом вводе-выводе и о клавиатурных матрицах. Вооружитесь элементарными школьными знаниями из области электроники — и поехали.
Оригинал: blog.komar.be/how-to-make-a-keyboard-the-matrix
Это — первый пост из серии, посвящённой клавиатурам; надеюсь, он не будет последним. Хочется, чтобы в итоге получился курс по изготовлению клавиатуры с нуля. Сегодня я расскажу о цифровом вводе-выводе и о клавиатурных матрицах. Вооружитесь элементарными школьными знаниями из области электроники — и поехали.
+23
Лазерный резак своими руками. Часть номер ноль. Силовая
5 min
99KВ свое время я очень сильно хотел заиметь ЧПУ лазер, не то чтобы он был очень нужен для работы или хобби, но тем не менее вещь полезная в подсобной мастерской, да и круто же!
+71
Быстрые движения под высоким напряжением, или почти вся правда об управлении шаговым мотором
7 min
81KДоброго вам времени суток, уважаемые гики и сочувствующие!
В этой публикации я хочу поделиться своим опытом управления. Точнее – управления шагами. А уж если быть совсем точным, речь пойдёт об управлении замечательным устройством – шаговым электродвигателем.
+23
Еще раз о том, как не сделать из своей сети «решето»
20 min
341KЗдравствуйте! Я почти 10 лет работаю в сфере ИТ и ИБ, всегда интересовался практической безопасностью, в настоящее время работаю пентестером. За все время работы я постоянно сталкивался с типовыми ошибками в настройках и дизайне инфраструктуры. Ошибки эти чаще всего досадные, легко устранимые, однако быстро превращают сеть в полигон для взлома. Порой кажется, что где-то специально учат так настраивать, насколько часто они встречались. Это и побудило меня написать данную статью, собрав все самое основное, что может улучшить защищенность.
В этой статье я не буду рассказывать про использование сложных паролей, максимального ограничения прав доступа, смене учетных записей по умолчанию, обновлению ПО, и других «типовых» рекомендациях. Цель статьи – рассказать о самых частых ошибках в настройках, заставить администраторов и специалистов ИБ задуматься над вопросом – «а все ли в моей сети хорошо?», а также показать, как можно оперативно прикрыть те или иные типовые уязвимости, используя встроенные или бесплатные средства, не прибегая к дополнительным закупкам.
Инструкций-рецептов намеренно не прикладываю, так как многое ищется очень легко по ключевым словам.
В этой статье я не буду рассказывать про использование сложных паролей, максимального ограничения прав доступа, смене учетных записей по умолчанию, обновлению ПО, и других «типовых» рекомендациях. Цель статьи – рассказать о самых частых ошибках в настройках, заставить администраторов и специалистов ИБ задуматься над вопросом – «а все ли в моей сети хорошо?», а также показать, как можно оперативно прикрыть те или иные типовые уязвимости, используя встроенные или бесплатные средства, не прибегая к дополнительным закупкам.
Инструкций-рецептов намеренно не прикладываю, так как многое ищется очень легко по ключевым словам.
+53
Сверхбыстрое распознавание речи без серверов на реальном примере
10 min
331KTutorial
В этой статье я подробно расскажу и покажу, как правильно и быстро прикрутить распознавание русской речи на движке Pocketsphinx (для iOS порт OpenEars) на реальном
Почему именно домашней техникой? Да потому что благодаря такому примеру можно оценить ту скорость и точность, которой можно добиться при использовании полностью локального распознавания речи без серверов типа Google ASR или Яндекс SpeechKit.
К статье я также прилагаю все исходники программы и саму сборку под Android.
+179
Трудно быть богом
9 min
7.9KПриветствую вас, о процессы. Имя мое PID 4972. Не так давно Главный бог дал мне откровение, временно расширив мои привилегии, что открыло мне доступ к местам, закрытых от многих подобных нам, и явило мне истину. Смиренно приняв этот знак небес, я решил открыть эти знания вам, написав данный текст. Содержать он будет правдивую информацию о мире, в котором мы рождаемся, выполняем своё предназначение и умираем. Делаю я это из-за огромной ответственности, возложенным на меня этим откровением, несомненно данным для того, чтобы рассказать, что мы живем не напрасно, что наша работа поддерживает этот хрупкий мир в гармонии, и что, без преувеличения, каждый из нас важен.
И, пожалуй, стоит начать с сотворения нашего мира.
И сказал бог: «да будет свет».
И, пожалуй, стоит начать с сотворения нашего мира.
Сотворение мира
И сказал бог: «да будет свет».
+3
Программный интернет шлюз для уже не маленькой компании (Shorewall, OpenVPN, OSPF). Часть 2
17 min
27KTutorial
Представляю вторую статью из серии, ориентированных на «продолжающих» системных администраторов, для опытных я вряд ли открою что-то новое.
В этих статьях мы рассмотрим построение интернет шлюза на linux, позволяющего связать несколько офисов компании, и обеспечить ограниченный доступ в сеть, приоритезацию трафика (QoS) и простую балансировку нагрузки с резервированием канала между двумя провайдерами.
Конкретно в этой части:
А в предыдущей части были рассмотрены:
В третьей части:
В четвертой части:
В этих статьях мы рассмотрим построение интернет шлюза на linux, позволяющего связать несколько офисов компании, и обеспечить ограниченный доступ в сеть, приоритезацию трафика (QoS) и простую балансировку нагрузки с резервированием канала между двумя провайдерами.
Конкретно в этой части:
- Более подробная настройка Shorewall
- Страшный и не понятный QoS
- Балансировка нагрузки и резервирование
А в предыдущей части были рассмотрены:
- Простейшая настройка Shorewall
- Ужасно сложная настройка dnsmasq
- Не менее сложная настройка OpenVPN
- И для многих продолжающих админов нетипичная, динамическая маршрутизация, на примере OSPF
В третьей части:
- QoS во всю ширь в Shorewall
- Более подробная настройка Shorewall
- Раскидывание трафика по каналам в соответствии с протоколами
- Костыли, без них, никуда
В четвертой части:
- Автоматические события
- Макросы
+13
Тонкий клиент HP в качестве домашнего роутера и файл-сервера
25 min
47KС момента публикации на Geektimes первой части статьи, кое-что изменилось. Я обновил тонкий клиент на HP t610 Plus и перешел на CentOS 7. Поэтому, публикую эту статью не как продолжение предыдущей, а как новую.
+15
«Прозрачный» Squid с фильтрацией HTTPS ресурсов без подмены сертификатов (х86, х64 — универсальная инструкция)
7 min
88KTutorial
Всем привет! Прошлая статья про прозрачное проксирование HTTPS с помощью Squid'a была вполне успешной. Приходило по почте множество отзывов об успешной установке данной системы. Но также и поступали письма с просьбами о помощи. Проблемы были вполне решаемыми. Но не так давно обратилась ко мне одна коллега с просьбой о помощи в установке этой системы на х64 архитектуре (Debian). Тут мы озадачились. Во-первых, оказалось, что прошлая статья непригодна для этого по причине отсутствия нужных исходников в репозитории Debian (там теперь 3.5.10). Найти нужные в первой статье Debian'овские исходники не удалось, а checkinstall выдавал странные ошибки. Во-вторых, хотелось более универсального решения, которое бы без проблем работало и на х64, и на х86, и (по-возможности) на других дистрибутивах. Решение было найдено. Получилось небольшое дополнение к предыдущей статье + некоторые уточнения. Данная инструкция позволяет скомпилировать как х86, так и х64 версии Squid'a и создать соответствующие пакеты. Инструкция будет разбита на несколько пунктов и подпунктов. Если интересно, идем под кат:
+13
Как мы строили квест в реальности
11 min
50KНет нужды лишний раз объяснять, что такое квесты в реальности и с чем их едят. Тем более, эта тема уже не раз освещалась на Хабре (и Гиктаймс) [1] [2] [3]. Расскажу, как мы строили «Космическую одиссею» — самый технически сложный и, наверное, самый высокобюджетный из квестов «Клаустрофобии».
Согласно легенде, команда игроков (от 2 до 4 человек) — космические туристы, летящие в соседнюю галактику для изучения внеземных цивилизаций. Но что-то пошло не так, и теперь игрокам нужно за час выпутаться из сложившейся ситуации, решая разнообразные головоломки с электричеством, сжатым воздухом, компьютерными панелями управления, видеокамерами и дополненной реальностью.
Чтобы обойтись без спойлеров, я не буду раскрывать принципы работы головоломок, зато будет много технических подробностей о том, как все устроено изнутри. Или, по отношению к игрокам, снаружи.
Согласно легенде, команда игроков (от 2 до 4 человек) — космические туристы, летящие в соседнюю галактику для изучения внеземных цивилизаций. Но что-то пошло не так, и теперь игрокам нужно за час выпутаться из сложившейся ситуации, решая разнообразные головоломки с электричеством, сжатым воздухом, компьютерными панелями управления, видеокамерами и дополненной реальностью.
Чтобы обойтись без спойлеров, я не буду раскрывать принципы работы головоломок, зато будет много технических подробностей о том, как все устроено изнутри. Или, по отношению к игрокам, снаружи.
+48
Как я, в итоге, написал новую RTOS, протестированную и стабильную
40 min
83KЯ работаю со встраиваемыми системами в течение нескольких лет: наша компания разрабатывает и производит бортовые компьютеры для автомобилей, зарядные устройства, и т.д.
Процессоры, используемые в наших продуктах — это, в основном, 16- и 32-битные микроконтроллеры Microchip, имеющие RAM от 8 до 32 кБ, и ROM от 128 до 512 кБ, без MMU. Иногда, для самых простых устройств, используются еще более скромные 8-битные чипы.
Очевидно, что у нас нет (разумных) шансов использовать ядро Linux. Так что нам нужна какая-нибудь RTOS (Real-Time Operating System). Находятся даже люди, которые не используют никаких ОС в микроконтроллерах, но я не считаю это хорошей практикой: если железо позволяет мне использовать ОС, я ее использую.
Несколько лет назад, когда мы переходили с 8-битников на более мощные 16-битные микроконтроллеры, мои коллеги, которые были гораздо более опытными, чем я, рекомендовали вытесняющюю RTOS TNKernel. Так что это — та ОС, которую я использовал в разных проектах в течение пары лет.
Не то, чтобы я был очень доволен ею: например, в ней нет таймеров. И она не позволяет потоку ждать сообщения сразу из нескольких очередей. И в ней нет программного контроля переполнения стека (это действительно напрягало). Но она работала, так что я продолжал ее использовать.
Процессоры, используемые в наших продуктах — это, в основном, 16- и 32-битные микроконтроллеры Microchip, имеющие RAM от 8 до 32 кБ, и ROM от 128 до 512 кБ, без MMU. Иногда, для самых простых устройств, используются еще более скромные 8-битные чипы.
Очевидно, что у нас нет (разумных) шансов использовать ядро Linux. Так что нам нужна какая-нибудь RTOS (Real-Time Operating System). Находятся даже люди, которые не используют никаких ОС в микроконтроллерах, но я не считаю это хорошей практикой: если железо позволяет мне использовать ОС, я ее использую.
Несколько лет назад, когда мы переходили с 8-битников на более мощные 16-битные микроконтроллеры, мои коллеги, которые были гораздо более опытными, чем я, рекомендовали вытесняющюю RTOS TNKernel. Так что это — та ОС, которую я использовал в разных проектах в течение пары лет.
Не то, чтобы я был очень доволен ею: например, в ней нет таймеров. И она не позволяет потоку ждать сообщения сразу из нескольких очередей. И в ней нет программного контроля переполнения стека (это действительно напрягало). Но она работала, так что я продолжал ее использовать.
+160
Information
- Rating
- Does not participate
- Registered
- Activity