Pull to refresh
28
0
Ксения Лисовская @sHaggY_caT

DevOPS/SRE/BackEnd developer/QA

Send message

Оптимизация Linux для desktop и игр

Reading time8 min
Views174K
В этой статье я хочу поделиться почти 10-летним опытом использования Linux на домашнем компьютере. За это время я провел много экспериментов над ядром, испробовал различные конфигурации для разных применений и теперь хочу все это систематизировать в длинный пост с рекомендациями как выжать из linux максимум и добиться отличной производительности, без необходимости покупать мощное железо.

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

Хоть я и пообещал, что после прочтения этой статьи, можно будет играть в Metro 2033 на калькуляторе (шутка, такого не будет), все же она начнется с рекомендации купить кое-что из железа, если у вас этого еще нет.
Читать дальше →
Total votes 132: ↑99 and ↓33+66
Comments296

28 ошибок стартапера в глазах инвестора. Опыт бизнес-ангела

Reading time8 min
Views64K
На ранней стадии стартапа большинство предпринимателей сталкивается с необходимостью заинтересовать инвестора с целью привлечения финансирования, но многим в этом непростом деле не хватает либо опыта, либо знаний, либо и того и другого, в результате чего презентация выходит ниже всякой критики.



Управляющий директор венчурного фонда Vantage Point Capital Partners Ричард Хэррок в своей жизни повидал немало элеватор-спитчей и, решив поделиться опытом, составил для Forbes список основных ошибок и поступков, которых стартапер должен избежать во время презентации своего продукта, если хочет обрести благосклонность бизнес-ангела или привлечь венчурные инвестиции.
Читать дальше →
Total votes 59: ↑43 and ↓16+27
Comments19

Proxmox API. Введение

Reading time5 min
Views25K
Всем привет!
Сегодня я бы хотел немного рассказать об использовании API небезызвестной системы виртуализации — Proxmox.

Предыстория…
С проксмоксом я столкнулся несколько лет назад, когда мне в руки попала неплохая машина, расположенная в одном из дата центров пресловутого Хетзнера. На тот момент у нас встал вопрос о поднятии виртуализации под свои нужды. Мы рассматривали несколько вариантов, а именно: VMWare, OpenStack и конечно же Proxmox. Не буду говорить, что он лучше 2-ух других кандидатов, просто на тот момент он вполне удовлетворял нашим потребностям. Через некоторое время, появилась необходимость создать своего рода панель управления для сторонних пользователей, которые могли бы просто отслеживать статус своей виртуальной машины, запускать/останавливать ВМ, делать ребут, а так же управлять несколькими настройками. Конечно же, проксмокс позволяет добавлять пользователей, а так же группы пользователей и назначать им свои права. Но нам такой вариант не подходил. Не знаю как сейчас, но на тот момент нормальной документации API Proxmox на русском языке не было. Меня, конечно же, это не остановило и я вполне обошелся англоязычной версией, в которой кстати все очень хорошо и наглядно описано. Однако, всегда есть люди, которые не очень ладят с английским. Так вот, эта статья для Вас.
Сразу оговорюсь, что все VM (виртуальные машины) у нас были на базе KVM. Следовательно и API которое мы рассмотрим в этой статье будет для машин на базе KVM с использованием PhP.

Читать дальше →
Total votes 13: ↑12 and ↓1+11
Comments7

Basis: B1

Reading time5 min
Views19K
Привет, Хабр!

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

Исправить ситуацию я решил с помощью классического устройства, впервые продемонстрированного на CES 2012. Два года прошло, но оно не потеряло актуальности — а сам тренд стал более популярным. Это Basis B1.

image

k1b0rg
Столько железок! И все ради того, что бы оторвать задницу от стула.

HomoLuden
Интересно, сколько человеко-часов потрачено в сидячем положении, чтобы мы смогли заставить себя из такого же положения выйти на время?

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

Activité: фитнес-трекер, который не похож на все остальные трекеры

Reading time2 min
Views37K
The Withings Activité aims to be both a functional activity tracker and a fashionable acce...
Фотография часов попала сюда по ошибке? Ах да, это и есть фитнес-трекер, первое впечатление обманчиво.

Подавляющая часть гаджетов из мира носимой электроники выглядят весьма технологично и стильно. Это — гаджеты с софт-тач покрытием, из металла и пластика, которые выглядят… ну, как гаджеты. Можно даже говорить о стиле «hi-tech», который очень многим нравится.

Многим, но не всем. Те же умные часы Pebble всем хороши, но человек, у которого есть любимые механические часы, не всегда откажется от своих часов в пользу такого устройства. Что делать, если хочется приобрести умный гаджет, например, фитнес-трекер, но не нравится то, как он выглядит? Теперь выход есть, и этим выходом можно назвать Activité, механические часы фитнес-трекер стильный гибрид механических часов и фитнес-трекера, созданный компанией Withings.

Activité — первое устройство, созданное компанией, с уклоном в мир моды, весьма технологичной моды.

Читать дальше →
Total votes 52: ↑47 and ↓5+42
Comments56

LifeTrak: мы думали, что у Pebble нет конкурентов

Reading time4 min
Views21K
Осенью 2014 года в продажу поступит четвертый по счету LifeTrak с индексом R450 (R415). Компания успешно открыла для себя возможности циркуля, и создала первый круглый гаджет в своей продуктовой линейке.

При этом столь радикальный подход к форме сопровождается традиционным бережным подходом к «содержанию». Те, кто помнит, как чутко изменялись устройства LifeTrak, то революции от R450 и не ждут, В новом гаджете количество ключевых особенностей, заявленных разработчиком, повысится всего на единицу, с 12 до 13! В общем, часики не для суеверных.

Нам, как официальному дистрибьютору LifeTrak в РФ, удалось в числе первых получить новинку и ее протестировать. Что нам понравилось, а что нет в новых часах от LifeTrak — читаем под катом.


Осторожно, трафик, много фотографий.
Читать дальше →
Total votes 24: ↑19 and ↓5+14
Comments34

FiDELYS: умные часы, фитнес-трекер и система безопасности

Reading time2 min
Views18K


Умных часов стало еще больше: на днях появилась информация о FiDELYS, интересном устройстве, которое отличаются от аналогов наличием некоторых, действительно уникальных, функций.

Эти часики, насколько можно понять из описания, предоставленного разработчиками, можно использовать в качестве системы безопасности/аутентификации, благодаря встроенной технологии Iris Verification. Плюс ко всему, FiDELYS можно будет заряжать при помощи беспроводной зарядки.

Читать дальше →
Total votes 37: ↑30 and ↓7+23
Comments12

Почему вам следует загрузить свой разум в суперкомпьютер?

Reading time8 min
Views121K


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

Отправиться к звёздам в виде «программного обеспечения» корабля? Стать подлинным Искусственным Интеллектом и творить виртуальные миры во всю силу воображения? Получить тело робота и наслаждаться жизнью неуязвимой машины? Всё возможно, даже если предел ваших мечтаний — небольшая «прокачка» мозга с целью повышения работоспособности. Осталось дождаться технологической сингулярности и заранее решить несколько интересных проблем.
Читать дальше →
Total votes 138: ↑108 and ↓30+78
Comments417

Эффективная многопоточность в Python

Reading time7 min
Views76K
Хочу поделиться простым рецептом, как можно эффективно выполнять большое число http-запросов и других задач ввода-вывода из обычного Питона. Самое правильное, что можно было бы сделать — использовать асинхронные фреймворки вроде Торнадо или gevent. Но иногда этот вариант не подходит, потому что встроить event loop в уже существующий проект проблематично.

В моем случае уже существовало Django-приложение, из которого примерно раз в месяц нужно было выгрузить немного очень мелких файлов на AWS s3. Шло время, количество файлов стало приближаться к 50 тысячам, и выгружать их по очереди стало утомительным. Как известно, s3 не поддерживает множественное обновление за один PUT-запрос, а установленная опытным путем максимальная скорость запросов с сервера ec2 в том же датацентре не превышает 17 в секунду (что очень не мало, кстати). Таким образом, время обновления для 50 тысяч файлов стало приближаться к одному часу.

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

Получается, всего-то нужен пул потоков, который будет выполнять запросы. К счастью, такой пул уже написан. Начиная с версии 3.2 для унификации всей асинхронной работы в Питоне появилась библиотека concurrent.futures. Для второй версии Питона есть бекпорт под именем futures. Код до безобразия прост:

from concurrent.futures import ThreadPoolExecutor

with ThreadPoolExecutor(concurrency) as executor:
    for _ in executor.map(upload, queryset):
        pass

Здесь concurrency — число рабочих потоков, upload — функция, выполняющую саму задачу, queryset — итератор объектов, которые по одному будут передаваться в задачу. Уже этот код при concurrency в 150 смог пропихнуть на сервера Амазона ≈450 запросов в секунду.
Читать дальше →
Total votes 31: ↑27 and ↓4+23
Comments12

Развертывание сервера на Windows Server 2012 / Dell PowerEdge R420 с использованием puppet

Reading time7 min
Views33K

Задача


Необходимо развернуть сервер со следующими требованиями:

  • Массив дисков RAID-10
  • Full Performance in BIOS
  • Windows Server 2012 с всеми обновлениями и патчами
  • Это будущий сервер приложений со службами для которых необходим .net 4.5
  • Мониторинг доступности сервера, а также CPU, Памяти и свободного места на диске
  • Необходимо подключить сервер к системе выкатки релизов Octopus Deploy


Сложности


Основное требование здесь — все должно быть максимально автоматизировано, участие человека минимизировано до 1 минута «в начале» и 1 минута «в конце». Целью такой автоматизации является потенциальная необходимость «поднять» в дальнейшем несколько новых серверов достаточно быстро. Решение должно быть не сложным для восприятия младшими админами и разработчиками, в чьи обязанности развертывание серверов не входит.
Читать дальше →
Total votes 18: ↑7 and ↓11-4
Comments7

Автоконфигурация с помощью Puppet и AWS Cloud Formation

Reading time9 min
Views8.9K
imageВот и настал тот день, когда пришлось отложить в сторону кукбуки, рецепты, нож шеф-повара и немного позаниматься кукловодством.
Для начала постановка задачи довольно тривиальная — организовать для девелоперов возможность быстро и просто разворачивать окружение. Обязательное требование — для автоконфигурации использовать Puppet Enterprise
Читать дальше →
Total votes 7: ↑6 and ↓1+5
Comments10

Puppet + Opsview: автоматический мониторинг на основе шаблонов

Reading time5 min
Views8.4K

Задача


Мы используем Opsview для мониторинга и Puppet для управления конфигурациями. В Opsview есть шаблоны (Host Templates), которые позволяют определить определенный список проверок (Service Checks) для определенного типа хостов. Например для хоста с шаблоном IIS будут проверяться всевозможные параметры IIS данного хоста, к примеру количество текущих подключений или например средняя скорость подключения.

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

Сложности


Основная сложность здесь, как обычно, в том что этого никто не сделал этого для меня. Не существует модуля «Мониторинг IIS в один клик» для моей инфраструктуры. Практически сложность заключается в том, как сообщить модулю который управляет конфигурацией Opsview что в другом модуле создали сайт, передать параметры URI которые нужно мониторить, а также имена шаблонов хоста (в данном случае это будет как минимум шаблон IIS). Мои попытки и пробы включали следующее:
Читать дальше →
Total votes 15: ↑15 and ↓0+15
Comments0

Chef или как управлять тысячей серверов

Reading time10 min
Views72K
Suck on my chocolate salty balls (c) ChefДавайте каждый попробует ответить на вопрос: как установить apache на сервер? Этот вопрос порождает ещё десяток: какая ОС стоит на сервере, какую версию ставить, где лежат конфиги по-умолчанию и т.д. и т.п.

А теперь давайте попробуем ответить на вопрос: как установить apache на 1000 серверов? Тут, при стандартном подходе, вопросов возникнет ровно в 1000 раз больше. Часть из вас наверняка подумали, что можно написать скрипт на shell/perl/python/ruby, который будет обходить все сервера и устанавливать apache, другая часть подумала о distributed shell'ах (PDsh, dsh, etc), кто-то же подумал монтировать rootfs серверов по NFS.

В ряде случаев выше предложенные варианты решений удовлетворительны, но на практике я нигде не видел полностью гомогенных систем (зачастую, внутри компании можно встретить не только разные версии ОС, но и различные дистрибутивы. Также в России/СНГ очень распространена каша из FreeBSD/Linux в ядре проектов), так что вряд ли за адекватное время будет возможно написать скрипт, который установит и настроит apache на зоопарке в 1000 машин под CentOS, Debian, Ubuntu, FreeBSD всевозможных версий.

По моим наблюдениям, очень мало IT подразделений, даже очень крупных компаниий, используют в своей работе SCM (Software Configuration Management). В этом посте я постараюсь описать все преимущества использования Chef в IT инфраструктуре на простых примерах и больших масштабах.

Если же, после столь короткого вступления, вы не прониклись идеей Chef, да и времени читать длинный технический пост у вас нет, то рекомендую вам пролистать до конца и посмотреть как используем Chef мы, Engine Yard, 37signals и подумать, можете ли вы переложить на него часть своей работы.
Читать дальше →
Total votes 97: ↑91 and ↓6+85
Comments26

Факты в puppet

Reading time2 min
Views11K
Зачастую мы сталкиваемся с проблемой что стандартных фактов которые поставляются вместе с puppet не всегда хватает. Решение этой проблемы может быть достигнуто путем добавления новых фактов. Вы можете добавлять свои факты, написанные на Ruby, на puppet сервер. Затем сервер, используя синхронизацию плагинов, распространит их на все клиенты.
Читать дальше →
Total votes 7: ↑6 and ↓1+5
Comments3

Как и зачем защищать доступ в Интернет на предприятии — часть 1

Reading time10 min
Views57K
Сегодня мы с вами цинично поговорим о старой-доброй задаче – защите сотрудников и их рабочих станций при доступе к Интернет-ресурсам. В статье мы рассмотрим распространённые мифы, современные угрозы и типовые требования организаций по защите веб-трафика.

Если из всей статьи вы запомните всего один факт, то знайте – на сайтах для взрослых шанс подцепить зловреда в десятки раз меньше, чем на обычных Интернет-ресурсах.


Узнать больше
Total votes 35: ↑29 and ↓6+23
Comments61

Настройка современного Puppet сервера с нуля

Reading time9 min
Views64K
Недавно я переосмыслил процедуру установки нового сервера Puppet с нуля на Ubuntu 12.04, включая все современные свистелки и перделки. В итоге у меня получился этот гайд.

Для начала нам потребуется чистая Ubuntu c работающей сетью и настроенным DNS.

В итоге мы должны получить:
  • Установленый везде Puppet 3-й версии
  • Конфиги в git репозитории с общим доступом
  • Динамические окружения, управляемые r10k
  • Поддержку PuppetDB
  • Поддержку Hiera


Данное руководство довольно длинное, т.к. все настройки делаются вручную, чтобы впоследствии легко можно было пользоваться результатом и подстраивать его под себя. Единственным исключением является PuppetDB, который проще установливать через собственный модуль от Puppet Labs, а не вручную.

Предполагается, что все команды будут выполнены от пользователя root на сервере Puppet, если не указано иное.
Читать дальше →
Total votes 33: ↑30 and ↓3+27
Comments15

Тонкая настройка Synaptics Touchpad

Reading time3 min
Views118K
Synaptics производит отличные тачпады: они отзывчивы, обладают мультитачем и, что самое главное, их можно долго и нудно легко и просто настраивать под свои ловкие пальчики.

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

Бесстрашный Хабраюзер, готов ли ты бороться со вселенской несправедливостью? Тогда добро пожаловать под хабракат, тебя ждет море удовольствия, linux-way и миллионы счастливых кликов на выходе :)
Читать дальше →
Total votes 62: ↑46 and ↓16+30
Comments51

Как смотреть фильмы в оригинале, если английский слабоват? Решение!

Reading time5 min
Views55K


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

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

В интернете полно методик, где советуют, например, смотреть по 3 раза или подготавливаться к просмотру, выписывая и заучивая заранее слова из субтитров. Да, возможно это эффективно, и кому-то подойдут такие способы, но это же так скучно… Я бы не смог смотреть 3 раза подряд один и тот же фильм. Хочется получать удовольствие от просмотра, смотреть сразу и без подготовки и все понимать.

Как же этого добиться?
Total votes 196: ↑186 and ↓10+176
Comments105

Каков он — рекламный бюджет стартапа?

Reading time11 min
Views21K
на пути к идеальному рекламному бюджету

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

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

Конец февраля ознаменовался началом операции. Действовали строго по сценарию, но скоро стало понятно, что с рекламой вышла накладочка. Правда, не такая, как вы подумали. Расположитесь поудобнее, вас ожидает занимательное чтиво.
Читать дальше →
Total votes 48: ↑39 and ↓9+30
Comments65

un1c0rn, «Google для уязвимостей»

Reading time2 min
Views25K
На хабре уже появлялись статьи о незащищенных инстансах mongodb и непропатченных openssl с heartbleed.
Проект un1c0rn решил не мелочиться и сделать целый «поисковик уязвимостей», в статье на Motherboard.vice.com un1c0rn даже назвали «Google-ом для уязвимостей».



UPDATE 17.06.14 — un1c0rn стал платным! Теперь для доступа к результатым эксплойтов они просят перевести на их кошелек сумму не менее 0,01 BTC
Warning:
Only part of the leaked data is available.
Send your contribution to… (> 0.01 BTC) to unlock the full leak.


Читать дальше →
Total votes 51: ↑50 and ↓1+49
Comments29

Information

Rating
Does not participate
Location
Канада
Registered
Activity