pozitronik: (Sheridan)
После приобретения второго ноутбука (который, по большей части, выполняет чисто развлекательные задачи), я решил не перетаскивать на него всё легаси со старого (который остаётся рабочей машиной), а начать понемногу искать более удобные решения. В частности, я решил использовать только браузер Vivaldi, и к нынешнему моменту у меня набралось достаточно впечатлений о нём. Раньше я пробовал Vivaldi достаточно эпизодически, но по тем или иным причинам не мог на него переползти полностью.
Можно вспомнить, с каким обожанием я писал про Оперу, идейным продолжателем которой является Vivaldi, и как горевал после её уничтожения. После смерти Оперы я предрекал, что когда-нибудь мы будем с трогательной теплотой вспоминать непревзойдённое удобство работы с ней - и вот это случилось. Я прекрасно помню, как кайфово и удобно было в Опере, подсознательно жду этого от Vivaldi - и, увы, не получаю. Даже близко не то. Лучше ли, чем другие хромиумные браузеры?
И да, и нет.
Начну с "нет".
Vivaldi, несмотря на полтора года разработки и стабильную версию 1.6 - всё ещё очень сырой браузер. Он имеет проблемы с оптимизацией и производительностью, например у меня на ноутбуке запуск занимает секунд десять-пятнадцать. Напомню - сверхбыстрый SSD, 32 гигабайта памяти, долбаные гигагерцы мощи, ноутбук стартует быстрее, чем грузится одна программа! А ведь, судя по всему, это запуск расширений происходит раньше, чем инициализируется интерфейс, почтовик лезет на сервер, блокируя дальнейшую загрузку.
Vivaldi имеет проблемы со стабильностью. Он периодически падает при попытке вызвать меню на картинке - и не восстанавливает после этого сессию.
Vivaldi нельзя использовать в разработке и тестировании. Он не хочет повторять постинг заполненных форм при обновлении страницы, как это делают другие браузеры (понимаю, что для этого есть другие инструменты, но в браузере очень часто удобнее), инструменты разработчика всё ещё не полностью интегрированы в интерфейс.
Самое обидное - непонятен вектор развития браузера. От версии к версии добавляются какие-то непонятные и ненужные вещи, те самые свистоперделки. Реально крутые вещи выдаются по чайной ложечке. Но они, тем не менее, есть:

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

Но в целом, Vivaldi ощущается как хромиумный браузер. С Оперой или Fx, и даже с IE работаешь по своему, и разница чувствуется. А хромиумные браузеры - все одинаковые, как бы их не кастомизировали.
pozitronik: (Sheridan)
В продолжение темы про гештальты: преодолев кучу трудностей, я таки заполучил себе новый ноут. Asus GL502VS - самое близкое к идеалу из существующего, я его захотел с первого взгляда, и не смог отказать себе в несколько преждевременном новогоднем подарке.


(телефону приходит пиндарик, пятна на фотке - его камеры дело)

Поскольку разброс цен на эту модель среди магазинов с хорошим рейтингом минимальный, я не запаривался с выбором, заказал в CompYou. Мне, несмотря на выходной, тут же перезвонила девочка-менеджер, мы с ней мило пообщались голосом и в почте, она пообещала, что ноут привезут в течение двух дней, и заодно спросила, не хочу ли я взять дополнительную гарантию на матрицу. Мол, за пятьсот рублей ноут проверят наши лучшие пиксельхантеры, и если в течение месяца выползут битые пиксели, вам по этой гарантии тут же всё поменяют. Я прикинул: моё время и нервы стоят куда дороже, поэтому на гарантию согласился.
Через пару дней ноут привёз курьер - и после распаковки обнаружился битый пиксель. В итоге я потратил и время и нервы, отвозя ноут в "магазин", оказавшийся труднонаходимой точкой самовывоза, и вместо моментальной замены ждал ещё неделю, не услышав за это время ни одного извинения. Второй раз курьерской службе ноут я уже не доверил, проверил и забрал сам; но нужно ли говорить, что обращаться в CompYou я никому не порекомендую.

Но, тем не менее, железка оказалась у меня. Плюсы её очевидны:
- GTX 1070. Для начала погонял первый Crysis; да, игре уже почти десять лет, но я очень её люблю, и она до сих пор далеко не на каждой машине пойдёт с maximum yoba quality. Тут - зашкаливающий FPS без проседаний. WarThunder на максимум йобе - средний фреймрейт ~150 к/с (меньше 120 ни разу не видел), даже с облаками, дождём и солнечными бликами (очень красиво, на самом деле). 3dmark - почти пять тысяч видеопопугаев против 400 на старой 740m (больше, чем в десять раз).
- 32 гига памяти. Просто, чтобы было. Я не знаю, чем её занять, мне психологически важно знать, что я не упрусь в лимит открыв пару вкладок в хроме.
- Очень быстрый SSD Samsung MZVPV256HDGL + террабайтный HDD, который я думаю выдрать, и заменить на второй SSD.
- i7-6700HQ... как i7-6700HQ. Развитие процессоров никуда не идёт, ну и пофигу, они и так быстрые до фига.
Короче, мощи до фига, с боооольшим запасом. Вот результаты прогона тестов на Юзербенче, если кому-то интересно.

Из менее очевидных плюсов:
- Очень удобное расположение портов - у задней части корпуса, ближе к крышке. На текущем ноуте все порты находятся под ладонями, я часто задеваю их, вплоть до разъединения. Вентиляция сзади, мне это тоже нравится - корпус под ладонями не нагревается, как у N56.
- Вес. Два кило. Это меньше, чем весит мой старый ноут.
- Крутой вид. Нет, серьёзно: ноут просто очень круто выглядит. Сначала я думал, что все эти красненькие клавиши и светящиеся логотипы - дизайнерские выпендроны, с которыми можно просто смириться, но они не только не раздражают, но и смотрятся хорошо.

Минусы дико неочевидны:
- В ноуте есть встроенная чипсетная видюха, достаточно неплохая, и о ней упоминается во всех описаниях ноута. Но знаете что? Она отключена в биосе, и, по всей видимости без возможности включения, как это сделано во всех топовых ноутах Asus. Я не очень понимаю, зачем это, и очень надеюсь, что залочку уберут со следующими обновлениями прошивки.
- Динамики на передней части ноута, т.е. как раз под ладонями - соответственно, звук приглушается. Особенно заметно, если на клавиатуре одна рука (т.е. в большинстве игр), и глушится только один динамик. И вообще звук - не самое лучшее, что в этом ноуте есть.
- Просто нет клавиш num lock и end. Первую заменяет кнопка управления режимами производительности, роль последней исполняет кнопка выключения. Обе клавиши могут быть программно выключены, но желаемых функций на них навесить нельзя. Решение как минимум странное, хотя для игрового ноута не критичное.
- Крышка ноута откидывается на не очень большой угол - 125° против 145° на старом ноуте.
- При наклонах-поворотах из под дальнего правого угла идёт характерный шум, будто кулер задевает лопастями или блины в HDD жужжат. Может быть и то и другое, просто раздражает немного.
- Не знаю, возможно это особенность моего экземпляра: подсветка матрицы для чёрного цвета оказалась неравномерной, снизу обнаружилось два небольших засвета. Я попробовал прижать кромку экрана к матрице - засветка стала уменьшаться, я нажал сильнее, что-то щёлкнуло, кромка встала на место, и засветы пропали.

В целом же - машинка очень приятная, я доволен.
pozitronik: (Sheridan)
Я тут некоторое время назад жаловался, что не могу найти ноутбук с подходящими мне характеристиками. А я в этом плане немножко повёрнутый: везде, где можно сделать идеальный сетап, мне хочется его сделать. Именно поэтому, например, я сутками висел в Diablo II или Космических рейнджерах, выбивая идеальный сет доспехов, или прыгая по звёздным системам в поисках идеальных (там они так и назывались без обиняков - "идеал") корпусов. А однажды, собирая себе новый компьютер (до сих пор, между прочим, работающий хорошо), я перечитал весь интернет, и нашёл идеальную материнскую плату, уж не помню, сейчас, какую... но там была поддержка повышения частот и напряжения где только можно (что пригождалось), а самая фишечка - аппаратный фаервол на сетевухе (что пригождалось не очень, поскольку программные средства оказались удобнее). Только той платы в нашем городке было не купить, и мне её везли на заказ из Москвы, с чем связана уже другая история...
Но я отвлекся.

Итак, максимально близкое, что находилось - в том посте описано, одна из модификаций ASUS ZenBook Pro. Но купив его, я бы не чувствовал гештальт закрытым - всё равно, что в дьябле найти сет зелёных вещей кроме одного кольца: пускай суммарных бонусов с лихвой хватит на всю игру, но... разве ж это игра?
Так и тут: хорошая железка, можно и поиграть и поработать... Но вот и LAN нету, и памяти не доставить, и с дисками непонятно что. Ускоритель, опять же, 960M, а хочется уже тысячную серию, ну чисто психологически. Вдобавок, стал читать железячные форумы - жалуются, что у ноута дросселя свистят в тишине. Опять же - психология.
Время от времени я обновлял поиск в яндекс.маркете и на ноутбучных сайтах, ни на что особо не надеясь. И сегодня наткнулся: Asus GL502VM.
Внешне, за исключением дизайнерского выпендрёжа, - такой же точно ноут, как мой. Внутри - уберсовременное железо. Цена - адская, даже в долларах (а про рубли и говорить неприлично).
Оказывается, подбор яндекс.маркета просто не фильтрует этот ноут (видимо, из-за наличия GTX 1060, которую ещё не добавили в список вариантов выбора), находит только при поиске по названию модели.

Если придираться к мелочам - кнопка выключения вместо end, но, думаю, она работает через fn, или отключается в биосе (ну не может же быть иначе?!). Не нашёл в продаже варианта с UHD-дисплеем, но оно из области "помазать спину вареньем".

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

UPD: в продолжение гугления нашёл это, и что-то мне кажется - это не предел. Жаба вылезла из кошелька, засучила рукава и выжидающе смотрит на меня, но...

Ржу

Nov. 1st, 2016 11:14 am
pozitronik: (Sheridan)
Некоторое время назад меня пригласили в mail.ru побеседовать вот про это. Беседа была очень занимательная и интересная, плюс посмотрел мейлрушный офис, ну и всё такое. Ещё мейловцы подарили пакет со всяким мерчом - футболочку там, брелочек, наушники беспроводные.
Дома я эти наушники попробовал - а они не заряжаются. Т.е. пока питание воткнуто - по крайней мере радио ловят и диодик горит. Питание дисконнектишь - всё, работа только через аудиопроводочек. Комплектный проводочек, правда, оказался дефектный - левый канал не работал, но этого добра у меня как грязи, нашёл замену.
Дареному коню в зубы не смотрят, да и не собирался я ими пользоваться, отложил на полочку.
Потом мои соньки поломалися в драке, а я всё никак не найду времени отвезти их в ремонт. Принёс на работу мейловские уши, пищат и ладно...
А они возьми и развались, прямо на голове =D. Тупо пластик развалился.
Короч, надо соньки в ремонт везти.
pozitronik: (Sheridan)
Полгода назад я решил попробовать что-то новое, и купил себе беспроводные наушники. Многие годы до этого я носил только вставные проводные Sennheiser, поэтому к выбору наушников отнёсся очень ответственно, переслушал в магазине кучу вариантов, и остановился на SONY MDR-1ABT. Они подошли мне просто идеально, и с самого дня покупки я ходил в них.
А вчера был очень интересный день. Я возвращался домой после нетривиальных выходных, больной, уставший, замёрзший. К счастью, удалось немного вздремнуть в самолёте под божественные звуки CBL, заглушавшие крики обязательных самолётных детей.
Но день уже заканчивался. Я, предвкушая скорый отдых, влез в полупустой вагон метро, прислонился в уголке у дверей, и стал дочитывать книжку с телефона, иногда оглядывая других пассажиров. Внимание моё привлёк неприятный кавказец в подвёрнутых джинсах и обдолбанным выражением лица, кажется дагестанец, хотя я не очень разбираюсь. Он слонялся по вагону, ухмылялся и нагло глядел на пассажиров Подумалось: сейчас он начнёт приставать к какой-нибудь девочке, а я подойду и вышвырну его.
Через некоторое время он действительно подсел к девочке, сидящей напротив меня, и начал тянуть руки к её бёдрам. Та, видимо, подумав, что он хочет ей что-то сказать, сначала непонимающе к нему повернулась, а когда что-то от него услышала - резко встала и ушла в другой конец вагона. Я просто не успел вмешаться, и продолжил наблюдать.
К счастью, другие пассажирки, инстинктивно наблюдавшие за неприятным кавказцем, также постарались отойти или выйти на ближайшей станции. Моя станция была следующая, и я совершенно спокойно продолжал стоять, готовый, впрочем, к действию.
Кавказец подошёл ко мне, и что-то сказал. Он был явно обдолбан или пьян, я не понял ни слова, да и не хотел понимать. Хриплым и тяжёлым от простуды голосом я ответил ему: "Я не буду с тобой разговаривать, отойди от меня" - и повторял это несколько раз, в ответ на каждую его обдолбанную реплику.
Кавказец стал тянуть руку к моим наушникам, висящим на шее, я отвёл руку, и снова повторил "отойди от меня". Я всё ещё не понимал, что он говорит, но по интонациям было слышно, что он уже наезжает. Меня он не захотел услышать, и снова протянул руку к наушникам. Естественно, я два или три раза двинул ему в солнечное сплетение; в ответ мне прилетела оплеуха. Интересно, что отреагировал кавказец моментально, я на его месте оторопел бы на секунду, а этот сразу перешёл в боевой режим.
Мы пару раз обменялись ударами, затем обдолбанный кавказец совершенно по обезьяньи запрыгнул на кресла и начал махать ногами. Со всех сторон раздались крики "Полицию! Вызовите полицию!", нас растащили (это правильное поведение людей, молодцы). Поезд уже подъехал к моей станции, и я как-то совершенно спокойно вышел.
Только на перроне я обнаружил, что эта скотина сломала мне крепление левого наушника. Немного обидно, но такое бывает; гораздо интереснее, что я не ощущал ни страха, ни адреналиновой ярости, мне было совершенно спокойно и даже наплевать. Пожалел, разве что, что первый мой удар был в защищённое курткой солнечное сплетение, нужно было ломать нос или выбивать глаз.

Теперь надо искать ремонт наушников. Может кто-то подскажет мастерскую? С электроникой и проводкой у них всё в порядке, сломано пластиковое крепление от обода к наушнику. Гугление показывает, что такое чинить отказываются обычно.
pozitronik: (Sheridan)
Тысячу миллионов лет назад у всех была аська, на компах, телефонах и даже аллахе. Мессенджер не самый плохой, не самый хороший, но дико популярный, создавший некое подобие своей субкультуры, и, в итоге, раздавленный неумелым менеджментом, отсутствием решения технических проблем и бесконечной борьбой с альтернативными клиентами. Юридически, ICQ, сменив кучу владельцев, ещё живёт под крылом mail.ru, но технически от прежней аськи там, скорее всего, ничего не осталось.
Но даже издыхая, аська очень крепко держала пользователей. Во-первых - списком контактов, который не хотелось терять. Во-вторых - отсутствием альтернатив. Выбор был невелик: или Jabber, кривой и непонятный, или Skype - тяжёлый, и тоже не очень удобный. Экзотика, вроде MSN или QQ вряд ли кем-то рассматривалась.
Какое-то время я сидел на скайпе. Это была пытка во всём, но возможность аудио-видео звонков заставляла терпеть. Маман освоила скайп, и иногда названивала заблудшему в московских степях сынульке.
Не помню, когда майкрософт купил скайп, но со временем из паршивого клиента он превратился в отвратительный. Реклама, ограничения, редизайны, сотни мегабайт отжираемой за вот так памяти, пришло новое обновление, обновление само не обновится, обнови обновление сейчас же, спам с мокрыми писечками. Буэ, сдохни.
Тут, как грибы, полезли всякие новые мессенджеры разной степени удобства и крутости - Viber, WhatsApp, Telegram, чатики из социалок, где все твои друзья контакты. Скайп стал ненужен, был выброшен из автозагрузки, и запускался только по необходимости голосового общения.
Вот как же обидно сейчас впервые за полгода запустить это говно, и увидеть там кучу ругани от мамы, обиженной донельзя, что я ей не отвечаю.
pozitronik: (Sheridan)
Мне уже нравится, поддержал книжку рублём.

Оригинал взят у [livejournal.com profile] apervushin в "Гагарин. Один полет и вся жизнь" (Глава 1)
Гагарин

Как и обещал, с согласия издателя начинаю выкладывать отдельные главы из своего нового "Гагарина" для того, чтобы вы могли оценить уровень работы, высказать свои замечания и пожелания. Напоминаю, что тексты, которые будут появляться в рамках этого проекта, -- черновик, поэтому еще будут дорабатываться и редактироваться (в том числе с учетом ваших замечаний). Тем, кому понравится, предлагаю поддержать проект рекламой или финансированием. Сделать это можно ЗДЕСЬ.

ГЛАВА 1. ГАГАРИНЫ ИЗ КЛУШИНА
Впервые мир услышал о Юрии Алексеевиче Гагарине 12 апреля 1961 года из сообщения ТАСС, переданного в радиоэфир в 10 часов 2 минуты по московскому времени, почти через час после старта ракеты-носителя с космическим кораблем «Восток». Тогда же диктор Юрий Борисович Левитан зачитал короткую выдержку из биографии космонавта, сообщив, что тот происходит из семьи колхозника, его отец работает столяром, а мать — домохозяйка.
Хотя в контексте эпохи выглядит логичным, что на роль первого космонавта советские вожди постарались отобрать выходца из рабоче-крестьянской семьи, западные комментаторы немедленно усомнились в правдивости официальной версии, благо его фамилия вроде бы указывала на родственные связи с одним из знаменитых дворянских родов дореволюционной России. Так родился самый первый миф о Юрии Гагарине, который оказался необычайно живуч: правда, сейчас его можно встретить разве что в альтернативно-исторической фантастике и сатирических стишатах.
Буквально на следующий день, то есть 13 апреля, в авторитетной газете «Лос-Анджелес Таймс» появилось сообщение, что Юрий Алексеевич — внук князя Михаила Гагарина, участвовавшего в Гражданской войне на стороне «белых» и расстрелянного «красными» в 1919 году. Чтобы как-то объяснить очевидную несуразность предлагаемой версии (коммунисты посылают в космос внука репрессированного князя, ведущего происхождение от Рюрика!), некий русский эмигрант Алексей Щербатов, профессор истории, заявил, что, вероятно, исход орбитального полета был непредсказуем, поэтому в него и решили отправить человека, которого не жалко. Тот же эмигрант добавил к своим словам еще более красочные подробности. Оказывается, отец космонавта, Алексей Михайлович Гагарин, бежал, спасаясь от преследования властей, на Урал, и там в городе под загадочным названием Оренберг у него и родился сын Юрий. В 1939 году Алексей Михайлович исчез, став очередной жертвой большевистского террора.
The_Los_Angeles_Times_Thu__Apr_13__1961_1 The_Los_Angeles_Times_Thu__Apr_13__1961_2
Read more... )

pozitronik: (Sheridan)
Задача: во внутренней сети есть веб-сервис, нужно дать нескольким тысячам пользователей доступ к нему.
Ограничения: 1) сервис требует как минимум IE10, а лучше - chromium based; 2) у пользователей есть в лучшем случае IE9. Безопасность лютует: приложения запускаются только по белому списку из групповых политик, а хром официально запрещено запускать (даже если установить переносную версию); 3) пользователи не всегда отличаются умом и сообразительностью, им чем проще - тем лучше.
Допущения: 1) безопасники готовы разрешить запуск одного проверенного ими приложения, с условием, что с его помощью за пределы указанного сервиса выбраться будет нельзя; 2) если приложение будет хотя бы выглядеть как один цельный бинарник, шанс пройти проверку у него будет выше.

Резюмируя - нужно было этакое окно на один-единственный сайт. Тупо sitename.exe, можно даже без браузерного интерфейса, вся навигация вполне обеспечивается самим сайтом.

Мысль нулевая: допилить ресурс, чтобы работал в старых версиях IE. С негодованием отвергается всеми, ещё полчаса разработческий чатик кипит ненавистью.
Мысль первая: взять хромиум, допилить, собрать на его базе sitename.exe. Отказано по очевидным причинам.
Мысль вторая: сваять на чём-то вроде Delphi приложение с веб-контролом. Для Дельфи есть хромиумный компонент, так что идея не выглядит нереализуемой. Но хочется ещё проще, и без добавления сущностей.
Мысль третья: доработать сам сервис, впилив в него какое-нибудь REST API, а потом на любом ЯП под любую платформу пилить нативные приложения. В целом идея зашибись, но требует времени (а sitename.exe нужен послезавтра) и сил на поддержку (каждую клиентскую фичу нужно дублировать в API и в приложении).
Мысль четвёртая: взять браузер, и виртуализировать его в чём-то наподобие XenApp. Идея ложится со скрипом - добавляется новая сущность в виде среды виртуализации, на которую безопасники могут залупиться ещё сильнее, например.
Мысль пятая: сделать приложение на каком-нибудь специально созданном для этого инструменте, вроде бы на основе node.js что-то такое было. Но дико не хочется тащить за собой весь обвес, да и по памяти - сыро и криво это всё.
Мысль шестая: а вот о ней подробнее.

Я взял браузер Vivaldi, интерфейс которого написан на HTML+JS+CSS, а кишки - всё тот же хромиум. Соответственно, модифицировать морду браузера элементарно: в файле %version%\resources\vivaldi\style\common.css находятся все стили интерфейса, а вызывается он из %version%\resources\vivaldi\browser.html. Достаточно вписать в browser.html <link rel="stylesheet" href="style/custom.css" />, и далее вносить в этот custom.css нужные модификации.

Вот так выглядит vivaldi совсем без интерфейсных стилей:


Чтобы узнать, какие модификации нужны, запускаем vivaldi.exe с ключами -flag-switches-begin --debug-packed-apps --silent-debugger-extension-api --flag-switches-end. Теперь отладчик может быть вызван на элементах интерфейса, так что можно смотреть айдишники и классы нужных/ненужных элементов управления, и в простейшем случае "скрыть с глаз долой" писать им display:none!important;.
В моём случае я скрыл меню и кнопку Vivaldi (чтобы через них не было доступа к настройкам), боковую панель и меню быстрых команд (чтобы не смущали), и подвинул панель вкладок влево, на место, освободившееся после удаления кнопки.

Затем я открыл настройки (они всё ещё доступны через Alt+P), и подкрутил там так, чтобы выглядело как надо. Страница по умолчанию - наш сайт, его же открывать автоматом при запуске и на новой вкладке, убрать встроенные поисковики, ну и интерфейс по мелочи. Самое главное тут - отредактировать горячие клавиши: убрать доступ к открытию настроек (для себя можно оставить какой-нибудь неочевидный вариант) и отображению разных смущающих панелек, оставить только навигацию. Для совсем параноиков - окно настроек тоже написано на HTML, так что при желании его можно залочить через CSS.

Следующий шаг: по умолчанию vivaldi работает с профилем пользователя в %AppData%\vivaldi\User Data. Можно заставить его хранить профиль в каталоге ..\User Data (к сожалению только так, засунуть профиль в подкаталог относительно бинарника не получится): для этого рядом с vivaldi.exe нужно положить пустой файл stp.viv. Затем в ..\User Data можно скопировать любой уже имеющийся профиль.

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

Теперь можно отключить отладчик (даже если убрать в настройках горячие клавиши на его вызов, он всё равно остаётся доступен через контекстное меню). Открываем ..\User Data\Default\Preferences, там хранятся настройки в JSON (минифицированном, но разобраться можно). Находим там параметр "devtools", и в свойства к нему добавляем "disabled":false.

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

Маленький бонус: если заменить \app\%version%\resources\vivaldi\resources\icon_128.png на свою картинку, именно её Vivaldi будет использовать как иконку окна.

Итого: есть каталог, внутри которого лежит vivaldi.exe, рядом - каталоги с кишками. Весит это, конечно, здорово (порядка полутора сотен мегабайт с пустым юзерпрофилем), но нынешний веб - это не хтмлку распарсить. Тем не менее, у пользователя остаётся возможность найти изменённые файлы, и, при понимании процесса, вернуть всё взад, получив таким образом полнофункциональный браузер. Можно усложнить ему это, заодно несколько оптимизировав сборку: с помощью winrar пакуем всё в sfx-архив. Распаковку указываем во временный каталог, отключаем все сообщения и подтверждения, и указываем перезаписывать имеющиеся файлы. После упаковки получаем тот самый sitename.exe, запустив который пользователь получает (через несколько секунд невидимой распаковки, конечно) что-то вроде этого:



Думаю, примерно того же конечного результата можно бы было добиться и с помощью виртуализации, но по вышеуказанным причинам мне это не подошло.
Теперь уговариваем безопасников внести запуск sitename.exe и %tmpdir%\vivaldi.exe в белый список - и voilà, задача решена с приемлимым количеством приседаний.
pozitronik: (Yarr)
Друг мой, не знаю, замечал ли ты, или нет, но в состоянии даже лёгкого абсистентного сидрома весьма увеличивается восприимчивость организма к различного рода раздражителям. К яркому свету, резким звукам, и, конечно, к неприятным запахам.
Mon cher ami, вчерашний ассортимент безусловно прекрасных напитков не только согрел мою душу и добавил огня в мочу, но и ещё сегодня с утра привёл к легчайшей форме той самой абстиненции, о которой я упомянул чуть выше. Таким образом, перед тем, как отправиться на работу, я был вынужден технически изолировать своё сознание от всех раздражителей, как световых, так и шумовых.

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

Варёную рыбу, блять.

Какая, право, ironie du sort!
Сей морепродукт скоропостижнейше стух, наполнив атмосферу опенспейса зловоннейшими миазмами, и никакая система кондиционирования не справилась с сим l'odeur du hareng и по сию пору. Это более чем великолепное начало последней недели перед отпуском.
Надеюсь, ты простишь мне мой французский, ибо je ne me soucie pas.
pozitronik: (Sheridan)
Всем привет.
Думаю, что в кои-то веки могу уделить полчасика на попинывание трупика жежешечки, и кратенько обрисую, что у меня происходит. Не думаю, что это интересно кому-то кроме меня самого лет через пять - именно по жежешке я частенько восстаналиваю ход каких-то событий моего прошлого. С другой стороны, с функцией запечетления истории вполне справляется и привычка фотографировать всё мало-мальски интересное.

tl;dr: у меня всё круто. )
pozitronik: (Poetry ape)
В стародавние времена в одном королевстве жил да был парнишка, подмастерье деревенского кузнеца. Помогал парнишка своему мастеру в его работе, да и сам присматривался и учился. Очень уж ему это дело нравилось — и жар от раздутого мехами огня, и свет от раскалённого железа, и звон от ударов молотком по поковке. Кузнец парнишку жаловал за трудолюбие и смышлёность, все секреты кузнечные рассказывал и показывал — как сталь калить, да как лошадь успокоить перед подковкой, а как — бывает и такая нужда — той подковой по носу приложить кого в драке.
Жили они так себе, не тужили до той поры, пока не решил местный король устроить большую выставку достижений королевского хозяйства, чтоб перед соседними королевствами гордыню потешить. Кинул клич через гонцов — мол, съезжайтесь мастера в столицу, на большой праздник с ярмаркой, покажите, кто в чём хорош, да и поторгуйте заодно. А наше королевское величество сам по выставочным рядам пройдёт, да лучших мастеров отметит и наградит.
Подумал кузнец недолго, да и решил поехать: столичная ярмарка хороший барыш сулит, да и на короля посмотреть интересно. Закинул товара на телегу, ну и подмастерье с собой взял — лишняя пара рук всегда пригодится.
Читать дальше
pozitronik: (Sheridan)
Вчера утром юзеры поднимают панику: отзывчивость сервиса (самописная web-CRM на основе Yii2) упала многократно. Проверяем: CPU load на сервере уткнулся в потолок, что случилось - непонятно.
Серверное окружение, надо сказать, настроено почти никак. Стандартная связка nginx+php-fpm+mysqld, аппаратных ресурсов с запасом, всё работает, а до мало-мальского тюнинга руки просто не доходят.
top показывает, что процессорное время отжирает mysqld, так что лезу в sql processlist. Не видно ничего подозрительного, запросов много, но они отрабатываются. Висяков нет, slow_log пустой. Рестартуем сервисы - сразу после запуска нагрузка опять зашкаливает.
Сразу скажу - что это было, мы так и не уверены. Провели, что называется, комплекс мероприятий: докрутили nginx, включили кеш mysql (то, что отключён был - глупый косяк, зато не мой), вытащили темповые таблицы в memfs, поправили индексы, добавили памяти под всякие буфера, и оставили до завтра, то есть до сегодня. Было подозрение, что утром час наибольшей нагрузки, но ситуация не повторяется, что-то помогло, но неясно, что.
А пока мониторил работу sql, заметил очень странную вещь: счётчик select_full_join увеличивается очень быстро, буквально +1000/сек.
[Ликбез]
Отличие этого счётчика от нуля означает, что выполняется запрос с JOIN по неиндексированным полям. mysql вынужден каждый раз производить сканирование всей таблицы, не имеющей нужного индекса, таким образом нагрузка растёт пропорционально количеству записей в ней.
[/Ликбез]
Вместе с этим счётчиком рос в той же пропорции и счётчик created_tmp_disk_tables, очевидно потому, что временные таблицы создавались как раз из-за этих фулл джойнов. Это тоже совсем нехорошо: mysql должен запихивать временные таблицы в память, если под это выделено место, но не делает этого, если JOIN происходит по текстовому или двоичному полю. Обмануть mysql можно, отдав под tmpdir раздел в памяти, но это костыль.

Я был вполне уверен, что с индексами самых часто используемых таблиц у меня всё в порядке. Но даже один незамеченный отсутствующий индекс, помноженный на сотни тысяч обращений, мог дать описываемую ситуацию. Поэтому я включил general_log на некоторое время, убедился, что select_full_join подрос, а затем сделал
SELECT argument FROM general_log WHERE argument LIKE '%JOIN%'

и стал смотреть эти запросы с EXPLAIN.
Забегая вперёд скажу, что единственным типом запросов, не использующим индексы, стали обращения к information_schema, выглядящие примерно как
SELECT
    kcu.constraint_name,
    kcu.column_name,
    kcu.referenced_table_name,
    kcu.referenced_column_name
FROM information_schema.referential_constraints AS rc
JOIN information_schema.key_column_usage AS kcu ON [...]


Быстрый гуглинг показал, что Yii2 с какого-то времени получает схему таблиц не через SHOW COLUMNS, а вот этими запросами. Вот тебе и select_full_join; а поскольку типы полей в таблицах текстовые, то образующиеся временные таблицы создаются только на диске.

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

Решением оказывается включение кеша схемы БД в db.conf:
	'enableSchemaCache' => true,
	'schemaCacheDuration' => 0,
	'schemaCache' => 'cache',

Сразу после донастройки минимум вдвое упало количество запросов на БД, количество full_join и tmp_tables стало нулевым. Снижение нагрузки на cpu объективно оценить нельзя, но субъективно нагрузка упала (логично - убраны тысячи холостых запросов).
Единственный минус - при каждом обновлении структуры БД кеш надо сбрасывать через
php yii cache/flush-schema

но, при желании, это автоматизируется в скрипте деплоя.
pozitronik: (Sheridan)
Три года назад я купил шарманку для игры в похапе. Девайс оказался просто шикарным, к нему нет никаких претензий и по сей день, работает, как и должен. Даже шиндошс на нём ни разу с момента покупки не переставлялся, если не считать, конечно, самостоятельных апгрейдов по воздуху. 18 лет назад (а ровно 25 июня 98 года вышла Win 98) такое звучало невероятно, например. Однако же тогда за три года любой компьютер устаревал морально - за это время минимум один раз появлялись железки вдвое круче предыдущих.
А что сейчас?
Этот же самый Asus N56VB до сих пор можно купить, хотя и три года назад это была не самая новая модель. О том, что его рублёвая цена сильно выше, чем три года назад, я говорить не буду - это экстремизм и преступление (а если я совершу преступление, и не донесу на себя сам, то это будет уже два преступления, на которые мне тоже придётся доносить; таким образом уже к десятой итерации самонедоносительства у меня набегает на пожизненное).
Ну да ладно, представим, что мы ввели чит на бесконечные деньги, и попробуем найти ноутбук схожего устройства (15', металлический корпус, матовый экран) но с железками посовременее. Как минимум - с большим разрешением экрана, процессором побыстрее, и чтобы памяти хотя бы 32 гига. На самом деле, я не знаю, зачем столько памяти, мне за все три года ни разу не пришлось уткнуться в лимит из 8 гигов, но у нас же бесконечные деньги, так что пусть будет. Естественно, проводная сеть, вафля, блютуз - это минимум, необходимый для работы. Желательно - сканер отпечатков и тачскрин, но это уже как дополнительные плюсы. Ах да - джва диска (или возможность переделки в такую конфигурацию): SSD для системы и софта, HDD под данные.
Сразу же натыкаемся на отсутствие принципиально новых процессоров. Как были i7, так и сейчас i7, индексы выросли, только производительность - не очень. Памяти больше 16 Гб тоже редко где ставят, но, хотя бы, есть возможность дорастить самому.
Ну чёрт с ним, вбиваем в фильтры яндекс.маркета по одной наши хотелки. И очень быстро оказывается, что нету таких железок в принципе.
Ближе всего - одна модель ASUS ZenBook Pro UX501VW. В котором нет Ethernet, и только один SSD. И 16 гиг памяти без возможности расширения. Т.е. вещичка очень красивая и дорогая, но бесполезная.
Не знаю, зачем написал это, также как и вы не знаете, зачем читали.
pozitronik: (Sheridan)
Услышал сегодня разговор такой:
- Ахахах, наши пацаны там в гей-европке нормас местных помесили! Их полиция не то, что наш омон, ваще ни о чем! Пока месиво было, эти стояли, за щитами прятались! У нас бы давно всех отп#здили без разбору! Ух, разгулялись всласть!
- Да, да, да мы эту европку, бл#, за десять дней раскатаем! Сосать раком будут, пидоры европейские!
- Эх, а я помню меня омон как-то избил, только так по автозаку летал! Эх, весело было!
- А прикиньте, мужики, херня какая: это всё англичане спровоцировали, а выгнали наших пацанов! И въезд в страну навсегда запретили! Навсегда! А англичанам - только на два года! У-у-у, пидары европейские!
- Ну ничё, ничё, наши зато у них роз (т.е. фанатских шарфов) наотнимали! Мне пацаны обещали подогнать розу, и ещё сыру голландского!
- А чё там сборная, её ж снимут теперь?
- Ну и хер с ней, один чёрт вылетим до плей-офф, а так хоть парни погуляли!

Я слушал это, проигрывая про себя от такой неподдельной, искренней, детской гордости за быдланов, приехавших обосраться на всю Европу. А потом представлял, как некие условные Мага и Дага обсуждают тем же духом свои прогулки по Москве, и переставал проигрывать.
pozitronik: (Sheridan)
Вышла публичная бета новой версии объективно и субъективно лучшего файлового менеджера. Вот ссылка на русский форум, где есть и описание новых фич, и их обсуждение (и ссылки на скачивание, конечно).
Для себя я уже успел отметить фишку с автоматическим переключением режима просмотра в зависимости по набору правил; нечто подобное в виде плагина я писал ещё будучи студентом, а затем эту идею всячески переосмысливали и дорабатывали другие разработчики. Теперь же эта возможность интегрирована напрямую в TC, что уменьшает количество костылей.
Из остальных нравящихся и давно напрашивающихся улучшений - юникодные descript.ion и восстановление позиции прокрутки списка катлогов при выходе из подкаталога. Остальные изменения тоже норм, ну а если что-то не нравится - всё всегда можно вернуть "как было раньше", TC в плане самосовместимости практически безупречен.
pozitronik: (Унитазный котэ)
Месяц назад я нарушил правило номер девять. Это была одна маленькая вяленая рыбка, которую я привёз из последней поездки на родину. Маленькая, сухая, костлявая и хрустящая; я съел её вечером.
Утром пересохшее горло слегка першило. "Ерунда, - подумал я, - кружка горячего чая меня спасёт".
На следующее утро глотать было уже трудно. "Ерунда, - снова подумал я, - пачка граммидина, и через пару дней я буду в порядке".
Через пару дней ко всему поднялась температура. "Ерунда, - решил я, - организм борется с простудой, так и должно быть, помогу ему терафлюшкой".
Неделю я пробегал чередуя граммидин и терафлю. И аккурат к первомайским праздникам выблевал кровь говно кишки килограмм зелёных соплей. "Ура, гайморит вернулся!" - подумал я, и, согласно десятому правилу, побежал в поликлинику. Естественно, на майских праздниках там были только уборщица и охранник.
"Но я же уже болел гайморитом, знаю лечение" - решил я, и стал жрать антибиотики.
Естественно, через несколько дней я чувствовал себя вполне здоровым. Как раз до вторых майских; вместо гуляний по весенней Москве я все праздники выколачивал из носоглотки комья гноя.
В итоге я уже не решился на самостоятельную смену курса антибиотиков, и таки нашёл врача (который выписал мне ровно то, что я собирался принимать сам). Вроде бы иду на поправку.

Вообще за этот месяц я натворил много откровенной и не очень хуйни. Но виновата тут вовсе не какая-то маленькая рыбка, виноват я сам.
Буду исправлять помаленьку.
pozitronik: (Sheridan)
Буду краток: ссылка на гитхаб.

Принимаются пулл-реквесты.
pozitronik: (Sheridan)
Оригинал взят у [livejournal.com profile] cybernatic_cat в Вот так нас и хакают. BlueMail. Не вляпайтесь.
Те, у кого нет устройств с Андроидом, могут дальше не читать. Хотя, мож, оно и для других ОС существует? Anyway, моё дело предупредить.

Итак. Обычно я на своих мобильных устройствах пользовал штатный ведроидовский почтовый клиент. Он меня абсолютно устраивал для задач типа "квакнуть о том, что пришла почта, пока я был в дороге, и более или менее схематически показать её мне, когда я вылезу из машины". Потом в хозяйстве появился планшет на Android 4.4, и штатный его клиент почему-то напрочь отказался коннектиться к нашему копропротивному Exchange. Ну, тоись, он просто падал при попытке запуска. Не имея никакого желания с ним бодаться, я просто тупо вынес его, а взамен поставил MailWise. В принципе, прилично, не считая нескольких мелких недочётов. Главный из которых - оно напрочь не умеет таскать почту по POP3. Только IMAP, Exchange и ещё как-то коннектор. А поскольку у меня личный почтовый сервер свой собственный (вон в шкафу стоит), но лепить туда IMAP у меня не было никакого, опять же, желания - я решил посмотреть, чего в Google Store имеется из соответствующего. Больше всего звёзд там собрала софтина под названием BlueMail. Её я и поставил, вторым клиентом на планшет. Сконфигурил ей POP3S, SMTP + STARTTLS и приготовился радоваться.

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


Apr 26 03:41:11 mailer auth: pam_unix(dovecot:auth): authentication failure; logname= uid= euid= tty=dovecot ruser=mailuser rhost=54.174.128.247 user=mailuser
Apr 26 04:41:14 mailer auth: pam_unix(dovecot:auth): authentication failure; logname= uid= euid= tty=dovecot ruser=mailuser
rhost=54.174.128.247 user=mailuser
Apr 26 05:41:15 mailer auth: pam_unix(dovecot:auth): authentication failure; logname= uid= euid= tty=dovecot ruser=mailuser
rhost=54.174.128.247 user=mailuser
Apr 26 06:41:52 mailer auth: pam_unix(dovecot:auth): authentication failure; logname= uid= euid= tty=dovecot ruser=mailuser
rhost=54.174.128.247 user=mailuser
Apr 26 07:41:21 mailer auth: pam_unix(dovecot:auth): authentication failure; logname= uid= euid= tty=dovecot ruser=mailuser
rhost=54.174.128.247 user=mailuser
Apr 26 08:41:23 mailer auth: pam_unix(dovecot:auth): authentication failure; logname= uid= euid= tty=dovecot ruser=mailuser
rhost=54.174.128.247 user=mailuser


Итак, некий хост с айпишником 54.174.128.247 начал ровно раз в час ломиться ко мне на почтовый сервер по протоколу POP3S, предъявляя при этом неправильный пароль. Ресолвинг хоста дал полезной инфы чуть меньше, чем нихера:

# host 54.174.128.247
247.128.174.54.in-addr.arpa domain name pointer ec2-54-174-128-247.compute-1.amazonaws.com.

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

Следующим логичным шагом было включение дебаг-логов у Голубятни, с последующим изучением наловленного.
Дальше интересно только любителям чтения логов )

Итак, в случае, если пароль к почтовому ящику не содержит спецсимволов - некий хост с айпишником 54.174.128.247, принадлежащем сетке AWS, способен залогиниться на мой почтовик и молча выкачать мою личную почту. Более того: судя по логам, он должен делать это каждый час. После чего использовать вытащенную почту для каких-то целей (догадайтесь с двух раз, для каких именно). Или не использовать, это похую: я даже приблизительно не давал софтине разрешений производить такие операции. И я очень хотел бы пожать тестикулы гондонам-авторам, вкрячившим в софт такую хуйню.

Почему софтина обламывается на спецсимволах в пароле? Хер её знает. Скорее всего, писали пиздомозглые ебантяи-хипстеры или прочие подобные дырявые пидарасы, решившие срубить баблеца на общем современном пизданутом фоне "айда пиздить всё подряд, ибо теперь в тренде BigData и прочая торговля персональными данными юзеров" (как мы видим на данном примере - куда уже более персональными...) Писали, да наебались в коде, ибо знаний трендов чуть больше чем дохуя, а вот руки растут именно из того места, которое подобные персонажи используют в качестве мужского влагалища, только очень грязного. Хер знает, в общем - но в данном случае упомянутый баг оказался для меня натурально спасительным, иначе вся моя личная (и в некоторых аспектах довольно конфиденциальная) почта, объёмом в несколько лет, ещё вчера улетела бы хуй знает куда и хуй знает с какими перспективами...

Ну а BlueMail я, ессесьно, вынес нахер немедленно, вот только что. Чего и остальным советую. Да, и используйте спецсимволы в паролях, уж сколько раз твердили миру :).

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

Update, спасибо [livejournal.com profile] dalekhin: Не я первый наступил, да.

pozitronik: (Sheridan)
Здравствуйте. Я пришёл, чтобы запечатлеть на этой странице некоторый опыт, полученный во время прохождения квеста "получи военный билет". Если у вас уже есть сия заветная книжица, или же вам она не нужна по какой-то причине - этот пост будет представлять для вас только смутную литературную ценность. Однако я сам ещё некоторое время назад счёл бы нижеприведённую инструкцию весьма полезной, потому питаю надежду, что какому-то бедолаге она всё же пригодится.

Read more... )
pozitronik: (Sheridan)
Недавно снова возник интерес: а чо там с cloud.mail.ru - открыли они webdav-доступ, или нет? Стандартным приложением пользоваться очень сложно, когда требуется синхронить какие-то разрозненные данные, или, например, часть данных забирать из облака, а часть - залить туда. Да, всё возможно, но неочевидно и как-то неподконтрольно.
Нет, webdav не открыли (и вряд ли когда-нибудь откроют). Зато умельцы покопались в JS и разобрали API (пыщь хабр, например), и на гитхабе нашёлся вполне рабочий код работы с облаком, правда без поддержки копирования из. Я эту поддержку добавил (пыщь гитхаб), но это всё PHP.
А тут сама собой напрашивается идея впендюрить поддержку удалённого хранилища в файловый менеджер. Плагины для Total Commander я, в своё студенческое время, писал на дельфе пачками, пришло время вспомнить. Хотя тут были сомнения: последний раз не под веб я писал уже лет шесть назад; кажется, как раз тогда в Delphi стала появляться поддержка юникода.
На ноуте даже оказалась спираченная в незапамятные времена Delphi XE, и, само собой, код базового шаблона файлсистемного плагина TC. И знаете что? Это как кататься на велосипеде - хрен забудешь. Пальцы помнят горячие клавиши, язык вспоминается тоже моментально. Даже с тем самым юникодом разобрался прям моментально, всё сконпелялось и запустилось.
Дальше, казалось бы, просто: переписывай логику с PHP на паскаль, оформляй классом, вызывай из библиотеки и всё будет пучком. В общем-то, так и получилось, возникла пара затыков только. Первый - работа с сетью, в PHP это встроенные врапперы или всемогущий curl, в дельфи пришлось вспоминать и гуглить про Indy. Второе - это парсинг JSON; то, что в пыхе делается одной строчкой, в дельфе уже нетривиально - ибо статическая типизация. Тем не менее, всё порешалось; забегая вперёд, скажу, что всё работает как хотелось, я на следующей неделе немножко дополирую юзабилити и выложу плагин с исходниками.
Я боялся, что после многолетнего похапе-макакинга Delphi будет вызывать у меня негатив - но нет, ни фига, кодю с удовольствием. Единственное, чего я не понимаю: среда разработки (я спиратил на посмотреть новейшую версию) осталась ну вот ровно на том же уровне, где была лет семь, а то и больше, назад. Ни подсветки, ни настраиваемых хоткеев, редактор вообще бедный. Не выдерживает сравнения не то, что с божественным PHPStorm, даже какому-нибудь Eclipse сильно проигрывает.

December 2016

S M T W T F S
    123
45678910
1112131415 1617
18192021222324
25262728293031

Syndicate

RSS Atom

Style Credit

Expand Cut Tags

No cut tags
Page generated Apr. 23rd, 2025 10:35 am
Powered by Dreamwidth Studios