Как стать автором
Обновить
4
0.2
Алан Гибизов @phaggi

Питонофил

Отправить сообщение

Сказ об одной ошибке, так и не попавшей в релиз ядра Linux

Время на прочтение3 мин
Количество просмотров28K
Совсем недавно вышло исправление, устраняющее полное зависание 32-битного ядра Linux при загрузке на процессорах Intel. Здесь небольшая история о том, откуда появилась ошибка и какие проводились исследования по поиску причин её возникновения.
Читать дальше →
Всего голосов 47: ↑44 и ↓3+41
Комментарии46

Как я научился делать мир лучше в HeadHunter

Время на прочтение4 мин
Количество просмотров24K
До того, как я пришел в HeadHunter, я не знал, что такое code review. Я знал, что такое code approval — так было в одной американской компании, где я начинал свою карьеру, и где весь код в проекте проходил перед мудрыми глазами профессора Фортрана за столиком в глубине офиса. Он с отеческой улыбкой смотрел на мои первые шаги в разработке и говорил: «Вот тут поправь, пожалуйста, и можешь выпускать».



Читать дальше →
Всего голосов 42: ↑27 и ↓15+12
Комментарии17

Трехмерные фигуры Сома как идея для детского конструктора

Время на прочтение2 мин
Количество просмотров17K
В прошлой публикации мы рассмотрели новый замок для кубиков из нашего конструктора. Очередное применение кубикам правильной формы мы нашли для построения фигур Сома. Все было как всегда: кто-то сказал, что это было идеально, а мы полезли в интернет и поняли, что это не просто идеально, а, практически, единственное правильное решение использовать для этого конструктор открытого проекта Куботроник. Более того, покупные решения обходятся не дешевле. Но обо всем по порядку.

Идеально, т.к. после соединения кубиков для получения нужных блоков НИЧЕГО не выступает.



После беглого ознакомления с источниками в интернете мы попали на официальную страницу кубиков Сома, по версии Википедии. В других источниках, в том числе, в книге Гарднер Мартин «МАТЕМАТИЧЕСКИЕ ГОЛОВОЛОМКИ И РАЗВЛЕЧЕНИЯ» 1971 года, были даны подробное обоснование уникальности предложенной концепции и примеры решений.
Читать дальше →
Всего голосов 25: ↑19 и ↓6+13
Комментарии13

Лучшие доклады .NEXT 2014 в Питере (видео внутри)

Время на прочтение3 мин
Количество просмотров11K
Очередная конференция .NEXT состоится уже через месяц в Питере. Пришло время провести небольшую ретроспективу докладов и показать вам, какие доклады стали лучшими в Питере год назад.



Как мы собираем фидбэк


После каждой из конференций мы собираем фидбэк с участников, рассылая им в почту анкету. Мы просим участников оценить каждый из посещенных докладов по «школьной» шкале:
  • плохо — 2 балла
  • нормально — 3 балла
  • хорошо — 4 балла
  • отлично — 5 баллов


Ну а дальше мы просто считаем среднее, и на основе этого среднего для каждой конференции получаем рейтинг спикеров. Очень просто, правда? На вопросы анкеты отвечают обычно около половины участников, что дает нам возможность говорить о том, что выборка релевантна.
Лучшие доклады .NEXT 2014 Piter
Всего голосов 18: ↑16 и ↓2+14
Комментарии2

Облака — белогривые лошадки или безопасный ownCloud для «маленьких» в FreeNAS

Время на прочтение13 мин
Количество просмотров60K
image
ownCloud, как утверждает Википедия — это Свободное и открытое веб-приложение для синхронизации данных, расшаривания файлов и удалённого хранения документов в «облаке». И, как мне кажется, довольно интересное решение для организации собственного домашнего облака.

Однако, ownCloud, устанавливающийся в виде плагина в системе FreeNAS, да и просто из коробки, имеет ряд недостатков, от которых хотелось бы избавится даже при использовании дома:
  • Во-первых, устанавливается в связке с SQLite, что подходит только если у вас небольшое кол-во файлов и пользователей, и абсолютно не подходит, если вы планируете синхронизацию с помощью клиента. У меня же хранилище уже расползлось почти на 5Tb и установленный таким образом ownCloud просто отказывался видеть часть файлов. Да и без синхронизации отдача от облака не велика. Заменим базу данных на MariaDB.
  • Во-вторых, отсутствует работа по https, а мне совсем не нравится мысль о том, что кто-то может перехватить мои файлы. Включим https.
  • В-третьих, начисто отсутствует защита от банального подбора пароля методом брутфорса. Защитимся от брутфорса с помощью fail2ban.
  • В-четвёртых, мне лень часто просматривать логи на предмет взлома, но очень хочется оперативно узнавать о таких попытках. Настроим push-оповещения о попытках подбора пароля с помощью сервиса pushover.net.

Как же это всё сделать
Всего голосов 26: ↑23 и ↓3+20
Комментарии48

Полная энергетическая автономия или как выжить с солнечными батареями в глубинке (часть 3. переходная)

Время на прочтение7 мин
Количество просмотров152K


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



Начать экономию
Всего голосов 61: ↑60 и ↓1+59
Комментарии97

Файловая система Linux полностью на tmpfs — скорость без компромиссов

Время на прочтение4 мин
Количество просмотров121K

Предыстория


Так сложилось, что уже пять лет мой раздел ntfs с операционной системой Windows располагается на рамдиске. Решено это не аппаратным, а чисто программным способом, доступным на любом ПК с достаточным количеством оперативной памяти: рамдиск создается средствами загрузчика grub4dos, а Windows распознаёт его при помощи драйвера firadisk.

Однако до недавнего времени мне не был известен способ, как реализовать подобное для Linux. Нет, безусловно, существует огромное количество линуксовых LiveCD, загружающихся в память при помощи опций ядра toram, copy2ram и т. д., однако это не совсем то. Во-первых, это сжатые файловые системы, обычно squashfs, поэтому любое чтение с них сопровождается накладными расходами на распаковку, что вредит производительности. Во-вторых, это достаточно сложная каскадная система монтирования (так как squashfs — рид-онли система, а для функционирования ОС нужна запись), а мне хотелось по возможности простого способа, которым можно «вот так взять и превратить» любой установленный на жесткий диск Linux в загружаемый целиком в RAM.

Ниже я опишу такой способ, который был с успехом опробован. Для опытов был взят самый заслуженный дистрибутив Linux — Debian.
Читать дальше →
Всего голосов 83: ↑74 и ↓9+65
Комментарии167

Удобный мониторинг Syslog сообщений c сетевых железок в Zabbix

Время на прочтение16 мин
Количество просмотров139K
Неотъемлемой частью сетевого мониторинга является сбор логов с контролируемых серверов и прочих железок. Ведь сколько бы мы ни создали отдельных элементов данных и триггеров к ним, в какой-то момент возникнет ситуация, что что-то важное мы упустили из виду и не контролируем. Итог: «У нас ничего не работает», а система мониторинга говорит, что все хорошо.

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

Как это сделать на серверах или компьютерах, где установлен заббикс-агент, многие знают — есть встроенные элементы данных log[], logrt[].

Но как быть, когда нужно собирать логи с сетевого оборудования, на которое никак не водрузить Zabbix-agent’а? Вообще-то можно, конечно, настроить syslog-сервер на том же ПК, на которой есть заббикс-агент, а дальше при помощи log[] переносить эти данные в заббикс. Вот только элементы данных и триггеры по нему будут прикреплены к узлу сети с заббикс-агентом, что интуитивно малопонятно. А можно ли прикрепить эти данные непосредственно к сетевому устройству? Можно.

Для этого нам понадобится zabbix_sender, Zabbix API и rsyslog на машине с заббикс-сервером или заббикс-прокси. В качестве бонуса также получим быстрый контекстный переход в журнал syslog-сообщений с карты сети.
Как будет выглядеть результат? Ну, примерно вот так:
Контекстный вызов:


Читать дальше →
Всего голосов 15: ↑14 и ↓1+13
Комментарии23

Разбираемся с установкой и загрузкой Linux на примере ArchLinux

Время на прочтение17 мин
Количество просмотров126K
Сначала мы установим Archlinux и превратим его в загрузочный сервер. Прямо оттуда подготовим новую компактную систему, в которую добавим минимальное графическое окружение и самый необходимый функционал (на примере Firefox). Научим нашу систему загружаться по сети даже на компьютерах с UEFI. Затем полностью переведём её в режим «только для чтения» (сделаем «живой»), что позволит нам использовать систему одновременно хоть на пол сотне разномастных компьютеров с одним единственным загрузочным сервером. Это всё будет работать даже внутри дешёвой 100-Мб сети, которую мы дополнительно «разгоним» в пару раз.

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

Постараюсь без долгих рассуждений пояснять происходящее, иногда забегая немного вперёд, но впоследствии обязательно раскладывая всё по полочкам. Чтобы у вас вообще не возникало проблем с пониманием, предполагаю, что вы уже работали с каким-нибудь готовым дистрибутивом Linux, пробовали писать простые скрипты с помощью nano или другого текстового редактора. Если вы новичок в ArchLinux, то узнаете много нового, а если «старичок», то узнаете поменьше, но, надеюсь, что в любом случае вы ещё сильнее полюбите Linux.

Информации оказалось очень много. И по устоявшейся голливудской традиции впереди вас ждёт сериал в нескольких частях:
продолжение;
окончание.

Сейчас мы установим Archlinux в VirtualBox, который можно будет клонировать и запускать практически на любом компьютере с legacy BIOS без каких-либо дополнительных настроек. Между делом мы познакомимся с основными приёмами работы с systemd, а также узнаем как его использовать для запуска произвольных служб и программ во время загрузки. Ещё мы увидим, какие этапы проходит Linux при загрузке, и напишем собственный обработчик (hook), который поместим в initramfs. Не знаете что такое initramfs? Тогда заходите под кат.
Читать дальше →
Всего голосов 11: ↑6 и ↓5+1
Комментарии7

Mikrotik: скрипт переключения на резервный канал интернета

Время на прочтение10 мин
Количество просмотров58K
Хочу поделиться своим скриптом для перехода на резервный интернет, когда основной пропадает, и возврату на основной, как только он вновь заработает. Сразу скажу, каналы доступны по-одному, никакого load-balance тут не будет. Оба канала — PPP соединения (в моем случае один проводной, второй — 3G свисток). Скрипт сделан специально как наиболее гибкое средство мониторинга, так как другие варианты, в частности check-gateway, не совсем корректны для меня.
Читать дальше →
Всего голосов 24: ↑22 и ↓2+20
Комментарии6

GNU Emacs. Статья, которую я так и не нашел…

Время на прочтение13 мин
Количество просмотров122K
Доброго времени суток, Читатель!

В данной статье хочу подробно рассказать про настройку текстового редактора GNU Emacs.

Операционная система GNU Emacs — программируемый текстовый редактор для программистов, написанный на программируемом языке программирования.

Для расширения Emacs используется диалект языка LispEmacs Lisp.
Читать дальше →
Всего голосов 96: ↑81 и ↓15+66
Комментарии44

26 советов начинающим стартаперам от опытного предпринимателя

Время на прочтение11 мин
Количество просмотров94K
*Эта статья впервые была опубликована в журнале Forbes от 27 Июня 2014 года. На Хабре публикуется её полная версия.

Вот уже 9 лет я занимаюсь интернет-бизнесом и за это время успел создать и вывести на прибыльность 5 собственных стартапов. Кроме того, один из основных моих бизнесов – это заказная веб-разработка, куда часто приходят клиенты, которые хотят разработать свой интернет-стартап и поэтому я все 9 лет каждый день сталкиваюсь с разными проектами, многие из которых являются стартапами в полном смысле этого слова.
Читать дальше →
Всего голосов 71: ↑56 и ↓15+41
Комментарии54

Опыт продвижения проекта с минимальными затратами

Время на прочтение2 мин
Количество просмотров38K


Год назад началась история Raindrop.io. За это время сервис посетило 250 000 человек, а количество сохраненных закладок перевалило за 2.5 миллиона. На данный момент реализована веб-версия, расширения для всех браузеров, Android и iOS клиент. Как и прежде в проекте я один. В этом посте я постараюсь поделиться накопленным опытом и рассказать о важных событиях случившихся с проектом.
Читать дальше →
Всего голосов 67: ↑55 и ↓12+43
Комментарии41

Автоматическое подключение сетевых МФУ с возможностью сканирования [Часть 1]

Время на прочтение8 мин
Количество просмотров168K

HP LaserJet 1522, 1536, 3052/3055, 300/400 Color...


Я думаю, многим системным администраторам известны описанные в заголовке мфу, отличаются они, в первую очередь, не очень удобной установкой и от этого имеют дурную славу. Однажды, копируя на очередной компьютер сквозь узкий канал пакет fullsolution для мфу весом около 300 мегабайт, идея разобрать этот инсталлятор и автоматизировать установку вылезла попапом на глаза — работу пришлось приостановить.



Разбором драйвера я занимался уже около полутора лет назад, в то время интернет на эту тему был совершенно пуст. Сейчас быстро погуглил по теперь уже известным мне ключевым словам утилит и нашел немного разрозненной информации. Несмотря на это, я решил. что собранная в одно место информация все равно не помешает, при том, что в этом посте она более полная.
Читать дальше →
Всего голосов 31: ↑30 и ↓1+29
Комментарии35

Информация

В рейтинге
2 198-й
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность