Search
Write a publication
Pull to refresh
22
0
Александр Ф. Михайлов @chelaxe

User

Send message

Размещаем сайт в анонимной сети I2P (+ параноидальный режим)

Reading time6 min
Views32K


Предположим, что ты уже зашел несколько раз в I2P, початился там с ребятами в irc, проникся идеей ламповой невидимой и задумался о собственном (в)кладе в I2P. В раздумьях об этом ты посидел пару дней перед раскрытым блокнотом — узнав попутно из новостей, что не только флибуста, но и рутрекер был запрещен, — и наконец вспомнил про то что ты Сноуден и основатель викиликс (весьма неожиданный поворот, признаюсь, я сам не ожидал от тебя такого), и уже давно ищешь плацдарм для размещения общественно значимой информации. Например, ты решил выкладывать куда-нибудь картинки с котиками, которых ты налайкал в твиттере (Сноуден лайкает котиков в твиттере, ты знал?). И выбор твой пал на I2P.
Читать дальше →

Пишем правильный манифест для сайта

Reading time3 min
Views98K
Думаю, многие знают о возможности добавления иконки сайта на рабочий стол мобильного устройства. Это удобно и причины могут быть разные (нету мобильного приложения, предоставляющего туже информацию, либо вы хотите сразу открыть определенную страницу сайта и т.д.). За некоторые свойства того, как будет отображаться сайт и как будет выглядеть иконка после добавления и отвечает файл манифеста.

Манифест для сайта – это простой JSON-файл, который позволяет вам настроить следующие вещи:
1. Какая будет иконка у пользователя, после того как он добавит ваш сайт на рабочий стол
2. Как будет запускаться ваш сайт (с адресной строкой, без нее или в полноэкранном режиме)
3. Splash screen
4. Цветовую тему
5. Ориентацию экрана
6. Начальный url
и многое другое
Читать дальше →

Знаток vs Микроник: еще один электронный конструктор

Reading time3 min
Views16K
Мы достаточно последовательно отсматриваем «педагогические» конструкторы, в связи с чем решили обратиться еще к одному отечественному производителю, который выпускает конструкторы «Знаток». Для тех, кто ни разу не сталкивался, я коротко расскажу об одной из самых простых моделей «Первые шаги в электронике» для детей 5+.


Читать дальше →

Скрипт автоматического обновления DDNS для No-IP

Reading time4 min
Views40K
Прочитав множество руководств и примеров написания скрипта для работы Mikrotik с сервисом noip.com, так и не удалось найти готового решения.
Что не устраивало в других руководствах, например, здесь:
при написании необходимо прямо в тексте скрипта указывать имя интерфейса, с которого он будет получать внешний IP-адрес, а что если интерфейсов два, три или десять?
В моем случае имеется 2 канала: pppoe-client и ethernet без пароля, но с динамически получаемым адресом…
Читать дальше →

Советы о том, как писать на С в 2016 году

Reading time20 min
Views92K

Если бы язык С был оружием

От автора: Наброски для этой статьи появились еще в начале 2015 года, правда, до публикации материалов дело так и не дошло. Наконец, решив, что в ящике моего письменного стола от вышеупомянутого «черновика» не будет никакой пользы, представляю его вашему вниманию в исходном виде. Единственное, что изменилось в тексте – год, с 2015 на 2016.

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

Итак, статья ...


Первое правило программирования на С – не используйте его, если можно обойтись другими инструментами.

Когда найти альтернативный метод не удается, самое время вспомнить о современных заповедях программиста.
Читать дальше →

Как в первый раз запустить i2pd: инструкция под Debian/Ubuntu

Reading time4 min
Views65K


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

В i2p ты можешь заниматься множеством вещей: посещать и создавать сайты, форумы и торговые площадки, принимать почту, чатиться и скачивать торренты, и многое многое другое. Программа i2pd способна работать с большим числом программ и сервисов.
Читать дальше →

Backbone.js для «чайников»

Reading time13 min
Views289K
Backbone.js для чайников
Как то поздним вечерком мне пришла мысль изучить Backbone.js и привязать его к уже написанному на jQuery сервису. Сервис уже серьёзно расширился и меня достало это нагромождение обработчиков кликов, запросов и логики. Поэтому, я как усердный школьник полез в официальную документацию. Но либо я тупой, либо мой английский меня подкачал, либо то и другое вместе, но я не черта не понял. Я прочитал уже второй раз, внимательно, и для особо одарённых мест использовал google translate. Прочитал также и пример ToDo List. Всё показалось понятно, ровно до той поры пока я не стал писать. После чего я взял всё что нашел по этой библиотеке, как на английском так и переводы. Прочтя кипу документации я решил, что сейчас вроде всё понял. Я напрягся, но… Не вышел каменный цветок у мастера Данилы, т.е. вышло, но это явно был не цветок, и камень как то неправильно пах. Тогда, как прилежный ученик, я решил написать «Hello, KittyWorld» с нуля. Попутно комментируя и сохраняя шаги в hg, у меня получилось введение в backbone.js framework для таких как я, особо одарённых.
Данные 7 шагов с комментариями.

2^74207281­-1 — простое число

Reading time2 min
Views31K
Математики Great Internet Mersenne Prime Search (GIMPS) нашли новое рекордно большое простое число: 274207281-1, в котором 22 338 618 разрядов, на университетском компьютере, который задействовал Кертис Купер для проекта GIMPS.

Новое простое число, также известное как M74207281, почти на пять миллионов разрядов больше, чем предыдущее самое большое простое число M57885161. Это особый класс редких простых чисел, известный как простые числа Мерсенна. M74207281 — всего 49-е такое число, и каждое новое всё сложнее найти. Числа Мерсенна названы в честь французского математика Марена Мерсенна, исследовавшего их свойства в 17 веке. В рамках проекта GIMPS, запущенного в 1996 году, найдены все 15 самых больших простых чисел Мерсенна. Все желающие могут присоединиться к проекту, скачав бесплатную программу и приняв участие в вычислениях, с денежной наградой тому, на чьём компьютере посчастливится найти очередное число: $3000 или $50 000.
Читать дальше →

Несколько дельных советов по CSS

Reading time4 min
Views56K

CSS Protips

Это современные решения типичных проблем, коллекция советов, которая поможет вам улучшить ваши профессиональные навыки CSS.

От переводчика

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



Cодержание


  1. Используем псевдо-класс :not для задания рамки навигации
  2. Добавляем межстрочный интервал элементу body
  3. Центрируем по вертикали все что угодно
  4. Правильно разделяем запятыми элементы списков
  5. Отрицательный порядковый номер в nth-child
  6. Используем SVG-логотипы
  7. Аксиоматический CSS
  8. Максимальная высота у CSS-слайдера
  9. Наследуем box-sizing
  10. Одинаковая ширина ячейки таблицы
  11. Динамические внешние отступы при помощи flexbox
  12. Используем селектор атрибутов пустых ссылок
  13. Стили по умолчанию для обычных ссылок
Читать дальше →

Делаем беспроводной сетевой мост на 2-х Mikrotik

Reading time4 min
Views67K
Ситуация: на Mikrotik на разных портах заведены свои сетки:
  • ether2 — 192.168.2.0/24
  • ether3 — 192.168.3.0/24
  • ether4 — 192.168.4.0/24
  • ether5 — 192.168.5.0/24
  • wlan0 — 192.168.10.0/24


В этих сетях Mikrotik (модель RB751G-2HnD) раздаёт настройки по DHCP.

Задача: используя Wi-Fi подключить ещё оборудование так, чтобы оно оказалось в сети 192.168.3.0/24.
У меня такая задача возникла из-за того, что на балконе сетевое хранилище (NAS) подключено проводом к роутеру (сам роутер в прихожей). А в гостинной — медиапроигрыватель, который должен показывать фильмы с NAS-устройства. Но в гостинной Ethernet-кабеля нет (т.е. был, но я от него отказался).

Для этого будем использовать второй Mikrotik (модель hAP lite). Оба Mikrotik будут образовывать беспроводной сетевой мост. Для этого на основном Mikrotik создадим ещё один беспроводной интерфейс — виртуальную точку доступа (Virtual AP). В итоге схема должна получиться примерно такой:



Т.е. в этой схеме оборудование NAS и Comp должно находиться в сети 192.168.3.0/24. При этом NAS и Comp физически разнесены и подключены к разным Mikrotik.
ether1 на основном Mikrotik — источник Интернета.

В конце настройки средняя скорость между микротиками за 5 мин составила 220 Мбит/с (по данным утилиты ping test, входящей в RouterOS):


Читать дальше →

Аналоговые часы на HTML5 c логикой на JavaScript

Reading time8 min
Views58K


Для кого и зачем эта статья?


Когда изучаешь новую технологию или язык программирования, основные понятия всегда носят относительно рутинный характер и поэтому, на мой взгляд, быстро отбивают желание обучаться у начинающих. Цель данной статьи — это заинтересовать и увлечь читателя изучением программирования на примере разработки элементарной графики в динамическом режиме. Статья подойдет для начинающих разработчиков, которые ознакомились с основами HTML5 и JavaScript, и которым наскучило видеть статический текст на страничке при выводе в консоль браузера массивов, объектов, результатов арифметических операций и т.д. Далее мы реализуем простейшую, но полезную для понимания языка анимацию.
Читать дальше →

Программный интернет шлюз для уже не маленькой компании (Shorewall, плюшки). Часть 4

Reading time2 min
Views4.1K
Представляю четвертую статью из серии, ориентированных на «продолжающих» системных администраторов, для опытных я вряд ли открою что-то новое.

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

Конкретно в этой части:
  • Автоматические события
  • Макросы

А в первой части были рассмотрены:
  • Простейшая настройка Shorewall
  • Ужасно сложная настройка dnsmasq
  • Не менее сложная настройка OpenVPN
  • И для многих продолжающих админов нетипичная, динамическая маршрутизация, на примере OSPF

А во второй:
  • Более подробная настройка Shorewall
  • Страшный и не понятный QoS
  • Балансировка нагрузки и резервирование

А в третьей:
  • QoS во всю ширь в Shorewall
  • Более подробная настройка Shorewall
  • Раскидывание трафика по каналам в соответствии с протоколами
  • Костыли, без них, никуда

Читать дальше →

Iosevka — ещё один шрифт для кодинга

Reading time1 min
Views23K
Не совсем уже новость, но появился новый шрифт для программеров — Iosevka. Появляться он начал ещё осенью, но на Хабре упоминаний пока не было.



Iosevka — стройный моноширинный шрифт, вдохновлённый такими шрифтами, как Pragmata Pro, M+ и PF DIN Mono. Имеются варианты как с засечками, так и без, начертания с разными степенями жирности. Кириллица есть, само собой. Шрифт генерируется полностью из открытого исходного кода (при участии Node.js), путём настройки можно изменить начертание некторых знаков (таких как «a», «g», «l» и других).
Читать дальше →

Основные особенности стандарта 802.11ac

Reading time10 min
Views38K


Стандарт 802.11ac принят в 2014 году, а устройства с его поддержкой, как водится, появились раньше. Как многие знают, в нем значительно увеличена скорость передачи данных (теоретически, до 6.7 Гбит/с!). Достигается это благодаря увеличенной ширине каналов (до 160 МГц), количеству потоков (до 8) и новой улучшенной модуляции (256-QAM). Конечно, не все новшества стандарта стали доступны сразу. Реализация на точках доступа и клиентских станциях происходит поэтапно. Первая волна (wave 1) устройств поддерживает каналы 80 МГц, модуляцию 256-QAM и два-три пространственных потока. Корпоративные точки доступа второй волны (wave 2), появившиеся в 2015 году, поддерживают ширину канала до 80 МГц и до четырех пространственных потоков, что дает скорость 1.7 Гбит/с. Также, для второй волны устройств добавлена поддержка многопользовательского пространственного мультиплексирования MultiUser-MIMO (MU-MIMO). Эта технология позволяет передать несколько потоков информации нескольким пользователям одновременно (ага, точка доступа превращается в некий беспроводной коммутатор). Сейчас практически любое новое устройство с беспроводной Wi-Fi сетью поддерживает как минимум первую волну стандарта.

При подборе оборудования, планировании беспроводных сетей, мы обратили внимание, что, немногие заказчики ориентируются на поддержку нового стандарта, либо вообще просят поставить старое оборудование предыдущих поколений. У некоторых это продиктовано корпоративными стандартами, внутренними требованиями, а кто-то просто не знает особенностей или не видит плюсов использования. Вот мы и решили написать коротко об основных «фишках» стандарта.
Читать дальше →

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

Reading time6 min
Views9.1K
Я — frontend разработчик и в последнее время мне все чаще приходится пользоваться нодой, будь то использование webpack-а для сборки проекта, либо настройка различных gulp тасков. Хоть у меня и нету большого опыта в использование ноды, со временем у меня накопилось три вещи, которые мне хотелось бы улучшить при работе с модулями:

  • Избавиться от кучи require-ов в начале каждого файла
  • Подгружать модули только тогда, когда они нужны(особенно это актуально для gulp тасков)
  • Иметь возможность работать с локальными модулями проекта, как с внешними модулями, то есть вместо, например,
    вызова var core = require('../../deep/deep/deep/core/core'), вызывать этот же модуль вот так var core = require('core')

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

Я знал, как валидировать email-адрес. Пока не прочитал RFC

Reading time5 min
Views139K
От переводчика: прочитав статью, начал было отвечать в комментариях, но решил, что текст, на которую я собирался ссылаться, достоин отдельной публикации. Встречайте!
Если вы знаете, как валидировать email-адрес, поднимите руку. Те из вас, кто поднял руку — опустите её немедленно, пока вас кто-нибудь не увидел: это достаточно глупо — сидеть в одиночестве за клавиатурой с поднятой рукой; я говорил в переносном смысле.

До вчерашнего дня я бы тоже поднял руку (в переносном смысле). Мне нужно было проверить валидность email-адреса на сервере. Я это уже делал несколько сот тысяч раз (не шучу — я считал) при помощи классного регулярного выражения из моей личной библиотеки.

В этот раз меня почему-то потянуло ещё раз осмыслить мои предположения. Я никогда не читал (и даже не пролистывал) RFC по email-адресам. Я попросту основывал мою реализацию на основе того, что я подразумевал под корректным email-адресом. Ну, вы в курсе, что обычно говорят о том, кто подразумевает. [прим. перев. Автор имеет в виду игру слов: «when you assume, you make an ass out of you and me» — «когда вы (что-то) подразумеваете, вы делаете /./удака из себя и из меня»]

И обнаружил кое-что занимательное: почти все регулярные выражения, представлены в интернете как «проверяющие корректность email-адреса», излишне строги.
Читать дальше →

GIF изнутри

Reading time7 min
Views58K

Вам когда-нибудь было интересно, как устроены gif-ки? В данной статье попробуем разобраться с внутренним строением GIF-формата и методом сжатия LZW.

Структура GIF


Файл в формате GIF состоит из фиксированной области в начале файла, за которой располагается переменное число блоков, и заканчивается файл завершителем изображения.


Читать дальше →

Работа с цифровыми подписями PGP с использованием Bouncy Castle Cryptography Library на Java

Reading time6 min
Views13K
В данном руководстве мы рассмотрим работу с OpenPGP на Java с использованием библиотеки Bouncy Castle Cryptography Library с ориентацией на использование в веб-разработке.

image
Читать дальше →

VoIP + Cisco Packet Tracer

Reading time5 min
Views77K


Работая с программой Cisco Packet Tracer, часто замечал в ней различные телефонные устройства, а также ПО на клиентских устройствах, при помощи которого, можно организовывать телефонные звонки. В связи с этим, возникла идея смакетировать сеть, состоящую из всех устройств данного симулятора (cisco packet tracer 6.2), которые могут звонить и принимать звонки. При написании данной статьи, возник вопрос: «Можно ли подготовиться к экзамену CCNA Voice, при помощи данной программы?». И на этот вопрос, я постараюсь ответить в данной статье.
Читать дальше →

Information

Rating
Does not participate
Location
Снежинск (Челябинская обл.), Челябинская обл., Россия
Date of birth
Registered
Activity