MiniDevicesInfo ИТ блоги 2017-09-19 2017-09-19 Отображаются все разделы
1234

root
0

Информационная безопасность
Фриланс
Работа
Upwork
Freelance.com

1 комментариев
Upwork vs Freelancer.com - за и против

Когда-то давным давно, мой бывший коллега Юрий пришел на работу с гордой новостью: он зарегистрировался на сайте Odesk. Тогда еще я не слышал о таком, но после краткого рассказа Юрия и моего чтения в Google, я понял что это.

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

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


Несколько первых заданий пришлось сделать за дешево, для создания репутации. Следующее задание показалось мне очень вкусным, 200 долларов за сайт для спортивной организации, Греция. После детального объяснения с греком, что и к чему, мне понадобилась неделя, чтобы написать этот сайт с нуля. Что я и сделал, грек остался доволен, и передал мне 200 долларов.


Однако не прошло и пары дней, как мой аккаунт оказался забанен. На попытки выяснить, ПОЧЕМУ, идиотский саппорт Одеска отмораживался "policy violation, please wait", а поскольку полиси виолейшн - это дела секьюрити-департмента, где работает 1.5 человека, то между ответами в тикете нередко проходило два или три дня. Меня зачем-то заставили верифицироваться выписками с банков на фоне меня, попросили переписку с клиентом, и еще какие-то гадости. Спустя три недели, все таки разбанили и сообщили причину: проблемы с клиентом. Судя по всему, этот махинатор оплатил мою работу с паленной (или нет) кредитки, потом хозяин кредитки запросил возврат платежа и банк настучал Одеску о махинации. Кстати вывод денег я обустроил при помощи других махинаторов, называющих себя Payoneer - это такая платежная система в США с одним счетом на всех, которая выпускает банковские пластиковые карты и принимает в себя оплату с фрилансовых систем. Поскольку формально они не считаются банком, то украинец владеющий этой картой, не нарушает законодательство Украины, запрещающее иметь незадекларированный счет в иностранном банке. Совсем как история с Коломойским: "- Игорь Валерьевич, у нас двойное гражданство запрещено! - А у меня тройное гражданство, так что закон я не нарушаю". Все знают что это неправильно, но ведь в законе четко прописано чего нельзя, а значит мы с Коломойским не нарушаем закон :)


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


И вот недавно появился повод опять туда вернуться. Теперь эта биржа стала называться Upwork, и там произошли изменения: появились какие-то коннекты, ухудшился интерфейс, появился фаллометр.

Фаллометр, называемый "Job success" - показывает твой процент успешности фрилансера. Как он считается - одному богу известно. Индус, сделавший два задания и получивший по пять звездочек за каждое, может иметь 100% Job success, а человек который отработал около сотни часов, сделав 30 заданий - может иметь 75%, как я. И нигде не написана дескрипция, ну там например "От вас часто отказываются клиенты, улучшите порфтолио". Да и совершенно глупое нововведение, как по мне, лишь увеличившее пропасть между одними фрилансерами, и другими, поставив их в неравные условия. 

В бесплатной версии Upwork (а вы как думали, безработные люди, ищущие заработок, тоже должны платить, это суть капитализма) количество заявок ограничено в среднем до 30-ти. Это значит что вы можете подписаться только на 30 проектов, и счетчик сбрасывается только раз в месяц, как правило в конце. Эти 30 заявок можно израсходовать за 3 дня, и это еще не гарантия, что вас выберут: слишком много индусов, готовых за 10 баксов написать Гугл :) Есть и платная подписка: за 10 долларов в месяц, у вас будет целых 35 заявок, плюс вы сможете покупать возможность дополнительной заявки за один доллар. Разумеется эта гиблая идея была отвергнута сразу и моментально: кому платить я могу найти и в Украине, а мне бы заработать...

Не так давно я купился на интересное задание: клиент приложил syslog-файл. В файле видно, что сайт клиента DDoS'ят, используя одну багу Wordpress. Клиент ограничил максимальный потолок оплаты в 200 долларов, но я как честный фрилансер, взялся за 150, тем более что задание относительно легкое. Клиент мне написал, даже дал доступ к своему серверу через SSH. Работа была закончена спустя полчаса, за это время сервер один раз кто-то перезагрузил помимо меня, и удалил директорию с сайтом. Я написал об этом клиенту, клиент "поменял пароли", и восстановил сайт из бэкапа. Соответственно работу пришлось делать заново, благо как ее делать - я запомнил, и во второй раз сделал за 2 минуты. И тут началось...

"Мой сайт криво работает, в админку не логинится" - кричал клиент. Я клиенту ответил, что первоначальный запрос был на тему "избавить сервер от DDoS'a, и что на этом сервере находится - я в душе не гребу". Кстати DDos заключался в бесконечном вызове /xmlrpc.php, соответственно чтобы избавиться от этого, необходимо было судя по форумам, просто заблокировать доступ к нему через .htaccess

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

Завтрашнее утро я встретил словами клиента "Сайт опять не работает", и через 10 минут другими словами "Я не могу долго ждать и взял другого фрилансера". Я разумеется, с уважением к нему, скинул ему опять историю сервера и свое объяснение тому что у него происходит, но пообещал открыть диспут (спор) по этому поводу.

Спор я все же не открывал, это может отразиться на рейтинге, а репутация мне покамест дороже чем 150 долларов.

И вот недавно мне приходит письмо: ваш аккаунт заблокирован, и ссылка на тикет. Цитирую тикет дословно: "We have received a complaint from a client stating that you have vandalized their property, and they have provided sufficient evidence to support their claim". Мы получили жалобу от клиента, который говорит что вы "свандалировали" его собственность, и клиент предоставил этому доказательства. Я разумеется, сразу понял, в чем дело, и чья была жалоба. Не хочу показаться расистом, но мой горе-клиент был негром, и я лишний раз убедился в том, что НЕ ЗРЯ негров считают немного неполноценной расой. Само собой, я приложил в тикет скриншоты нашей с негром переписки, красными буквами показал, где я ему писал что на его сервере кто-то сидит кроме меня, показал красными буквами где он с этим согласился, показал красными буквами где он согласился что работа выполнена, короче предоставил полные доказательства того, что он меня оклеветал.

На момент написания этих слов, прошло три дня с момента моего ответа в тикет. До сих пор в ожидании, и это еще одна причина, по которой сайт upwork.com - дерьмо.

И вот спустя 8 дней после первоначального открытия тикета и моих оправданий - мой аккаунт разбанили и предупредили что "надеемся что это ваше последнее нарушение". В целях безопасности, быстро вывел свои заработанные 145 долларов, от греха подальше. Недовольство заключается в том, что сайт берет 10% от заработанных денег (т.е. с 1000 реальных долларов я получил бы 900), 2 доллара за обналичивание, и это не считая сервисных услуг. За такие деньги, можно было нанять вменяемый техсаппорт с хорошей реакцией. 8 дней - это слишком.


Разница в затратах и выводе денег с Upwork и Freelance.com.

Оба сайта используют так называемые "заявки" - это количество возможностей подписаться на определенное количество задач, по идее выдуманное чтобы лимитировать спам, но мы-то с вами знаем что истинная цель - состричь денег с тех, кто хочет работать. Итак, на количество доступных заявок, влияет "тариф" - т.е. подписка. Начальный уровень подписки - бесплатный, и за сумму 0, мы получаем 30 заявок в месяц на Upwork, и 8 заявок в месяц на Freelance.com. Смешно, да ? А на самом деле - нет. Что 30 заявок, что 8 заявок - это мало, потому-что отосланная заявка не является гарантией того что ее примут, а отменив заявку вручную - их лимит не пополняется, т.е. ждать до конца месяца все-равно придется. Поэтому, в действие вступает платная подписка, а здесь все намного интереснее: следующий тариф на Upwork - аж 35 заявок за 10 долларов в месяц, независимо от того, заработали мы денег или нет, ответили на наши заявки, или нет. На Freelancer следующий после бесплатного тариф - 15 заявок за доллар. Оба варианта звучат просто смешно, платить стабильно 10 долларов за возможность подать на 5 заявок больше никто не будет, и это - яркий пример управления "эффективным менеджментом", который понятия не имеет об анализе. Зато следующий тариф на Freelancer - 80 заявок за 5 долларов. Вот это золотая середина, и в принципе обсуждать Upwork после этого уже смысла нет, сами понимаете.


Система подачи заявок тоже немного различается. На обеих сайтах фрилансер подает заявку, которую клиент должен подтвердить (взять вас в работу) после непродолжительного общения, или вовсе без него. На Upwork это бесплатно, а вот на Freelancer.com в момент подтверждения клиентом, с вас списывается сумма равная 10% от цены заявки, но не ниже 5 долларов, и это есть глупо. Во-первых, нельзя брать процент с денег которых нету, это вполне логично. Во-вторых, клиент деньги может и не заплатить по разным причинам, начиная от банального кидка, и заканчивая форс-мажорным отключением интернета. Огромный минус как по мне. Upwork берет те же самые 10%, но только после фактической оплаты финансами. Это плюс.


Вывод денег обеими системами производится практически одинаково - те же банки Америки, тот же Payoneer, разница лишь в комиссиях. На Upwork, выводя непосредственно на банковский счет - платится комиссия 30 долл. То есть таким образом выгодно выводить суммы от 2000 долл и выше, чтобы этими 30 долларами и махинациями банка с валютой, перекрыть недостатки следующего способа. Freelancer кажется выводит бесплатно, но только в банки США. Следующий способ - карточка Payoneer, вывод на которую производится с комиссией 2 доллара за каждый вывод в случае Upwork, и бесплатно в случае Freelancer.com. Вроде бы очевидно преимущество Freelancer, однако не все так просто: Upwork выводит в любое удобное для вас время, а вот Freelancer - два раза в неделю по такой схеме: запросы на вывод, сформированные до вечера среды - процессятся в ночь с четверга на пятницу. А запросы сформированные до вечера воскресенья - процессятся в ночь с понедельника на вторник. И здесь есть еще один подводный камень: если выводить полную сумму, и после момента вывода взять в обработку клиента - вывод может не произойти, поскольку сумма на балансе уменьшилась. А поменять ее можно только до крайнего лимита времени. То есть если вы заработали 400 долларов, в среду сформировали заявку на вывод, а в четверг нашли клиента, то у вас два варианта - лишиться денег в пятницу, просто взяв клиента и уменьшив сумму на балансе, либо исправив заявку на вывод, но в таком случае деньги будут аж в ночь с понедельника на вторник. Поэтому я рекомендую выводить, оставляя на балансе хотя бы 10 долларов на всякий случай. Либо не брать работу в этом промежутке, что не есть тру, ибо работа может быть вкусной. Кстати, на балансе возможно отрицательное число, т.е. если у вас будет ноль, и вы возьмете кого-то в работу, то у вас будет -5 долларов (минимум) аж до тех пор пока клиент вам не переведет деньги.


01.03.2017

Прошел уже год моей работы на сайте Freelancer.com. За этот год было заработано чуть более 18 000 долларов, что очень неплохо, учитывая временные затраты порядка 4-5 часов в день. 

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

В основном специализировался на лечении серверов и сайтов от вирусни, миграции доменов и почты, а так же оптимизации сайтов\серверов. Хотя периодчески всплывали абсолютно диаметрально разные по содержанию задачи: от моргания светодиодами на Raspberry Pi и до восстановления MySQL InnoDB-баз данных.

Спустя полугода у меня появился неплохой друг из Нидерландов, с которым мы в принципе работаем чуть ли не в товарный кредит: то есть он пишет мне в скайп, я ему помогаю, завтра-послезавтра помогаю опять, а через неделю он раздупляется и платит триста баксов за сделанное ранее, и с авансом на то что буду делать для него потом. 

Появился хороший долгий проект, приносящий около 200-300 долларов в месяц: контора у которой штук десять шаред-серверов с Cpanel. С ними у меня почасовая тарификация, основная задача - лечение от вирусни и восстановление покоцанных вирусней сайтов. Иногда просят что-то другое.

Есть еще парочку почасовых бесконечных проектов, суммарно приносящих около 100 долларов в месяц. Это обслуживание серверов. Раз в месяц проверяю на вирусы. 

Помимо постоянных проектов (они у меня оформлены на бирже как hourly), есть еще куча клиентов, которые периодически ко мне обращаются. Работая только с постоянными клиентами, и используя фриланс только как средство оплаты - у меня выходит в среднем 800-1000 долларов в месяц. Без активного поиска и подписывания на новые задачи от новых клиентов.

Что касается стабильности, за этот год я могу сказать следующее: в самом ленивом месяце, когда мне было реально влом работать, у меня вышло 800 долларов, благодаря постоянному клиенту. Без него, получилось бы 500. Это - работая час в день. Это - неохотно отвечая на инвайты (приглашения по инициативе клиентов). Бывали недели, когда совсем глухо. Эти недели сменялись другими, когда задница реально горела. Но так, чтобы было меньше восьми сотен - не было ни разу.


Что я нашел плохого на этом сайте за это время.

Во-первых, дебильноватая система оплаты комиссии в момент подписывания на проект, а не оплаты. То есть формально клиент может отморозиться, и вы мало того что не получите свои деньги, а и потеряете свои собственные на комиссию. За весь год у меня было такое всего несколько раз.

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

В-третьих, и это самое нехорошее, несмотря на все заверения и кукареку-гарантии, Freelancer.com не гарантирует вам сохранность ваших денег по вине ваших клиентов. Расскажу на примере. Работал с клиентом. Нормальный чувак. Работу сделали, лапки пожали, отзывами поменялись, бабло перевели. Через несколько месяцев приходит письмо "бабло locked due to external dispute". Потрепался с службой техподдержки. Оказалось что у этого клиента проблемы с аккаунтом. То ли адрес чужой назвал, то ли фамилию. Потерянная сумма - 90 евро, само собой с комиссией. Казалось бы, Freelancer.com - биржа, и это их проблемы, как они верифицируют клиента. Но нет. Им плевать. Так что, при любой возможности получить от клиента оплату через другие способы - этим стоит воспользоваться.

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


...продолжение следует


root
0

Linux Ubuntu
Windows 10
Планшеты
Tweaks

2 комментариев
Unbranded UB-15MS10 Windows 10 installation. Установка Windows 10



Unbranded UB-15MS10 - это неплохой себе планшет x86 на Intel Atom. Судя по внешнему виду и внутренней конфигурации, это украденный ушлыми китайцами сразу с заводов, будущий Asus T100. Боюсь это первая в интернете статья, на тему этого планшета. Итак,


Конфигурация этого девайса:

Процессор: 4-ядерный Intel Atom Z3735F с кодовым именем BayTrail;
ОЗУ: 2 Гб DDR3;
Видео: Intel HD;
Дисплей: 10.1" WXGA TFT разрешением 1280х800 пикселей и тачскрином фирмы Goodix;
Носитель: 32GB eMMC;
Тыловая и фронтальная камеры на 2 мпикс, на непонятном сенсоре hm2056, с непонятным подключением по шине;
WiFI + BT на чипе Realtek 8273bs;
GPS на чипсете Broadcm BCM4751;
Гироско, датчик освещенности, светодиоды зарядкиактивности вебкамер;
Батарея: 3.7V 6300 mAh;
HDMI выход;
USB-OTG;
Слот под MicroSD.
Установленная ОС по умолчанию - Windows 8.1, которая может быть обновлена до Windows 10 со всем оставшимся мусором.

Однако при установке Windows 10 или Linux, нас ждет увлекательный процесс, кое-что мне так и не удалось победить, поэтому перед экспериментами, не забывайте делать бэкапы.
Начну сразу с того, что получается бескровно.
Windows 10: без проблем находится WiFi, драйверы на системные устройства и на видео с тачскрином, ставятся из архива для SoC Intel Z3xx series. Не сразу завелся звук. Дебильная система, фактически звуковой чип - Intel SST, но он подключен через примитивную I2s шину, которая совсем не Plug&Play, и вообще непонятно как работает. Чтобы вывести звук через эту штуку, система должна знать, что на шине i2s находится звуковой чипсет. Эта система работает при помощи Realtek i2s, он же Realetk ALC5621 кодеков. Кодек прописывается наглухо в систему, и говорит звуковым устройствам, что звук надо гнать ВОТ СЮДА. Запинка при установке драйверов на звук в том, что драйверы на Realtek нужно ставить от Realtek, и только тогда звук становится слышно. Фичи вроде гироскопа и датчика света, я не ставил, судя по всему им в комплекте нужен софт или патч, который будет переворачивать экран. Но мне это не нужно.
Linux: здесь все сложнее и зависит от ядра. Некоторые дистрибутивы не запускаются вовсе, потому что планшет собран на 64 битном процессоре, но с поддержкой сугубо 32 битного UEFI, посему мало какие 64-битные дистры с ним идут. С UEFI запустился Debian 8 NetInstall, и Ubuntu Linuxium, специальная сборка под планшеты Asus T100. На ядре ниже 4.1 по умолчанию не работает тачскрин, а так же идут мерцающие артефакты.

Продолжение следует...


root
0

Старое железо
Linux Ubuntu

2 комментариев
Тонкая настройка и компиляция ядра Linux

Есть у двух операционных систем Windows и Linux, два недостатка, которые при перекрестном сравнении, оказываются очень даже достоинствами, хотя чаще всего все же недостатками: универсальность.

Когда-то давным давно, мы все сталкивались с необходимостью переустанавливать Windows, после смены всего лишь материнской платы. Кто-то не заморачивался и переустанавливал, кто-то лез в дебри и узнавал, что во всем виноват контроллер жесткого диска, и можно было всего лишь переустанавливать драйверы. С тех времен (2001 г., Windows XP) мало что поменялось - 2015 г., Windows 10 ведет себя так же само. Установленная на одном ПК Windows, отказывается работать на другом ПК.

С Линуксом таких проблем нет. Установленный один раз, на флешку, на жесткий диск, он будет работать примерно одинаково на любом компьютере, где будет стоять эта флешка или жесткий диск. Смена видеокарты - не помеха, смена материнской платы - тоже. Линукс будет работать везде.

Это происходит потому что, ядро Линукса (и необходимые для работы устройств модули) - УЖЕ содержит в себе все необходимые драйверы. Их реально много. И они реально работают.

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

Однако есть средство, способное неплохо ускорить работу систем Linux - перекомпиляция и оптимизация ядра под свои нужды.

По сути, этот процесс представляет собой весьма долгое и упорное конфигурирование настроек под нужды именно своего компьютера, с только используемым оборудованием и настройками, специфичными только для одного компьютера. Его мы и рассмотрим подробнее, на примере ОС на базе Debian, такими как Ubuntu, Mint и прочий зоопарк. С остальными Линуксами процесс сборки ядра может немного различаться, хотя скомпилированное под одной ОС ядро, вы запросто можете использовать в других своих ОС. Но суть не в этом.

Итак, для начала сборки ядра, нам нужно поставить несколько дополнительных программ. В Debian-based это делается так:

sudo apt-get install kernel-package libssl-dev libncurses5-dev patch

После чего, нам нужно найти исходники нашего будущего ядра. Проще всего, их скачать с сайта https://www.kernel.org/, они представляют собой один файл в формате tar.xz. После скачивания, нам нужно открыть консоль, и распаковать архив командой 

tar -xvf <имя архива>

У нас будет новая папка с именем ядра, где будут распакованы наши исходники. Кстати на данный момент, советую качать ядро по ссылке https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.3.4.tar.xz поскольку оно самое стабильное, и под него выпущено некоторое количество полезных патчей, речь о которых пойдет ниже.

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

Планировщики задач планируют время по разным алгоритмам. Например, каждая из трех программ, может получать одинаковое число процессорного времени. Например по 200мс. Реализация такого алгоритма весьма простая, однако на практике может приводить как к простою, так и к дефициту ресурсов. Ведь программе может потребоваться не 200мс, а 10мс, и тогда оставшиеся 190мс процессор будет зря работать, а остальные две программы будут ждать. Планировщик задач может отдавать процессорное время в зависимости от аппетитов приложения. Этот алгоритм чуть сложнее в реализации, работает чуть получше, однако в этом случае недостаток из плоскости "что если мало" перейдет в плоскость "что если много". Понятным языком, если какой-то программе захочется слишком много времени, то остальные программы просто зависнут.

Чтобы этого избежать, планировщики задач используют более изощренные алгоритмы, позволяющие перекладывать по одной задаче на ядро процессора, лимитировать процессорное время, забирать его насильно, отдавать больше времени, если высокий приоритет, и так далее. Волею судеб происходит так, что официальные разработчики линуксячьего ядра, не слишком-то оптимизируют планировщик задач, из-за чего, при работе в ОС Linux кажется, что она не отзывчива. Нажали вкладку на браузере, прошло пол-секунды, прежде чем вкладка сменилась. Это есть результат работы стандартного планировщика задач.

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

Поскольку мы с вами скачали исходники ядра 4.3, то и патч нам подойдет только для ядра 4.3. Скачать его можно здесь: http://ck.kolivas.org/patches/bfs/4.0/4.3/4.3-sched-bfs-467.patch и положить в папку с исходными кодами ядра. После чего, находясь в этой самой папке, выполнить команду

patch -p1 -i 4.3-sched-bfs-467.patch

На этом патчинг ядра улучшенным планировщиком задач, закончен 

Кроме планировщика процессорного времени, существует так же планировщик для ввода-вывода. Его задачи сходны с планировщиком CPU, однако направлены на оптимизацию операций чтениязаписи. Давным давно, умные люди поняли, что нет смысла гонять жесткий диск каждый раз для чтениязаписи нескольких байтов. Гораздо логичнее эти операции поставить в очередь, и по прошествии какого-либо времени пакетно выполнить все и сразу. Буферизация, типа. Планировщик ввода-вывода, компонует такие задачи, в зависимости от требований приложений, скорости диска, вспышек на Солнце, и так же само как и планировщик процессорного времени, может работать по разным алгоритмам, начиная от примитивных, и заканчивая навороченными. По умолчанию, Линукс использует примитивный планировщик, который раздает каждому процессу, равные промежутки времени для записи. Это хорошо. Но только если у вас одна задача, например торрент-клиент. Если же задач больше, то каждый процесс чтениязаписи, будет требовать и процессорное время, что на практике оборачивается лагами, заиканиями звука, и просто снижением скорости чтениязаписи.

Аналогично планировщику процессорного времени, существует патч для планировщика IO. BFQ.

Скачивать его придется тремя частями, в ту же самую папку с ядром:

http://algo.ing.unimo.it/people/paolo/disk_sched/patches/4.3.0-v7r8/0001-block-cgroups-kconfig-build-bits-for-BFQ-v7r8-4.3.patch

http://algo.ing.unimo.it/people/paolo/disk_sched/patches/4.3.0-v7r8/0002-block-introduce-the-BFQ-v7r8-I-O-sched-for-4.3.patch

http://algo.ing.unimo.it/people/paolo/disk_sched/patches/4.3.0-v7r8/0003-block-bfq-add-Early-Queue-Merge-EQM-to-BFQ-v7r8-for-4.3.0.patch

Патчить по аналогии с предыдущим:


patch -p1 -i 0001-block-cgroups-kconfig-build-bits-for-BFQ-v7r8-4.3.patch
patch -p1 -i 0002-block-introduce-the-BFQ-v7r8-I-O-sched-for-4.3.patch
patch -p1 -i 0003-block-bfq-add-Early-Queue-Merge-EQM-to-BFQ-v7r8-for-4.3.0.patch

На этом патчинг закончен, можно переходить к преконфигурации. Система поддерживает преконфигурацию нескольких видов:

1) На основе текущей конфигурации ядра. То есть, все что активировано в вашем текущем ядре (включая весь мусор), будет активировано и в новом ядре. Нам это как бы не нужно.

2) На основе загруженных на данный момент модулей, которые будут скомпилированы как модули.

3) На основе загруженных на данный момент модулей, которые будут вшиты в ядро.

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

Итак, для преконфигурации, нам необходимо выполнить одну из команд:


1) make oldconfig
2) make localmodconfig
3) make localyesconfig


Система задаст вам несколько вопросов, на которые можно ответить Y,N, а просто нажатие Ентера, ответит по умолчанию.


Затем можно перейти непосредственно к тонкой настройке ядра, набрав команду


make menuconfig


Откроется нечто такое, в чем мы готовы конфигурировать систему, используя стрелки на клавиатуре, и пробел для выбора.



С этого момента, лирично-сюсюкающий тон пропадает, начинается сугубо технический язык.


[*] 64-bit kernel - используется, если в результате мы хотим получить 64-битное ядро, которое будет поддерживать больше 4 Гб памяти.

General setup  --->

 [*] BFS cpu scheduler - процессорный шедулер, который мы патчили выше. Выбираем.

 Kernel compression mode (XZ)  ---> Советую выбрать XZ-алгоритм, ибо он чуть быстрее, чем Gzip

 Timers subsystem  --->

  Снимаем чекбоксы со всего, что видим, а Timer tick handling устанавливаем в Periodic timer ticks (constant rate, no dynticks), это позволит шедулеру   BFS самому распоряжаться процессорным временем.

 <*> Kernel .config support 

 [*]   Enable access to .config through /proc/config.gz - пригодится, для быстрого доступа к конфигурации нового загруженного ядра.

 [ ] Checkpoint/restore support - снимаем чекбокс

 [*] Optimize for size - ставим чекбокс, это немного сократит результирующий размер ядра

  [*] Configure standard kernel features (expert users)  --->

[ ]   Enable PC-Speaker support - снимаем чекбокс, этим мы сократим немного размер ядра и сэкономим на поддержке того, что нам не нужно

[ ] Enable AIO support - снимаем чекбокс, эта фича нужна для тяжелых приложений, которые должны быть заточены под ее использование

[ ] Enable madvise/fadvise syscalls - снимаем чекбокс. Этот параметр позволяет ядру реагировать заранее на предупреждения программ о том, сколько они памяти будут использовать.

[ ] Profiling support

[ ] Kprobes - ловит вызовы ядра, и адреса этих вызовов, во время дебаггинга..

Stack Protector buffer overflow detection (None)  --->















... продолжение следует



root
2

Старое железо
Linux ElementaryOS
Windows 10
Игровое железо
Апгрейды ПК

Без комментариев
Апгрейд убийцы Intel NUC из Китая, SSD RAID0 и многое другое

Меньше года прошло после покупки убийцы Intel NUC из Китая - маленького бесшумного неттопа за 210 долларов, который по всем факторам порвал Intel NUC с аналогичными параметрами.

Когда-то давно писал о нем статью на Geektimes, которая к счастью не уцелела после того как я оттуда удалился. Мои жизненные принципы оказались несовместимы с коммерциализацией и ухудшением юзабилити Хабра с его подразделами. Статья сохранена в кеше, например https://sohabr.net/gt/post/249788/?version=96724 


Мой маленький китайский друг меня вполне устраивал, тем более что летом я его порадовал новеньким SSD mSATA Crucial на 240 Гб, и тогда его конфигурацию можно представить как i3 4015U, 8Gb DDR3L, 240Gb SSD + 500Gb HDD. Для жизни, серфинга, фильмов и периодического Скайрима - хватало. 

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

Core i3 я отказался рассматривать, поскольку в этом смысле поменял бы шило на мыло, производительности моего 4015U хватало с головой, для любых задач кроме фаллометрических. А Core i7 оказался бы слишком дорогим, и избыточным для тех задач, которые мне предстояло выполнять, и именно поэтому было решено брать что-то на Core i5 пятого поколения. Неттопов на процессорах этой линейки было три вида: 5005U, 5200U, 5257U. 

Первые два процессора практически ничем не отличались друг от друга, кроме частот и встроенных видеокарт, Intel HD 5500/900Mhz в 5200U и Intel HD 6000/950MHz. А вот 5257U оказался вкуснее из-за повышенной тактовой частоты (2.7 против 1.6 и 2.2) и используемой видеокарты Intel Iris 6100, которая вроде как рвет предыдущие встроенные видеокарты аналогичного ценового диапазона, да и вообще работает на уровне дискретного GeForce 820M. В общем выбор был сделан.

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


Мой старенький девайс


Новый неттоп


Сразу бросается в глаза некрасивая передняя панель, здесь вам и кнопка питания, и USB-порты, и три аудио-разъема, и даже кардридер. Тут же хочется оторвать руки дизайнеру, хотя впоследствии оказалось, это еще не единственное его рукожопие.


Рядышком

И сзади...


Жопа. Вид спереди. Налицо два сетевых разъема и два HDMI


Снизу


А вот и сравнение внутренностей...Видно наличие места под 2.5" диск в стареньком девайсе, и его отсутствие в новеньком. Хотя четыре дырки под винты и присутствуют, но я почему-то не доверяю висящему над оголенной материнской платой, куску железа. Потенциальное короткое замыкание же.


На всякий случай, старенький девайс поближе. Какой большой спичечный коробок :)


И новый


Начинка жирнее, чем у его предшественника: 2 порта mSATA + 1 SATA, 2 miniPCIe, 1 из них резанный, второй полноразмерный, слот под сим-карту, разъемы под маленькие динамики 2х3 Вт. Ну и по мелочи, 8 USB-портов...


На этом, отступлю немного от основной темы, в сторону носителей информации. Валялся у меня SSD-диск SiliconPower, на 240 Гб, но что хуже, на печально известном контроллере Sandforce. SSD на этих контроллерах, имели свойство рандомно ломаться, и мою железку такая судьба не обошла. Лежал до лучших времен, а когда лучшие времена наступили, был ресетнут, перепрошит, и вместо SiliconPower'a стал называться Sandforce :) Что впрочем не уменьшило его емкость - 240 Гб.

И закралась мне в голову идея...А что если в порядке эксперимента, объединить мои два носителя в RAID0 (два диска, соединенных воедино с поочередным доступом к каждому, что по идее увеличивает скорость). 


В общем, соединил я все воедино, и получилось нечто такое


С программным обеспечением поначалу оказалось посложнее - не смог сразу найти комбинацию для вызова RAID-мастера, а через софтовый линуксячий RAID, не особо хотелось. Когда нашел комбинацию, все оказалось проще простого: утилита сама предложила выбрать устройства и создать разделы. Впоследствии пришлось поэкспериментировать, и несколько раз поменять конфигурацию, поскольку в утилите не было написано (каюсь, виндовая привычка), ЧЕМ будут созданные разделы. А будут они отдельными дисками. Которые будут видны утилитами разметок как независимые диски, на которых можно будет создавать разделы, и с которых можно будет загружаться. Теоретически можно создать 2048 таких дисков, но зачем?)) В общем оставил я один диск, который отныне в системе виден как Intel ssd.

Системы от этого поначалу были не в восторге. И если Windows 7 (а потом и 10) просто нашли один жесткий диск, то линуксячий разметчик, нашел целый зоопарк: тут и /dev/mapper/isw_jbebbehfj_ssd на 480 Гб, и два диска /dev/sda и /dev/sdb, и /dev/dm-0, а самое плохое - что Ubuntu не захотела продолжать установку после разметки, подкрепляя ошибку непонятной белибердой с вопросительными знаками.

Так и не понял, что ему не понравилось, однако создав заранее разделы, успешно установил все ОС, и пошел гонять...


Что я вам скажу...прирост скорости ощутим на глаз. Но только если на этом сосредотачиваться целенаправленно.

Прирост комфорта практически неощутим. В самом деле, система стала грузиться не 7 секунд, а 4, и это можно заметить. Но будет ли мне мешать, если ОС будет грузиться на 3 секунды дольше? Не думаю.

Приложения запускаются быстрее. На пол-секунды :) Но комфортнее не стало. Скайрим сохраненную игру загружал за 10 секунд, с RAID0 стал загружать за 5. Спорное преимущество, согласитесь.

Единственное место, где можно объективно увидеть прирост скорости: это копирование больших фильмов с раздела на раздел :) Ну и тесты. Стандартная Гномо-дисковая утилита показывает почти гигабайт в секунду на своем бенчмарке.



Впрочем, поскольку 2х240 SATA = 480Гб, и RAID0 = 480Гб, было решено оставить эту конфигурацию.


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

Помните, выше я был недоволен работой дизайнеров? Так это еще не все. Компоновка сторон этого устройства, тоже безгранично злит. Устройство способно стоять горизонтально, для этого на одной из его сторон, есть резиновые ножки. Устройство может стоять вертикально, для этого имеется специальная подставка. И я не знаю как ВЫ, дорогие друзья, а нормальные люди ставят системники СПРАВА. На столе, под столом - неважно, но СПРАВА. Китайские дизайнеры так скомпоновали железку, что расположив ее вертикально, лицевой панелью вперед (т.е. ко мне, пользователю), боковая сторона будет смотреть не красивой крышечкой, а ДНОМ! Ну и уродство.



И вниз головой (т.е. задней крышкой к стене) его тоже не перевернуть, ибо WiFi-антенны же. Повернуть задницей, тоже не вариант, поскольку металлический корпус снижает качество сигнала Wi-Fi. В общем по дизайну, сплошные разочарования.


Немного конфигурации...


Процессор Core i5 5257U (2.7 GHz)
RAM 8 Gb DDR3L
SSD 2x240 Gb mSATA/SATA3 RAID0
Видео     Intel Iris 6100, 1.05 GHz
LAN    2x1Gb Realtek 8111
WiFi Broadcom BCM43225, 150 Mbit
USB 4USB 3.0, 4xUSB 2.0
Доп.порты 2xHDMI, spdif, кардридер
Питание 12В, 5А
Кулеры     Нету таких



Немного попугаев, для сравнения с процессором Core i3 4-го поколения...



Итоги:


Плюсы.

Цена. Всего лишь 260 долларов;

Габариты. Маленький;

Бесшумность. Абсолютно бесшумный, в отличие от Intel NUC, и запросто приживется в вашей с супругой, спальне;

Скорость. I5-5257U - не самый маломощный процессор из вообще доступных мобильных. Серия i7 практически ничем не отличается, а стоит дороже;

Золотая середина между ценой и производительностью;

Наличие большого количества разъемов и двух гигабитных независимых сетевых устройств, благодаря чему ЭТО может быть не только домашним ПК, но и сервером;

Сплошное железо от Intel. С открытыми драйверами. Linux, Windows подхватывают ВСЕ, без дополнительных драйверов.


Минусы.

Сложности с гарантией, как таковой. Отправка в Китай за ваш счет;

Отсутствие классических PCI-ex и USB 3.1;

Абсолютно уродский дизайн с разъемами для колонок на передней панели, непродуманной вертикальной стойкой и креплением HDD на весу над платой;

Так же заметил непонятный мне баг - если с Linux перезагрузиться в 7-ю Винду - отрублены порты USB. С Win10 таких глюков нет. Если не перезагружать, а выключить и включить - глюков тоже нет;

Отсутствие M.2. Вроде как стандарту уже несколько лет, а в эту плату его не имплементили. А хотелось бы;

Отсутствие вменяемой документации на плату. Вот например, встретился мне SSD, 2x128 Gb, выполненный в форм-факторе двухстороннего mSATA. Вроде как ноутбуками поддерживается. А поддерживается ли этой платой - неизвестно.


Как видим, большинство минусов - субъективные, плана "хотелось бы". А все что "должно быть" - в этом ПК присутствует!

Посмотрите так же: Апгрейд убийцы Intel NUC из Китая, SSD RAID0 и многое другое и Тонкая настройка и компиляция ядра Linux


Вы должны войти в систему, чтобы создавать блоги

2+2 / 2+2