Что вот делать, когда жизнь тебя дичайше бьет по щеке, ты возвращаешь взгляд, смотришь как-то презрительно, зло, и, вместе с тем, с одобрением.
Я, возможно, давно и бессознательно ждал такого эффективного пинка под зад, и вот оно – время пришло. Всего лишь за пару часов мне удалось изучить все необходимо в Ruby on Rails, написать новую систему автоматизации производства, получить неиллюзорный профит от прекрасного чувства того, что вот оно – мои мозги наконец-то используются на 100%. А то, в последнее время, вместо того, чтобы думать – я в основном действую. Это уже привело к психозу лучшего друга и сказалось на картине мира.
Сейчас же, попутно просрав некоторое количество денег из-за злости и спешки, я тормознул и взялся за него – за ум. И, знаете, смотрю я сейчас на работающую систему и чувствую – вот оно, будущее.
Странно. Резкое взросление почему-то приходит не тогда, когда ты женился, родил сына, развелся, или там вдруг за что-то стал торчать бывшей жене 1.9М. Оно пришло сейчас, ибо я столкнулся действительно с тем, что раньше меня вообще никак не волновало. И это целиком взрослая проблема. Жаль, что это именно проблема, если бы у меня было счастье, которое могут чувствовать только, и только исключительно взрослые, то…. а ну его, я чувствовал и такое, но почему-то тогда не почувствовал себя взрослым. В общем вот что, вышел я, внезапно, из детства, и впал я, внезапно, в условную старость.
Помимо этого, проверил свои навыки по взлому, и сделал себе 0day уязвимость в Invision Power Board, которую я оставлю при себе… допишу позже
Спустя практически 18 часов: Продолжая упиваться собственной охуенностью и хакерством, я поехал на выставку фоток тов.Отца тов.Славика, затем употребить очередную порцию креветок, а потом туда даже подъехала Танечка, и все.. мне опять не о чем писать в блог, ибо все настолько хорошо, что у меня просто нет слов.
Хотя есть один ньюанс, ради которого и затевался сей пост. Но who cares, если можно решать такие проблемы вместе, и даже получать от этого какое-то странное удовольствие, которое я, правда, еще не испытывал?
Так как с .tel хостингом творится какая-то херота, надо все переносить вручную, платить снова, восстанавливать пароли, кому оно надо? Встречайте, chto.su/vcard – вот моя свежайшая визитка, бесплатно и без СМС. (и она, кстати, заменила абсолютно никому ненужную страницу “кто?”)
Полное название такое: Как проебать чужие ~$500, понять, что ты – некомпетентное хуйло, унизиться, болит голова, злость, ночь, все также как и есть, блядь, ярость.
Короче во франции у нас хостятся сервера, милый такой ДЦ из ESX-хостов, но есть один ньюанс – руки не доходили настроить FT или HA, за что и поплатились. Вылетел у французов свитч, а они парни такие не особо расторопные, ну и попинали хуи в течение 5 дней, и поставили его только сегодня. Все опять работает, но встал один вопрос – что с этим делать?
В середине дня, еще до того, как все это говно остановило вентилятор, я психанул и попросил французов нахуй отрубить все, взял 2 сервака на OVH и еще туда немного NASа, но не взлетело. Потратив 3 часа… нет, 5 часов на настройку всего и вся я понял, что не взлетает – слишком медленно. Надо таки iSCSI, да еще и SSDшный желательно. Но такого у OVH нет, зато есть IaaS, но от $780/мес и там все такое хилое, что текущая цена аренды у лягушатников кажется просто даром богов.
Затем пришлось французов попросить отменить отрубление всего в конце месяца, кроме одного сервака, который и так должен был пойти в расход. Взял я значит для HA самый дешевый сервачек, однако нет, к нему iSCSI не подключишь, ибо тупо нет Private Network. Блядь. 60 euro setup fee в трубу, 9 евро до конца месяца также туда же.
Пишу тикет в саппорт, мол ребят, отаке хуита, взял сервак по ошибке, давайте мы махнемся, вы мне опять отмените отмену того сервака, который я отменял уже несколько раз, а вот этот сегодняшний можете вообще забрать, а в замен вы мне iSCSI подгоните?
Хуй там.
Разрешили лишь не оплачивать свежевзятый сервак без Private Network на следующий месяц, и отключат его по окончанию текущего.
Итак, сколько же стоит опыт?
Вот именно столько стоят дебильные ошибки и дебильные действия предпринятые в состоянии аффекта, усталым и злым.
Чего-то я практически не получил фидбэка от моего окружения по поводу сочинения про волосы в жопе, видимо все подумали что я окончательно ебанулся, и я вдруг стал никому неинтересен, кроме санитаров. Ну да ладно, acceptable.
BTW, начало недели встретило меня скрученной вручную витухой, убитыми двумя часами и, внезапно, хорошей в целом погодой. А до начала недели я отлично пообщался с Ваваном, который осовоил Youtube. Вот так вот, в неполные 2 года уже ориентируется по трубе, в то время как папа научился делать это только лет в 14-15. Прогресс налицо.
В целом с наступлением солнечных и умеренно теплых дней, хорошим настроением и незамороченностью, в целом можно сказать, что весенняя депрессия, внезапно, кончилась. Все опять идет по плану и я гадаю, когда же эта стабильность мне опять надоест.
Продолжил заниматься многострадальным дипломом. Вырвался из закрытой сети предприятия через HTTP(S) внутри SOCKS5 по TCP/IP через DNS. Вот такие дела. Даже получил скорость в 15 мегабит по “несуществующему” каналу. Achievement Unlocked!
Скоро же предзащита. Покажу свои ужасные слайды с кривыми стрелками, которые выравняю к сдаче.
Тыжпрограммист! Просел у меня рейтинг на одном из трекеров. Просел жестко, да так, что меня начали анально ограничивать. Не люблю, когда так делают в отношении меня любимого. Раньше я использовал GreedyTorrent чтобы поднять себе рейтинг и держать его в разумных пределах. Но, он под Венду, и обновлялся последний раз аж в 2011. А сегодня, напомню, 2016.
Искал я, искал по гуглу такой же софт под OS X, но не нашел. Он либо платный, либо анально-платформенный. (это когда для того, чтобы запустить, поставьте себе, сука, mono или java). А вот just works out-of-the-box – нет такого.
Что ж. Раз такого софта нет, надо написать самому. Встречайте:
Да, прога со схожим функционалом, написаная для себя, в вечном духе Open-Source, кросс-платформенная и, в целом, няша. Вторая программа в жизни, которую я написал лично для себя, а не для кого-то другого.
Используется также – в любом торрент-клиенте надо настроить HTTP прокси на указанный в программе – и все, рейтинг больше страдать не будет. Приветствую Pull/Feature реквесты на GitHub.
Я не знаю, почему этот пост будет отнесен к категории “Сисадминство”, но категории “программирование” у меня тут нет. Мне просто лень открыть страницу и создать ее, распространяя хаос на этот блог. Давайте держать все организованным, хоть и не там, где надо.
Итак. Я реализую один очень интересный™ проект, и там встала проблема – скрипт загрузчика капчи надо грузить асинхронно через XMLHttpRequest, а в этом скрипте говнокод. А именно – document.write, чтобы размещали его просто в странице. Этот скрипт также вызывает уже саму капчу где, что бы вы думали? Тоже document.write!
Ну я конечно попробовал, но вот хуй там. Если раньше document.write из асинхронного запроса просто ломал DOM, то теперь нам вежливо намекают, что ты мудак:
Failed to execute ‘write’ on ‘Document’: It isn’t possible to write into a document from an asynchronously-loaded external script unless it is explicitly opened
Такие вот дела.
Что же делать? Ну первая мысль была о том, чтобы попробовать загрузить src скрипта асинхронно, поменять код и затем выполнить eval. Но нет, так нельзя, все бьется о Same-Origin-Policy.
Что же делать? А давайте вспомним величайшие возможности javascript по изменению всего и вся и переназначем функцию document.write.
Просто берем и пишем в какой-либо div-плейсхолдер. Потом из этого дива берем src (ведь тупо вставкой кода в html асинхронно-загруженный html-код скрипта не выполнится, вы же помните это), создаем новый dom-объект script, и спокойно вставляем его в шапку или куда еще.
Важно знать, что вставлять могут не только скрипты, но еще и обычный html, по-этому важно делать проверки, я лично прегмачнул.
Итого, алгоритм следующий:
Переопределить функцию document.write, чтобы она писала в какой-то скрытый div.
Запросить target-страницу с <script src=blabla> с document.write.
Вставить полученный <script src=blabla> в скрытый div.
Создать пустой DOM-элемент script, установить ему src из div->script->src
Добавить его в шапку или на страницу, он исполнится, вызывая переопреледенную document.write.
Проверить, что там пришло в измененную функцию, и в зависимости от данных делать с ними что-либо.
Вуаля! Этот уютный бложик обзавелся https://. Теперь его страницы можно смотреть, не опасаясь рекламы в московском метро и слежки спецслужб. Вместе с тем виданный cloudflare адрес находится в блэк-литсе роспидорнадзора, так что попасть на него вам стало еще сложнее.